|
但操作ms还有问题,不过原因可能已经找到了。<br /><br />另外,发现Open-JTAG小组的《ARM JTAG 调试原理》中的EmbededICE-RT chian的错误:<br />按照扫描链 2 的格式,需要写入到扫描链 2 第序列应该为:<br /><font color=#0000FF>1</font>,0000,0000,0000,0000,0000,0000,0011,1111,<font color=#FF0000>00000</font> <br />在上面这个长度为38位的序列当中, 低5位红色标识的数列是Debug Control Register的地址;<br />最高位蓝色标识的 1 表示对 Debug Control Register进行写操作; 中间黑色表示的 32 位是要写<br />入到 Debug Control Register的数据,因为 Debug Control Register长度为 6,所以只有低 6 为<br />的数据序列 111111 有效<br /><br />而OpenOCD中的写EmbededICE-RT寄存器的代码:<br />static __inline__ void embeddedice_write_reg_inner(int chain_pos, int reg_addr, u32 value)<br />{<br /> u32 values[3];<br /> <br /> values[0]=value;<br /> values[1]=reg_addr;<br /> values[2]=1;<br /> <br /> jtag_add_dr_out(chain_pos, <br /> 3,<br /> embeddedice_num_bits,<br /> values,<br /> -1);<br />}<br /><br />可见,顺序不一样
|