« Raspberry Piに最初のログインをしてみた | トップページ | XILINX PCI Express IPの非同期クロック動作 »

2023.12.17

Raspberry Pi 5のJTAGポートを解析

Raspberry Pi 5のJTAGポートを解明しました。

Raspi5のJTAGポートはGPIOを使うのではなく、裏面にある未実装のJ15とJ19から出ています。

J15はBCM2712のJTAGポートで、ここにつなぐとCPUが見つかります。

Raspi5_jtag_1

Raspi5_jtag_detect_cpu

見つかったデバイスのJTAG IDCODE は2A03217F でした。

なお、使用したツールはMITOUJTAGです。

BCM2712のJTAGの仕様は全く分からないのですが、IRの長さは32bitであると思われます。

適当な命令を送りこむといい感じでクラッシュしてくれます。

Jtag_crash_1

ARMに対応したデバッガをつなげばCPUのプログラムをデバッグできるのかもしれません。

 

また、RP1のJTAGポートはJ19で、ここにつなぐと、

Raspi5_jtag_2

RP1と思われるデバイスが認識されました。

Raspi5_jtag_detect_rp1

IRの長さはおそらく8bitです。IDCODEは20001927であるようです。

適当なコマンドを送りこんでいると、無線LANが自分自身しか見えなくなったりしました。

Rp1_crash

JTAGで滅茶苦茶なデータを送ると何かの影響は与えているようですね。

 

さて、J15、J19からどうやって配線を取り出したかというと、J15、J19の近くにあるテストポイントから取り出しました。

Raspi5_jtag_4

ピンの割り当ては

  • TP48・・・BCM2712のTRST
  • TP49・・・BCM2712のTDI
  • TP50・・・BCM2712のTDO
  • TP51・・・BCM2712のTMS
  • TP52・・・BCM2712のTCK
  • TP53・・・RP1のTDI
  • TP54・・・RP1のTDO
  • TP55・・・RP1のTMS
  • TP56・・・RP1のTCK

でした。

I/O電圧は3.3Vで良いようです。

また、8ピンのコネクタのピン配置は左から順に ?,TRST,TDI,GND,TDO,TMS,GND,TCKです。一番左のピンが何であるかはわかりません。RTCKかもしれません。

 

|

« Raspberry Piに最初のログインをしてみた | トップページ | XILINX PCI Express IPの非同期クロック動作 »

コメント

コメントを書く



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




« Raspberry Piに最初のログインをしてみた | トップページ | XILINX PCI Express IPの非同期クロック動作 »