R8051XC2的OCDS调试接口
时间:10-02
整理:3721RD
点击:
正在做R8051的JTAG调试器
硬件接口是基于JTAG的,控制寄存器主要是基于NEXUS标准。
对XDATA和PROGEAM空间的ACCESS还算简洁,但对core内部资源的访问还要通过51core本身运行指令
另外,标准jtag需要4个PORT也比较占用芯片pad,如果改成2pin接口就方便了
硬件接口是基于JTAG的,控制寄存器主要是基于NEXUS标准。
对XDATA和PROGEAM空间的ACCESS还算简洁,但对core内部资源的访问还要通过51core本身运行指令
另外,标准jtag需要4个PORT也比较占用芯片pad,如果改成2pin接口就方便了
要访问Nexus寄存器,先通过jtag的IR送入NEXUS ENABLE指令,就可访问Nexus寄存器了
打算做一个Bridge把4线JTAG转成2线的,4个pin对8bit MCU来说太宝贵了
R8051XC2的JTAG调试,从架构上看很像最初设计时没考虑调试模块,后来根据市场需求后加的
JTAG-OCDS对IP core资源的访问,几乎只有一个ACC寄存器,对所有的内部资源的访问都要先使用调试指令把数据先mov到ACC寄存器,然后读出。写入亦是如此。
对core外部总线是可以直接访问,bus上有master选择逻辑,所以对xdata的访问比idata的访问速度更快
虽然很多资源访问,需要间接完成,消耗时间,但对原IP的改动很小。其他无调试功能的core增加调试模块时,可参考他的做法,最大程度维持原IP的完整性。
太牛了!
