【问题标题】:DMA access to DWT registers对 DWT 寄存器的 DMA 访问
【发布时间】:2016-04-13 14:33:31
【问题描述】:

我正在思考以下问题:

是否可以通过 DMA 传输访问 Cortex-M 设备中DWT unit 的寄存器?

我的目的是在不执行内核指令的情况下获取 DWT_CPICNT 寄存器的读数。

【问题讨论】:

  • DWT 是否列在 SoC 手册上的 DMA 源表中?
  • 您认为 dma 不会中断核心?并非总是如此(通常在所有平台上,都必须研究这个核心才能知道)
  • @LPs 只列出了不同的 AHB/APB 外设和内存。从文件中我不会假设它是可能的,也不是不可能的。
  • @dwelch 我将声明改写为“不在核心上运行指令”
  • 那么你得到了答案。

标签: arm embedded cortex-m3


【解决方案1】:

来自 Core 调试子系统的一般描述 elsewhere in the TRM(强调我的):

所有调试组件都存在于内部专用外设总线 (PPB) 上,并且可以使用特权代码进行访问。

查看block diagram 中的拓扑结构也很清楚,这些是围绕内核的调试层内部的,只有内核本身和外部调试端口可以访问。

正如@LPs 指出的那样,即使它一个外部块,仍然不能保证它是一个有效的 DMA 目标,因为这将进一步取决于 DMA 控制器和内部的互连SoC - 只有特定 SoC 的手册才能告诉您 DMA 可以访问什么。

【讨论】:

    猜你喜欢
    • 2021-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-08
    相关资源
    最近更新 更多