安価で優秀なデバッグプローブはないかしら、と探したら、Raspberry Pi Debug Probeというのがあったんですが、これは3線がにゅるんと出てるだけです。
もちろんSWDなら3線を繋げばいいのではありますが、汎用的に考えるなら5x2のリボンケーブルコネクタが欲しいところ。CMSIS-DAP的ななにかです。Amazonとかでちょっと検索してみるとnanoDAPとかRVデバッガとかいくつかあるようで、いずれも2000円前後。ちゃんと使えるならそれでもよさそうなんですが、CMSIS-DAPのデバッグプローブとして認識されてRTTが動かないと組み込み的には不便で、KeilのMDKというかuVision5で使えるものを、という感じなのであります。
でもってさらにいろいろ見ていくと、Raspberry Pi Picoを使用してPicoprobeなるものを作れば、いろいろといじれるよみたいな記事を見つけました。Pico、1000円しないんですね。RP2040って、今まで興味なくてスルーしてたんですが、RaspberryPiが設計したデュアルコアのチップで、Cortex M0+でクロックは133MHzと十分に高速。264KBのSRAMとフラッシュ用のQSPIインタフェース、USB 1.1サポート、26 GPIOにSPI、I2C、UARTが各2ch、12bit ADCと16chのPWM。PicoではQSPIの外付け2MB NOR Flash。
このPicoをそのままDebug ProbeにするプロジェクトがGitHubにあるので、ここのリリースからuf2ファイルをダウンロードしてドラッグドロップで書き込み完了、となるわけです。
ここで気になるのがSWDの速度。以前に購入したJ-Link互換のPCA10056(nRF52840 DK)のデバッグプローブの部分は2Mbpsですが、RTTが結構重たいようでtarget側の処理が遅くなる時があるのと、読み書きが速くない(遅いとは言えませんが)ので4Mbps、できればもうちょい速くなるとうれしい感じです。ここで、Picoをすでに注文してしまって気づいたのですが、USB 1.1は最大12Mbpsなので10Mbpsは難しいかもですね。いやデュアルコアだからいける?
まあそのへんはおいおい見ていくとして、プロジェクトのソースがいじれるならピンアサインも変えられるよね、だったらPicoに5x2の1.27mmピッチのコネクタつければリボンケーブルで引っ張り出せそう、ということで、Amazonをみたらありました。Treedix 2PCS JTAG 開発ボード IDC ケーブル 変換アダプタ ブレイクアウトボード。同じものがAdafruitであったようですがマルツでの扱いが終了しているようで、ちょっとお高いけど2個入りみたいだしこれも購入してみることにしました。
どうせならこれをPicoに亀の子にしてやればそこそこ美しいのでは、などと考えまして、ちょろっとソースを眺めると、SWDで使用するピンは当然ながら変更できるようです。もちろん、Pico C SDKの環境構築も必要ですが、そのへんもVS Codeでできそうです。
いやしかし、i80286-10MHzのPLCCの製品を開発していた当時から考えると、このサイズで133MHzでってすごいですね。信号の周波数が20MHz超えると基板設計もすごく大変になるのですが、そのへんが全部1チップなので外部にバスが出てこないからVCCIなんかも楽でしょうし。
余談ですが、Seeed XIAO nRF52840に付属してるジャンパーピンをはんだ付けして、同じくSeeed XIAO Expansion Boardに差したら、デバッグプローブピンにちゃんと当たってないっぽい。ジャンパーピンの長さを2mmくらい切り詰めないとだめですね。
続く。
0 件のコメント:
コメントを投稿