« RXマイコンからCoreSightにSWDでアクセス | トップページ | RXマイコンでCMSIS-DAPができた! »

2014.01.19

RXマイコンで動くCMSIS-DAPを開発しています

この土日の間に、RXマイコンで動くCMSIS-DAPを開発していました。CMSIS-DAPというのは、ARMのCortexシリーズ用のUSB-JTAG/SWDデバッガのことです。ARM標準の規格なので、今後、様々な統合開発環境がサポートしてくれるでしょう。

このデバッガを作る目的は、トラ技のLPC810マイコンをデバッグする環境を整えるためです。3月号にはCMSIS-DAPの「トラ技ARMライタ」基板が付属しますが、それを待ちきれない人も多いと思います。

そこで、みなさまが既にお持ちと思われるRXマイコンボード※を使ってCMSIS-DAPを実現しようとしているわけです。

※ たとえば、特電のRaXinoや秋月のRX621ボード。Interface付録のRX62N基板。マルツで売っている青いボード。もちろんGR-SAKURAも

開発はGR-SAKURAとRXduinoライブラリを使って行っています。GR-SAKURAを使うのはマスストレージに見える機能が便利だからです。

Rxlpc810

GR-SAKURAのUSB機能はUSB仮想COMポートに固定されてしまっているので、ライブラリに手を加えて、HIDを喋れるようにしています。

作ったRXマイコンのファームウェアをGR-SAKURAに書き込んで、GR-SAKURAにLPC810をSWDで接続します。GR-SAKURAにつながっている緑の基板はRS232Cのレベルコンバータです。RS232CからCMSIS-DAPのパケット解析結果を吐き出します。

MDK-ARMからCMSIS-DAPの設定を開くと・・・

Rxcmsis_3

CMSIS-DAPのパケットアナライザのようなものができました。

最低限の機能を実装しただけですが、MDK-ARMのデバッガ設定画面の中のCMSIS-DAPの設定で、このように「RX-CMSIS-DAP」という名前のアダプタが検出されました。

Rxcmsis_4

0x0BC11477と、IDCODEが読み出せています。

次は、デバッグができるように、CMSIS-DAPの残りの機能を作っていきたいと思います。

さて、CMSIS-DAPというと、mbedやNXPさんの評価ボードで動作させることが多いと思うのですが、それらはNXPさんのアプリケーションノートAN11321を参考にして作られています。AN11321をビルドするには、MDK-ARMのProfessional版が必要になりますが、Professional版はとても高価です。また、AN11321はライセンス的にも自由にできないようです。

そういうわけで、RXマイコンを使ってゼロからフルスクラッチでCMSIS-DAPのプロトコルを実装することにしました。もちろん、AN11321のコードは一切見ずにやっています。

|

« RXマイコンからCoreSightにSWDでアクセス | トップページ | RXマイコンでCMSIS-DAPができた! »

コメント

コメントを書く



(ウェブ上には掲載しません)




« RXマイコンからCoreSightにSWDでアクセス | トップページ | RXマイコンでCMSIS-DAPができた! »