今天在博客园上注册一个账号,打算往后好好写技术博客,原来在新浪上写过几篇,不过距离上一次写是好几个月前的事情了。
突然开始做一件事情,总是有点各种各样的缘由。一条路总有分岔的地方,或者你打算自己在路上开辟一条岔道。选择走哪条岔路也好,自己开辟一条岔道也好,如果对自己负责,似乎都需要停下来,主动搜集一下各种信息,听听其他人的看法,然后再决定以何种方式前进。幸好有些人愿意和你分享自己的看法,幸好现在搜集信息不算困难,幸好无论哪种选择都会有人支持你。
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