【ARM Coresight SOC-600 -- ETF 介绍】

本文介绍了ARM Coresight SOC-600的ETF(Event Trace Fabric)寄存器,包括RRD、RRP、RWP、RWD等,详细阐述了各寄存器的功能和在不同模式下的工作原理,如Circular Buffer、Software FIFO和Hardware FIFO模式。通过这些寄存器,可以实现对追踪内存的高效读写和管理。
摘要由CSDN通过智能技术生成


请阅读【ARM Coresight SoC-400/SoC-600 专栏导读】


SOC ETF

在这里插入图片描述

SOC ETF REGISTERS

css600_tmc_etf RAM Read Data register(RRD)

  • 偏移地址:0x0010
  • 类型 Read-only

通过读取这个寄存器,可以读到位于 trace memory 中的数据,数据的位置是由 RRP register 指向的,这种通过寄存器读取trace data 的方式需要处于 CB 模式或者 SWF1模式才能进行。

当 ATB_DATA_WIDTH 是 32bit、64bit、或者128bit 的时候,ETF 中的内部RAM(FIFO)的宽度是它们的二倍:8bytes/16bytes/32bytes。

每次必须读取一个 full memory word, 可以理解为每次必须读取一个FIFO的宽度。当读取完一次full memory work 之后, RRP register 将会增加到下一个 memory word。比如当你只读2 或 4 个字节的时候 RRP的值可能并不会增加。

当 etf处于 disabled 状态或者 为空的时候,读取这个寄存器的返回值为 0xFFFFFFFF。

css600_tmc_etf RAM Read Pointer register(RRP)

  • 偏移地址:0x0014
  • 类型 Read-write

这个寄存器存放了当前应该从哪个地址读取trace data的值,需要注意的是在在开始抓取trace data 的时候需要将这个寄存器的值配置和 RWP 设置一样,通常配置为0。

css600_tmc_etf RAM Write Pointer register(RWP)

  • 偏移地址:0x0018
  • 类型 Read-write

这个寄存器用于配置向 ram 中的哪个地址中写入数据,配置后之后直接向 RWD寄存器中写就可以了。

css600_tmc_etf RAM Write Data register(RWD)

  • 偏移地址:0x0024
  • 类型 Write-only

当一个 full memory width 的数据通过 RWD 写入到 trace memory 之后,RWP的数据就会增加。所以可以通过读取 RWP寄存器中的值判断当前已经写入 RAM 中多少数据了。

css600_tmc_etf Control Register(CTL)

  • 偏移地址:0x0020
  • 类型 Read-write

用于使能 ETF,bit0 用于配置使能。

css600_tmc_etf Mode register(MODE)

  • 偏移地址:0x0028
  • 类型 Read-write

ETF 的模式配置,只有在ETF 处于 disable的状态下才能去配置MODE。

  • 0x0 CB, Circular Buffer mode. 循环向内部RAM中写入。
  • 0x1 SWF1, Software Read FIFO mod
  • 76
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

主公CodingCos

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值