在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 14892|回复: 22

[原创] R8051XC2的OCDS调试接口

[复制链接]
发表于 2016-10-16 17:13:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
正在做R8051的JTAG调试器

硬件接口是基于JTAG的,控制寄存器主要是基于NEXUS标准。
对XDATA和PROGEAM空间的ACCESS还算简洁,但对core内部资源的访问还要通过51core本身运行指令

另外,标准jtag需要4个PORT也比较占用芯片pad,如果改成2pin接口就方便了
 楼主| 发表于 2016-10-16 17:15:32 | 显示全部楼层
要访问Nexus寄存器,先通过jtag的IR送入NEXUS ENABLE指令,就可访问Nexus寄存器了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-29 22:59:05 | 显示全部楼层
打算做一个Bridge把4线JTAG转成2线的,4个pin对8bit MCU来说太宝贵了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-16 09:09:50 | 显示全部楼层
R8051XC2的JTAG调试,从架构上看很像最初设计时没考虑调试模块,后来根据市场需求后加的
JTAG-OCDS对IP core资源的访问,几乎只有一个ACC寄存器,对所有的内部资源的访问都要先使用调试指令把数据先mov到ACC寄存器,然后读出。写入亦是如此。
对core外部总线是可以直接访问,bus上有master选择逻辑,所以对xdata的访问比idata的访问速度更快

虽然很多资源访问,需要间接完成,消耗时间,但对原IP的改动很小。其他无调试功能的core增加调试模块时,可参考他的做法,最大程度维持原IP的完整性。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-8 09:55:03 | 显示全部楼层
上个月刚完成S8051XC3的OCDS支持,XC3终于抛弃了XC1和XC2一直使用的Nexus了,访问效率更高

这个IP的原公司Evatronix被Cadence收购,原Evatronix的合作伙伴Cast独立做了S8051XC3
Cadence收了Evatronix之后,又出了一个简化的T8051的IP
感觉他们的关系好乱的样子
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-30 17:27:28 | 显示全部楼层
我们做了一个通用的R8051XC2的仿真器,没做eFlash适配,适合在RAM中跑程序
在flash中跑程序的,需要针对客户的interface做适配
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-30 17:31:12 | 显示全部楼层


   
welco 发表于 2020-12-21 09:41
请问R8051XC2-B可以用ulink2调试吗?


不能用ULINK2,可以用我的mLink调试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-10 20:00:10 | 显示全部楼层
jlink不行,调试协议不同,只是物理层都是jtag
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-23 16:24:15 | 显示全部楼层
OCDS没设计写入ROM的接口
原生IP只能通过PMW的方式写,但此时要求用的是RAM,也有人用RAM接口接Flash但擦除又是问题
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-29 17:56:29 | 显示全部楼层
XC2.png          IAP.png


eFlash的多路复用,做了3路,cpu,iap,icp
cpu的prog信号是给PMW用的,但并不适用于flash,只用于FPGA仿真阶段的用RAM仿真的Flash
iap是映射到用户SFR地址空间的几个寄存器,分别对应地址,数据,读写控制,ack信号拉0能阻止用户程序的执行,读写flash完成后继续执行。
现在实现了通过jtag控制IAP SFR寄存器,对flash读写擦,完成用户程序下载,优点是不破坏现有结果,缺点是速度慢

icp接口,可以接到调试模块,实现flash的擦写读,但这个没继续做,因为jtag脚位多,更倾向于单线接口
在单线接口上,把IAP和ICP都实现了,都可以用于Keil中的调试。
XC2自带的单线是Manchester编码,解码+时钟同步繁,改了个比较简洁的单线协议,增加一些通讯协商机制,提高调试灵活性
而且XC2自带的调试断点功能过于强大,以至于Keil软件只支持一小部分,也给它简化了只保留Keil支持的部分。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 ) |网站地图

GMT+8, 2025-10-20 06:22 , Processed in 0.026894 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表