为RK3588手工启用JTAG

因为RK3588的JTAG信号是与其它设备复用的,所以有些情况下需要手工切换和启用JTAG信号。

根据RK3588的TRM手册,关键的配置寄存器名叫BUS_IOC_GPIO4D_IOMUX_SEL_L,它的高16位是写启用位,低16位定义如下:

挥码枪的SD接头连线如下:
![](https://www.nanocode.cn/wiki/uploads/gedu_ntp_wiki/images/m_95b06dd5cfb710d65b2e9c2e5329807b_r.png)
也就是把SD的D2和D3用作JTAG(TCK、TMS),D0和D1用作串口(UART2).

因为此,在使用挥码枪调试时,BUS_IOC_GPIO4D_IOMUX_SEL_L的值应该是0x5500.Bit 8-15的两个5用来启用TCK和TMS,Bit 0-8的两个0用来选取UART2.

以下是在NDB调试器下看到的正确值。

!dd 0x0`fd5f8000+0x98
00000000`fd5f8098  00005500 00000011 00000000 00000000
00000000`fd5f80a8  00000000 00000000 00000000 00000000
00000000`fd5f80b8  00000000 00000000 00000000 00000000
00000000`fd5f80c8  00000000 00000000 00000000 00000000
00000000`fd5f80d8  00000000 00000000 00000000 00000000
00000000`fd5f80e8  00000000 00000000 00000000 00000000
00000000`fd5f80f8  00000000 00000000 00000000 00000000
00000000`fd5f8108  00000000 00009aa0 00000009 00000000
作者:Zhang Yinkui  创建时间:2024-09-23 15:29
最后编辑:Zhang Yinkui  更新时间:2024-09-23 15:43