CoreSight™ Technology
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 ULINK2, ULINK-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的更多相关文章
- 如何在 arm 官网上找到合适的手册
http://infocenter.arm.com/help/advanced/help.jsp 在这里输入合适的版号即可 这样就可以不用去 CSDN 了 100000_0000_00_EN - AR ...
- 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 ...
- What Can Java Technology Do?
What Can Java Technology Do? The general-purpose(多用途的), high-level Java programming language is a po ...
- 【译】About the Java Technology
About the Java Technology Java technology is both a programming language and a platform. The Java Pr ...
- Process Kill Technology && Process Protection Against In Linux
目录 . 引言 . Kill Process By Kill Command && SIGNAL . Kill Process By Resource Limits . Kill Pr ...
- 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 ...
- EBS Technology Codelevel Checker (ETCC)
ETCC提供了两个脚本,用来帮助用户检测 E-Business Suite Release 12.2数据库和中间层是否安装了必须的补丁.官方强烈推荐使用. 1.checkDBpatch.sh 这个脚本 ...
- 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 ...
- iOS Technology Overview_Introduction
关于iOS技术 iOS是运行在iPad,iPhone和iPod touch设备上的操作系统.这个操作系统管理着这些设备的硬件并且提供了实现原生APP所需的技术.这个操作系统也附带许多系统APP,例如P ...
随机推荐
- Javascript - Vue - 过滤器
过滤器 输出的数据由vue对象提供,但它的数据可能需要做进一步的处理才适合展示给用户看,为此,可以在静态的Vue上定义一个过滤器对实例vue对象的data数据进行过滤处理. //调用过滤器//msg是 ...
- hibernate的多对多关联映射
在我们实际项目中,多对多的情况也时长存在,比如最常见的就是系统管理的五张表,如下面的一个结构: 在本文学习hibernate多对多关联映射的实验中我简单的写几个字段,达到学习目的即可. 1.多对多的关 ...
- RabbitMQ集群下队列存放消息的问题
RabbitMQ中队列有两种模式 1.默认 Default 2.镜像 Mirror [类似于mongoDB,从一直在通过主的操作日志来进行同步] *如果将队列定义为镜像模式,那么这个队列也将区分主从, ...
- 对linux内核中jiffies+Hz表示一秒钟的理解
jiffies在内核中是一个全局变量,它用来统计系统启动以来系统中产生的总节拍数,这个变量定义在include/linux/jiffies.h中,定义形式如下. unsigned long volat ...
- 一个无锁消息队列引发的血案(四)——月:RingQueue(上) 自旋锁
目录 (一)起因 (二)混合自旋锁 (三)q3.h 与 RingBuffer (四)RingQueue(上) 自旋锁 (五)RingQueue(中) 休眠的艺术 (六)RingQueue(中) 休眠的 ...
- tomcat -> 简介&部署
Tomcat 简介 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun和其他一些公司及个人共同开 ...
- php ++测试
2014年4月27日 12:17:47 结论暂时没有组织语言去表述,但是看看测试结果大家都会明白的 $x = 1; $y = empty($x) ? 3 : $x++; var_dump($x,$y) ...
- C# 每月第一天和最后一天
//每月第一天 - DateTime.Now.Day); //每月最后一天 var endTime=DateTime.Now.AddDays(1 - DateTime.Now.Day).AddMont ...
- tensorflow函数(2)
并行计算能让代价大的算法计算加速执行,TensorFlow也在实现上对复杂操作进行了有效的改进.大部分核相关的操作都是设备相关的实现,比如GPU.下面是一些重要的操作/核: 操作组 操作 Maths ...
- python强大的数据类型转换
# 原始的二维表数据集 jsonObj=[] # 添加模拟的数据 for i in range(1001,1004): for j in range(1,34): jsonObj.append({&q ...