打印
[ZLG-ARM]

LPC2138的JTAG chian 1使用的时候要注意些什么?

[复制链接]
1273|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
simon21ic|  楼主 | 2008-6-24 23:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
chain 2(EmbededICE_RT)测试的还算正常,可以读取到MCU的状态和设置,而且可以停止MCU并进入Debug模式。
但chain 1(Debug)测试发现有一些问题,第一个33为数据返回都是0,之后的数据返回的都是1,请问什么原因可能引起这个问题?和发送的指令数据有关吗?

相关帖子

沙发
simon21ic|  楼主 | 2008-6-26 05:47 | 只看该作者

找到问题,是驱动中的一个bug

但操作ms还有问题,不过原因可能已经找到了。

另外,发现Open-JTAG小组的《ARM JTAG 调试原理》中的EmbededICE-RT chian的错误:
按照扫描链 2 的格式,需要写入到扫描链 2 第序列应该为:
1,0000,0000,0000,0000,0000,0000,0011,1111,00000 
在上面这个长度为38位的序列当中, 低5位红色标识的数列是Debug Control Register的地址;
最高位蓝色标识的 1 表示对 Debug Control Register进行写操作; 中间黑色表示的 32 位是要写
入到 Debug Control Register的数据,因为 Debug Control Register长度为 6,所以只有低 6 为
的数据序列 111111 有效

而OpenOCD中的写EmbededICE-RT寄存器的代码:
static __inline__ void embeddedice_write_reg_inner(int chain_pos, int reg_addr, u32 value)
{
    u32 values[3];
    
    values[0]=value;
    values[1]=reg_addr;
    values[2]=1;
    
    jtag_add_dr_out(chain_pos, 
            3,
            embeddedice_num_bits,
            values,
            -1);
}

可见,顺序不一样

使用特权

评论回复
板凳
simon21ic|  楼主 | 2008-6-26 12:27 | 只看该作者

问题已解决

下载调试速度也还行

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

266

主题

2597

帖子

104

粉丝