[CortexM--CoreSight]ARM Cortex M调试技术

来源:互联网 发布:有哪些数据开放平台 编辑:程序博客网 时间:2024/05/20 12:21

简述

嵌入式系统开发中,调试与测试是非常重要的,ARM Cortex M也针对于不同场景和需求,提供了专门的调试技术,一般在ARM Cortex M架构的IC内都会集成CoreSight模块专用于调试。像ARM 7/9/11之类的是更早一类调试技术,ARM CortexA应该有更高速的调试技术了。这些都是和应用需求(速率、系统等)相关的。

CoreSight相关技术

列表如下:

名称 详细说明 备注 JTAG 可接入IC内部CoreSight模块 协议 SWD Serial Wire Debug,和JTAG类似,只是pin脚占用要少 协议 DAP Debug Access Port,可通过JTAG或SWD接入,观察memory情况 内部模块 SWV Serial Wire Viewer,跟踪的功能,包括数据读写, 代码执行, 程序计数器状态以及log输出 SWO Serial Wire Output,使用SWD时用于输出的一根pin ITM Instrumentation Trace Macrocell, 这是一个32bit的内存地址,往该地址写数据时会从SWO(用SWD)或Trace Port(用ETM)输出该数据 Trace Port 4-bit的端口,ULINKpro调试器会通过该端口来收集ETM数据帧和SWV相关输出 ETM Embedded Trace Macrocell,可以显示所有执行指令,ULINKpro提供了ETM跟踪,ETM需要特殊的20-pin的Cortex Debug + ETM 连接器,ETM还提供Code Coverage和Performance Analysis功能 ETB Embedded Trace Buffer,ETM跟踪buffer,需要小部分内部RAM MTB Micro Trace Buffer,使用设备的内部RAM用作指令跟踪buffer Hardware Breakpoints 断点,这个调试中常见,CortexM0/M0+可多达4个,CortexM3/M4/M7可多达6个 Watchpoints CortexM框架的可多达2个,用作条件断点,比如可以监测某处内存发生改变时触发断点

调试器or仿真器

ARM官方提供的请移步至 http://www2.keil.com/mdk5/ulink

另外就是各家IC厂商,使用了ARM的IP,但是自己出了对应的调试器,这里列出比较常见些的:

  • Freescale PE-Micro
  • Nuvoton Nu-Link
  • CMSIS-DAP based adapters
  • Segger J-LINK, J-Trace
  • STMicroelectronics ST-LINK
  • TI XDS
0 0
原创粉丝点击