RDDIパケージを使用してCMSIS-DAPとのUSB接続について

17 Jun 2016

本日(2016/6/17)より参加させてもらう、masalalaです。よろしくお願いします。 一つ皆様にご存知でしたら御教授願いたいことがあります。 CMSIS-DAPとWindowsPCとのUSB通信を確立するためのRDDIパッケージの使用例サンプルを探しています。 「.\BX008-DA-10019-r2p0-00eac0\inckude\index.html」には、個別関数の使用例サンプルはあるのですが、 CMSIS-DAPとWindows-PCとのUSB接続を確立すまでの手順がわかりません。 C++のサンプル、もしくは、RDDIのマニュアル等のドキュメントがありましたら入手場所を教えて下さい。 よろしくお願いします。

27 Jun 2016

こんにちは。

RDDI (Remote Device Debug Interface) は、ARM の RealView ICE や DSTREAM を DS-5 等のデバッガから接続するための規格で、一般向けに公開されている情報はほとんどありません。

CMSIS-DAP なターゲットをホスト側から制御するには、pyOCD として公開しているような GDB Server を使う方法になると思います。ソースコードはこちらで公開されています。

https://github.com/mbedmicro/pyOCD

28 Jun 2016

Toyomasa Wataraiさん フォローありがとうございます。 RDDI (Remote Device Debug Interface) をDWLしましたら、.\include\rddi_dap.hと.\include\rddi_dap_cmsis.h が入っていましたので、ライブラリ「rddi-debug-rvi_2.dll」には、DAP_GetInterfaceVersion()等やCMSIS_DAP_Detect()等の関数が用意されているものだと思ったのですが全く入っていませんでした。 仕方ないので、ARMのページから「CMSIS-DAP Beta 0.01」をDWLして「CMSIS_DAP.dll」を入手したのですが、これがまた古すぎて、RDDI記載「rddi_dap.h/rddi_dap_cmsis.h」で説明している関数が全て無いのです。混乱させられています。 さらに仕方ないので「CMSIS_DAP.dll Beta0.01」でULINK2との接続テストを実施してみました。 1.RDDI_Open() 2.RDDI_GetVersion() 3.CMSIS_DAP_Detect() 4.CMSIS_DAP_Identify() 5.CMSIS_DAP_ConfigureInterface() 6.DAP_Configure() 7.DAP_Connect() 8.CMSIS_DAP_DetectNumberOfDAPs() 9.CMSIS_DAP_DetectDAPIDList() までは、正常終了したのですが、ここから先はRDDI記載「rddi_dap.h/rddi_dap_cmsis.h」通り進めることができません。(理由は、CMSIS_DAP.dllが古いためです)

そこで、ご存知でしたら御教授願いたいのですが、最新「CMSIS_DAP.dll」の入手先です。 または、最新の「DAP_xxx()/CMSIS_DAP_xxxx()」が収録された「*.dll」の入手先です。

長くなりましたが、よろしくお願い致します。

28 Jun 2016

Quote:

RDDI (Remote Device Debug Interface) をDWLしましたら、.\include\rddi_dap.hと.\include\rddi_dap_cmsis.h が入っていましたので、ライブラリ「rddi-debug-rvi_2.dll」には、DAP_GetInterfaceVersion()等やCMSIS_DAP_Detect()等の関数が用意されているものだと思ったのですが全く入っていませんでした。

前回お伝えしたように、RDDIは、ARM DSTREAM等のデバッガを制御するためのインタフェースです。CMSIS-DAP仕様でアクセスするための関数は含まれていないと思います(仮に含まれていたとしてもスコープ外だと思います)。以下は、RDDIのドキュメントからの引用です。

Quote:

RDDI provides a C interface for connecting to debug agents, e.g. ARM DSTREAM unit. The interface is implemented as a Windows DLL or Linux shared library.

「CMSIS-DAP Beta 0.01」に含まれている CMSIS_DAP.dll 関しては、mbed として配布している物では無いので、最新版などの情報は分かりません。おそらく、最新版はデバッガベンダーのみに提供されているのではないかと思います。

29 Jun 2016

Toyomasa Wataraiさん フォローありがとうございます。 最新の「CMSIS_DAP.dll」の入手は諦めます。教えて頂いた「https://github.com/mbedmicro/pyOCD」を読んでCoreSightへのアクセス手順を調べてみます。Pythonは経験なしですがコツコツと調べていきます。要はCoreSightを使用してメモリの読み書き、レジスタの読み書き、ハードブレークの設定・解除、ターゲットの実行・強制ブレークの手順さえ理解出来れば後は何とかなりますので。。。。。。 一つだけ愚痴を言わせてもらえば、本当にARMのページは情報がありすぎて迷子になってしまいます。二度と同じ場所に戻れなくなってしまうことが何回もありました。これって私だけでしょうか?慣れるしかありませんね。ARMに不慣れな私にお付き合いいただき感謝します。