« RasPi5のARM JTAGデバッグ命令を総当たりで探してみた | トップページ | 今年もありがとうございました »

2023.12.30

Raspberry Pi 5 はSWDならデバッグできる

Raspberry Piの公式のフォーラムでRaspi5のJTAGについての話題を見つけました。

Raspberry Pi 5 JTAG configuration

OpenOCDを使ってJTAGデバッグできるよという内容なのですが、SWDを使っているとのこと。SWDというのはJTAGとは全く別のプロトコルでJTAGデバッグではありません。ARMのデバッグユニット(DAP)にアクセスするためのARMのデバッグ通信規格です。まぁ、世間一般にはJTAGと思われてしまっているところはあります。

で、実際にやってみると、

Rp5swd1

なんと!つながるではないですか!!!

dap info 0で情報もモリモリ出てきます。

Rp5swd2

なお、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)のピンの役割が不明でした。

Raspi5_jtag_4

もしかすると、ここをLかHに固定すればBCM2712のJTAGがARMのJTAGに切り替わるのかと思って試してみたのですが、それもだめでした。

結論を言うと、今のところ、BCM2712のJTAGにはBroadcomのIDCODEを持ったデバイスが見えていてARMではありません。IRの長さも32bitあり、ADIv5の方法ではJTAGデバッグはできませんでした。

 

|

« RasPi5のARM JTAGデバッグ命令を総当たりで探してみた | トップページ | 今年もありがとうございました »

コメント

コメントを書く



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




« RasPi5のARM JTAGデバッグ命令を総当たりで探してみた | トップページ | 今年もありがとうございました »