1、CoreSight
CoreSight是一种基础架构,它可对完整的芯片上系统 (SoC) 设计的性能进行调试、监视和优化,CoreSight™ 跟踪宏单元在 SoC 中提供全面的
非干预性可见性
。通过遵循 CoreSight 架构规范,可以方便地将合作伙伴特定的跟踪宏单元集成到 CoreSight 系统中。
ARM公司的CoreSight AHB追踪分析宏单元提供给了开发人员完整的
AMBA AHB
上行为的可见性,为调试和优化系统带来了很大的便利。
CoreSight(
内核景象
)调试架构是ARM在推出Cortex之后推出来的,旨在丰富ARM产品的调试功能,功能是相当强大
CoreSight技术支持JTAG协议和SW协议,其实更具体的说实际上是CoreSight把JTAG和SW协议转换成通用的内部
DAP协议
,
这里只是利用了JTAG和SW接口。
ARM开发工具和 Keil开发工具以及全球超过 25 个其他调试和性能分析工具支持 CoreSight 产品组合(包含 ARM 嵌入式跟踪宏单元(ETM)),
从而向产品开发团队保证其产品将得到广泛的支持。
2、ETM
---- Embedded Trace Macrocell 嵌入式跟踪宏单元
ETM 宏单元为 ARM 微处理器提供实时指令跟踪和数据跟踪。跟踪软件工具使用 ETM 生成的信息重建全部或部分程序的执行情况。
3、PTM
---- Program Trace Macrocell 程序跟踪宏单元
PTM 是一个模块,它根据程序流程跟踪 (PFT) 体系结构执行实时指令流跟踪。跟踪工具使用 PTM 生成的信息重建全部或部分程序的执行情况。
---- CTI:Cross Trigger Interface 交叉触发接口
---- ETB:Embedded Trace Buffer 嵌入式跟踪缓冲区
CoreSight ETB 是一个跟踪接收器,它可使用可配置大小的 RAM 为跟踪数据提供芯片上存储。
---- ETR:Embedded Trace Router
---- ETF:Embedded Trace FIFO
---- STM:System Trace Macrocell 系统跟踪宏单元
STM为所有软件开发人员提供了低成本的软件和硬件执行实时可见性,尤其是应用程序和内核开发人员,从而为整个供应链中支持 ARM 处理器
的设备提供了功能丰富且优化的低能耗软件。
---- TMC:Trace Memory Controller
---- TPIU:Trace Port Interface Unit
---- Funnel
---- Replicator
---- DAP:Debug Access Port 调试访问接口
Cortex-M3 的调试系统是基于ARM最新的CoreSight架构。不同于以往的ARM处理器,
内核本身不再含有JTAG接口
。取而代之的,是CPU提供
的DAP总线接口。通过这个总线接口,可以访问芯片的寄存器,也可以访问系统存储器,甚至是在内核运行的时候访问。对此总线接口的使用,
是由一个调试端口(DP)设备完成的。DPs不属于CM3内核,但它们是在芯片的内部实现的。目前可用的DPs包括SWJ-DP(既支持传统的JTAG
调试,也支持新的串行线调试协议),另一个SW-DP则去掉了对JTAG的支持。另外,也可以使用ARM CoreSight家族的JTAG-DP模块。
根据在coresight架构中的作用,这些模块大体可以分为source/link/Sink三种类型。
Source就是指一些信号或者profile/debug数据的来源,比如STM和ETM。
Sink就是指一些可以保持这些从source过来数据的模块,比如最基本的ETB,从buffer这个单词大体可以猜出一二,另外还有ETR,TPIU等等。
讲完了source和sink之后,那么link就是指用于引导从source到sink过程中的类似于通道作用的模块。当然这些通道的作用各不一样。
FUNNEL是用途将来之不同的source的数据合并,而replicator是这些合并之后的数据再一式两份,发送给不同的sink。
replicator从这个英文名称中就可以看出端倪。
下面是ARM官方文档中的一张截图,大体可以看出这些不同的模块在整个coresight架构中的作用。
CoreSight
CoreSight
CoreSight
是一种基础
架构
,它可对完整的芯片上
系统
(SoC) 设计的性能进行
调试
、监视和优化,
CoreSight
™ 跟踪宏单元在 SoC 中提供全面的非干预性可见性。
通过遵循
CoreSight
架构
规范,可以方便地将合作伙伴特定的跟踪宏单元集成到
CoreSight
系统
中ETM,嵌入式跟踪宏单元
ETM 宏单元为
ARM
微处理...
ARM
v6的
架构
手册中提到了 Debug Architecture,其中 描述了 debug 和 trace ,此时还没提出
coresight
提出
coresight
的时间 是 ?
其实
coresight
就是将其
arm
之前的 Debug Architecture 包装了一下,
其实还是包括 三个大块,对应三种功能
trace
debug
trigger
每个大块都是由更底层的
coresight
组件 构成的
这三种功能的消费者分别是
trace : 外接的 swo(用于接
自己用过的
arm
调试
器经历了四个阶段
单片机使用的
调试
器,玩stm32 过程中使用
调试
器下载程序时在网上买了个st-link 的
调试
器,windows 和 linux
系统
下都可以用。
ARM
11 做
arm
11 时开始使用jlink ,这个
调试
器应用范围广,主流的IDE 都有做插件集成他的
调试
功能,使他本身命令做成GUI的方式,对初学者更加友好,一般会用的基本不用界面
调试
,都是命令好试用下...
一、
coresight
coresight
是
ARM
公司提出的,用于对复杂的SOC,实现debug和trace的
架构
。该
架构
,包含了多个
coresight
组件。众多的
coresight
组件,构成了一个
coresight
系统
。我们也可以根据
coresight
架构
,实现自己的
coresight
组件。
每个
coresight
的组件(component),都要遵循
coresight
架构
的要求。
1、 典型的一个
coresight
的环境
以下是一个典型的
coresight
环境,包含了两个
ARM
core,一个DSP,和
coresight
是
ARM
公司提出的,用于对复杂的SOC,实现debug和trace的
架构
。该
架构
,包含了多个
coresight
组件。众多的
coresight
组件,构成了一个
coresight
系统
。我们也可以根据
coresight
架构
,实现自己的
coresight
组件。
每个
coresight
的组件(component),都要遵循
coresight
架构
的要求。
1、 典型的一个
coresight
的环境
以下是一个典型的
coresight
环境,包含了两个
ARM
core,一个DSP,和众多的cores.
前段时间写过一篇介绍Cortex-M4核的寄存器组的博客,算是对一些初入Cortex-M系列新手的一个知识扩展。今天继续说说关于Cortex-M那点事儿,注意这次介绍的不是其
内核
部分,而是
ARM
公司IP授权的一部分,即与
内核
并列
的
调试
系统
架构
——
CoreSight
技术。
CoreSight
(
内核
景象)
调试
架构
是
ARM
在推出Cortex之后推出来的,旨在丰富
ARM
产品的
调试
功能,功能是相当...
ARM
的嵌入式IDE发展:
1)SDT,英文全称
ARM
SoftWare Development Kit,是
ARM
为方便用户在
ARM
芯片进行应用软件开发而推出的一整套开发工具。
2)ADS,英文全称
ARM
Developer Suite,是
ARM
推出的新一代
ARM
集成开发环境,用来取代SDT。
3)RVDS,英文全称RealView Development Suite,是
ARM
公司...