This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
你这个表是从AM335x 的TRM中看到的吗?我看到AM335x TRM的最后一章即第27章描述了debug subsystem,模块的寄存器基地址是0x4B160000,从TRM的table2-1中可以查到
您好!:
这个表是从来自于ARM的《Cortex™-A8 Revision: r3p2 Technical Reference Manual》P12-6中看到的,上面说偏移为0的寄存器为Debug ID Register,因此我在CCS中将r0赋值为你提供的基地址0x4B160000,之后用LDR r0, [r0] 读取寄存器,得到的结果是0x42112902,而在P12-6中还指出可以用如下指令读取Debug ID Register MRC p14, 0, <Rd>, c0, c0, 0,得到的结果是0x15141032,显然是矛盾的,因此Debug subsystem和Debug Unit的基地址应该是不同的。
这个基地址理论上可以从DRAR(MRC p14, 0, <Rd>, c1, c0, 0) and DSAR(MRC p14, 0, <Rd>, c2, c0, 0)来读,可是我读出来都是0. 郁闷啊……
这个是在协处理CP14上的,不是在内存空间,所以不需要基地址。
我的理解,这个协处理器主要用于JTAG的调试,正如e2e上的人回复,可以使用ti的JTAG+CCS调试。
而ti的JTAG和ARM cortex-A8的一般的SOC还是有区别的,所以,这里,你直接读取可能会出错。
另外,你可以参考 http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/223624.aspx 在ti的CCS上看看CP14的寄存器。