ARM Cortex-M内核中ROM table的使用

本文介绍了如何利用ARM Cortex-M内核中的ROM Table来确定系统可用的调试组件。通过读取特定寄存器获取ROM表基地址,解析ROM表的entry,识别组件的偏移地址和存在状态,并通过PID和CID确定组件详细信息。
摘要由CSDN通过智能技术生成

今天在博客园上注册一个账号,打算往后好好写技术博客,原来在新浪上写过几篇,不过距离上一次写是好几个月前的事情了。

突然开始做一件事情,总是有点各种各样的缘由。一条路总有分岔的地方,或者你打算自己在路上开辟一条岔道。选择走哪条岔路也好,自己开辟一条岔道也好,如果对自己负责,似乎都需要停下来,主动搜集一下各种信息,听听其他人的看法,然后再决定以何种方式前进。幸好有些人愿意和你分享自己的看法,幸好现在搜集信息不算困难,幸好无论哪种选择都会有人支持你。


 

ROM table是ARM 系列soc必须有的一个组件,用来识别调试组件,关于它的中文资料比较少,我主要看的就是这两篇:1.ARM CORTEX M系列中ROM TABLE原理分析。2.rom table。第一篇对我理解ROM table帮助很大。

读取ROM表,确定系统可用调试组件实现流程

读取SWD-AP寄存器中偏移地址是0XF8的寄存器,读到的值为ADD,如果ADD[0]为1,则说明ADD[31:12]表明了ROM表的基地址

获得ROM表的基地址后可以按顺序读取ROM表(大小为4K)中的数据,每个ROM表最多有960个entry,entry的格式如图1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值