Raspberry Pi 5 はSWDならデバッグできる
Raspberry Piの公式のフォーラムでRaspi5のJTAGについての話題を見つけました。
Raspberry Pi 5 JTAG configuration
OpenOCDを使ってJTAGデバッグできるよという内容なのですが、SWDを使っているとのこと。SWDというのはJTAGとは全く別のプロトコルでJTAGデバッグではありません。ARMのデバッグユニット(DAP)にアクセスするためのARMのデバッグ通信規格です。まぁ、世間一般にはJTAGと思われてしまっているところはあります。
で、実際にやってみると、
なんと!つながるではないですか!!!
dap info 0で情報もモリモリ出てきます。
なお、enable_jtag_gpio=1 を設定することでUARTのコネクタがSWDに変わります。
Raspi5はUARTの3pinコネクタが新たに追加されましたが、このコネクタはデフォルトではUARTですが、enable_jtag_gpio=1 を設定するとSWDに変わるというわけです。すると、UARTはどこに行ってしまうんですかね・・
うーん。BCM2712はやっぱりデバッグ機能はあるんだな~というわけです。
じゃあ、なぜJTAGでデバッグができないのかというと、BCM2712のJTAGポートから見えているデバイスがARMじゃないからなんでしょう。BCM2712のJTAGポートで見つかるデバイスのIDCODEは0x2A03217Fですが、下3桁の17FというのはBroadcomのベンダのコードです。
だから、ARMだと思ってDAPを探そうとしてもダメなのでしょう。
Raspi5のJTAGはJ15から取り出せますが、J15の左端(TP48)のピンの役割が不明でした。
もしかすると、ここをLかHに固定すればBCM2712のJTAGがARMのJTAGに切り替わるのかと思って試してみたのですが、それもだめでした。
結論を言うと、今のところ、BCM2712のJTAGにはBroadcomのIDCODEを持ったデバイスが見えていてARMではありません。IRの長さも32bitあり、ADIv5の方法ではJTAGデバッグはできませんでした。
| 固定リンク





コメント