CoreSight™技术
基于Arm Cortex-M处理器的设备使用Arm CoreSight技术,该技术引入了强大的新调试和跟踪功能(CoreSight定义提供术语表)。
调试功能:
- 运行处理器的控制,允许您启动和停止程序
- 一站式单源或组装线
- 在处理器运行时设置断点
- 即时读取/写入存储器内容和外设寄存器
- 编程内部和外部FLASH存储器
跟踪功能:
- 串行线查看器(SWV)提供程序计数器(PC)采样,数据跟踪,事件跟踪和仪器跟踪信息
- 指令(ETM)跟踪直接流式传输到您的PC,从而实现历史序列的调试,软件性能分析和代码覆盖率分析
通过使用标准低成本目标连接器的JTAG和串行线调试接口可以使用CoreSight功能。
调试和跟踪
该的μVision调试器让您完全访问的基于Cortex-M系统的调试和跟踪。您可以使用运行/停止调试或使用跟踪分析正在运行的系统。跟踪可启用其他调试视图,例如逻辑分析器,事件查看器,性能分析器,代码覆盖率和指令跟踪。这些调试视图显示了应用程序的动态行为,使您可以优化算法或识别偶发错误。
JTAG
JTAG是行业标准的接口,用于下载和调试目标处理器上的程序以及许多其他功能。它提供了连接设备的简便方法,并且在所有基于Arm处理器的设备上都可用。JTAG接口可与基于Cortex-M的设备一起使用,以访问CoreSight调试功能。
串行线调试
串行线调试(SWD)模式是标准JTAG接口的替代方法。它仅使用两个引脚即可提供与JTAG相同的调试功能,而不会降低性能,并通过串行线查看器(SWV)引入了数据跟踪功能。
在SWD接口引脚可以是覆盖有JTAG信号,从而允许标准目标连接器中使用:
- TCLK-SWCLK(串行时钟)
- TMS-SWDIO(串行数据输入/输出)
- TDO-SWO(串行线输出-SWV必需)
串行线查看器
基于Cortex-M3,Cortex-M4和Cortex-M7的设备能够根据所需信息或分析的类型,以多种方式提供高速数据跟踪信息。
的串行线串行(SWV)提供了从的Cortex-M3 / M4 / M7设备内的各种源的实时数据的跟踪信息。当系统处理器继续全速运行时,它通过SWO引脚传输。
可从ITM(仪器跟踪宏单元)和DWT(数据观察点和跟踪)单元获得信息,其中包括:
- PC(程序计数器)采样
- 显示CPU周期统计信息的事件计数器
- 具有定时统计信息的异常和中断执行
- 跟踪数据-用于时序分析的数据读取和写入
- 用于简单printf样式调试的ITM跟踪信息
可通过SWO引脚以两种输出格式使用SWV数据跟踪:
- UART样式(1Mb / s)-由ULINK2和ULINK-ME支持
- 曼彻斯特编码(100Mb / s)-ULINK pro支持
注意
- 使用JTAG接口无法通过SWV进行数据跟踪。仅当使用串行线调试模式时,SWV才可用。
嵌入式跟踪宏单元
的嵌入式跟踪宏单元(ETM)经由四个专用跟踪引脚上可访问提供高带宽指令追踪20针皮质调试+ ETM连接器。这种增强的跟踪功能按指令记录了程序的执行指令,可用于:
- 调试导致感兴趣事件的历史序列
- 软件配置和算法优化
- 代码覆盖率分析
注意
- 仅ULINK pro支持ETM指令跟踪。
- ETM 在基于Cortex-M3,Cortex-M4和Cortex-M7处理器的微控制器上是可选的。在Cortex-M0,M0 +和M1上不可用。
µVision
Keil µVision IDE和调试器通过专用窗口支持Cortex-M设备,这些窗口可显示调试信息,跟踪记录,状态更改和指令跟踪。调试,跟踪和Flash编程可以通过以下调试适配器完成:
- Keil ULINK调试适配器
- 飞思卡尔PE-Micro
- 新唐Nu-Link
- 基于CMSIS-DAP的适配器
- Segger J-LINK,J-Trace
- 意法半导体ST-LINK