jicheng0622

【原创】ARM Cortex-M系列的调试架构CoreSight技术简介

0
阅读(17593)

    前段时间写过一篇介绍Cortex-M4核的寄存器组的博客,算是对一些初入Cortex-M系列新手的一个知识扩展。今天继续说说关于Cortex-M那点事儿,注意这次介绍的不是其内核部分,而是ARM公司IP授权的一部分,即与内核并列的调试系统架构——CoreSight技术。

    CoreSight(内核景象)调试架构是ARM在推出Cortex之后推出来的,旨在丰富ARM产品的调试功能,功能是相当强大,呵呵。这里得插一句,可能对刚开始接触单片机做简单程序开发的人来说,调试这个概念只局限于把代码编译连接之后下到片子然后根据错误症状来判断问题再返回来重新修改,直到问题解决(我现在还偶尔这么干呢,嘿嘿,有的时候真有点懒),然而在一个系统程序相当复杂的情况下,一个功能强大的调试系统会让你解决问题事半功倍,这就是调试的好处。而像我们平时用到的设置断点、观察寄存器和内存区及监视变量等操作才真正算的上是一种调试,而Coresight的推出就是让调试更加强大,功能更加丰富,让你对单片机的调试游刃有余。

    CoreSight调试架构包含了很多调试组件即各种协议,很复杂,但是对于我们这些搞嵌入式软硬件开发的想去深入了解它没有必要,毕竟这个是开发调试软件的人干的活,咱们只是“知其然”就OK了(另外值得一提的是CoreSight技术支持JTAG协议和SW协议,其实更具体的说实际上是CoreSight是把JTAG和SW协议转换成通用的内部DAP协议,这里只是利用了JTAG和SW接口),否则开发了一年多的ARM到头来别人问到什么是CoreSight都不知道就傻眼了是吧,哈哈,所以也是我为什么在题目写了“简介”二字。下面就以图为主简单说说CoreSight架构,觉着无趣的就可以略过了,毕竟本篇就是一篇知识扩展。

 

    通过使用 CoreSight 系统 IP,嵌入式软件开发人员和 SoC 设计人员可以开发高性能的系统(软件和硬件),同时缩短开发时间和降低风险。ARM开发工具和 Keil开发工具以及全球超过 25 个其他调试和性能分析工具支持 CoreSight 产品组合(包含 ARM 嵌入式跟踪宏单元(ETM)),从而向产品开发团队保证其产品将得到广泛的支持,下图为CoreSight的一些优势:

    下图给出了Cortex-M系列的CoreSight技术的可选组件(CoreSight技术的组件是和压缩裁剪的,具体用到哪些由ARM公司更具内核的需要而定制,伸缩性较强),由于ARM官网还没有更新Cortex-M4,所以这里没有它的组件特性,不过M4和M3应该是一样一样的,呵呵:

    哈哈,本来想着简介结果又说了不少,可能本篇的受众范围比较窄,大多数人都没有耐心坚持看下去,不过反正也是知识扩展累的文章,如果让大家知道CoreSight这个名词那本篇的目的就达到了,呵呵,希望会有些人受益~

    不多说了,安了,睡觉去,未完待续~