ARM Cortex-M processor-based devices use the ARM CoreSight technology

which introduces powerful new debug and trace capabilities.

Debug features:

  • Run Control of the processor allowing you to start and stop programs
  • Single Step one source or assembler line
  • Set breakpoints while the processor is running
  • Read/write memory contents and peripheral registers on-the-fly
  • Program internal and external FLASH memory
 

Trace features:

  • Serial Wire Viewer (SWV) provides program counter (PC) sampling, data trace, event trace, and instrumentation trace information
  • Instruction (ETM) Trace streamed directly to your PC enabling debugging of historical sequences, software profiling, and code coverage analysis

The CoreSight features are available via JTAG and Serial Wire Debug interfaces using standard low-cost target connectors.

JTAG

JTAG is the industry-standard interface used to download and debug programs on a target processor,

as well as many other functions. It offers a convenient and easy way to connect to devices and is available

on all ARM processor-based devices.

The JTAG interface can be used with Cortex-M based devices to access the CoreSight debug capabilities.

Serial Wire Debug : SWD

The Serial Wire Debug (SWD) mode is an alternative to the standard JTAG interface.

It uses only two pins to provide the same debug functionality as JTAG with no performance penalty,

and introduces data trace capabilities with the Serial Wire Viewer (SWV).

The SWD interface pins can be overlaid with JTAG signals, allowing the standard target connectors to be used:

  • TCLK - SWCLK (Serial Wire Clock)
  • TMS - SWDIO (Serial Wire Data Input/Output)
  • TDO - SWO (Serial Wire Output - required for SWV)

JTAG and SWD modes are fully supported by ULINK2ULINK-ME, and ULINKpro.

Serial Wire Viewer : SWV

Cortex-M3, Cortex-M4, and Cortex-M7 based devices are able to provide high-speed data trace information

in a number of ways depending on the type of information or analysis you require.

The Serial Wire Serial (SWV) provides real-time data trace information from various sources within a Cortex-M3/M4/M7 device.

It is transmitted via the SWO pin while your system processor continues to run at full speed.

Information is available from the ITM (Instrumentation Trace Macrocell) and DWT (Data Watchpoint and Trace) units, providing:

  • PC (Program Counter) sampling
  • Event counters that show CPU cycle statistics
  • Exception and Interrupt execution with timing statistics
  • Trace data - data reads and writes used for timing analysis
  • ITM trace information used for simple printf-style debugging

SWV data trace is available via the SWO pin in two output formats:

  • UART style (1Mb/s) - supported by ULINK2 and ULINK-ME
  • Manchester encoded (100Mb/s) - supported by ULINKpro

 Note

  • Data trace via SWV is not available using the JTAG interface.
  • SWV is only available when using Serial Wire Debug mode.

Embedded Trace Macrocell

The Embedded Trace Macrocell (ETM) provides high bandwidth instruction trace

via four dedicated trace pins accessible on the 20-pin Cortex Debug + ETM connector.

This enhanced trace capability records a program's execution instruction-by-instruction which can be used for:

  • Debugging historical sequences leading up to events of interest
  • Software profiling and algorithm optimization
  • Code coverage analysis

 Note

  • ETM instruction trace is only supported by ULINKpro.
  • ETM is optionally available on Cortex-M3, Cortex-M4, and Cortex-M7 processor-based microcontrollers.
  • It is not available on Cortex-M0, M0+ and M1.

CoreSight™ Technology的更多相关文章

  1. 如何在 arm 官网上找到合适的手册

    http://infocenter.arm.com/help/advanced/help.jsp 在这里输入合适的版号即可 这样就可以不用去 CSDN 了 100000_0000_00_EN - AR ...

  2. How Will Java Technology Change My Life?

    How Will Java Technology Change My Life? We can't promise you fame, fortune, or even a job if you le ...

  3. What Can Java Technology Do?

    What Can Java Technology Do? The general-purpose(多用途的), high-level Java programming language is a po ...

  4. 【译】About the Java Technology

    About the Java Technology Java technology is both a programming language and a platform. The Java Pr ...

  5. Process Kill Technology && Process Protection Against In Linux

    目录 . 引言 . Kill Process By Kill Command && SIGNAL . Kill Process By Resource Limits . Kill Pr ...

  6. Overview and Evaluation of Bluetooth Low Energy: An Emerging Low-Power Wireless Technology

    转自:http://www.mdpi.com/1424-8220/12/9/11734/htm Sensors 2012, 12(9), 11734-11753; doi:10.3390/s12091 ...

  7. EBS Technology Codelevel Checker (ETCC)

    ETCC提供了两个脚本,用来帮助用户检测 E-Business Suite Release 12.2数据库和中间层是否安装了必须的补丁.官方强烈推荐使用. 1.checkDBpatch.sh 这个脚本 ...

  8. Toward Scalable Systems for Big Data Analytics: A Technology Tutorial (I - III)

    ABSTRACT Recent technological advancement have led to a deluge of data from distinctive domains (e.g ...

  9. iOS Technology Overview_Introduction

    关于iOS技术 iOS是运行在iPad,iPhone和iPod touch设备上的操作系统.这个操作系统管理着这些设备的硬件并且提供了实现原生APP所需的技术.这个操作系统也附带许多系统APP,例如P ...

随机推荐

  1. leaflet-velocity 参数

    本文地址: https://www.cnblogs.com/veinyin/p/10769611.html  leaflet-velocity 是 leaflet 绘制风场的一个插件,其控制参数如下所 ...

  2. 使用 scm-manager 搭建 git/svn 代码管理仓库(二)

    主要介绍scm的配置. 1.配置为在Windows服务中启动scm-manager的启动方式有多种,可以在DOS(即命令行CMD模式)中启动,也可以在Windows服务中启动. 下面我们采用Windo ...

  3. Redis持久化——RDB快照

    一.是什么? 在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里. Redis会单独创建(fork)一个子进程来进行持久化,会先将数 ...

  4. python代码在IDE下调试设置命令行参数

    带命令行参数的代码在IDE下调试,需要把参数赋值,本文mark一下具体的命令行参数在代码中赋值方法. if __name__ == "__main__": sys.argv = [ ...

  5. Quartus II 破解教程—FPGA入门教程【钛白Logic】

    这一节主要说明如何破解Quartus II 13.1.首先找到我们提供的破解工具,这里我们的电脑是64位的,所以使用64位破解器.如下图. 第一步:将破解工具拷贝到安装目录下“D:\altera\13 ...

  6. C语言内存分布

    C语言内存分布 典型的C语言程序内存表示分区共有5个部分: 正文段 Text segment 已初始化数据段(数据段)Initialized data segment 未初始化数据段(bss)Unin ...

  7. 让linux中 history显示每条命令的操作时间及操作用户【转】

    一.history 中显示日期时间用户名的办法 history 命令,用来显示命令行上的操作记录 不过默认是仅显示操作命令行本身,而没有记录操作时间等细节 例如 这样,我们查找记录时很麻烦,想回顾下某 ...

  8. WPF 颜色渐变

    转自:http://www.360doc.com/content/12/1024/14/7362094_243471690.shtml LinearGradientBrush 类:使用线性渐变绘制区域 ...

  9. knnMatch

    先马克下,回头再看:http://blog.csdn.net/zkl99999/article/details/47950425 http://blog.csdn.net/yangtrees/arti ...

  10. CentOS 6 安装chromium

    由于centos 6对C++11支持不足的缘故,目前chromium已经不再支持CentOS 6系列. 这里介绍如何在centos 6系列安装chromium. 1.添加chromium源 cd /e ...