Team for GR-PEACH Producer Meeting

CMSIS の API について

08 Jan 2015

多重割り込みでの優先度の設定を試してみていました。 Cortex-M であれば、CMSIS-CORE の NVIC_SetPriority() で優先度設定すると思いますが、undefined でコンパイルエラーになるので見ていると、Cortex-A の割り込みコントローラは NVIC ではなく GIC なので、代わりに GIC_SetPriority() が実装されているんだと気づき、これを使って、単純に SW0(IRQ5)、SW1(IRQ4) の優先度を変えられることは確認しました。

そこで気になるのが、ここってターゲットによって API 呼び分けないといけないの という点です。 コアさんのサイトには、"Cortex-M用のCMSIS対応により、「Cortex-M」のソフトウェア資産を「Cortex-A9」に移行することが可能。" とあります。

CMSIS の仕様(ARM マター)ですと言われればそれまでなのですが、http://www.keil.com/ の CMSIS のドキュメントを見ても、GIC の API については記載されていませんでしたので、RZ/A1H の CMSIS の実装方針について、中の人のご意見伺いたいです。

また、NVIC だけ気づきましたが、これ以外にも Cortex-M の CMSIS と差異があれば教えていただきたいです。 すでにまとまった情報がありましたら見落としすみません。

09 Jan 2015

調査およびご報告ありがとうございます。
差異については確認し、回答致します。
もう少しお時間ください。