Arm 对DWT寄存器的DMA访问

Arm 对DWT寄存器的DMA访问,arm,embedded,cortex-m3,Arm,Embedded,Cortex M3,我正在思考以下问题: 是否可以通过DMA传输访问Cortex-M设备中的寄存器 我的目的是在不执行内核指令的情况下读取DWT_CPICNT寄存器的读数。来自内核调试子系统的一般描述(重点): 所有调试组件都存在于内部专用外围总线(PPB)上,可以使用特权代码访问 查看中的拓扑结构还可以清楚地看出,这些是围绕核心的调试层的内部,只有核心本身和外部调试端口具有任何访问权限 正如@LPs指出的,即使它是一个外部块,也不能保证它是一个有效的DMA目标,因为这将进一步取决于DMA控制器和SoC内的互连-只

我正在思考以下问题:

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


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

来自内核调试子系统的一般描述(重点):

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

查看中的拓扑结构还可以清楚地看出,这些是围绕核心的调试层的内部,只有核心本身和外部调试端口具有任何访问权限


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

是否在SoC手册上的DMA源表中列出DWT?您假设DMA不会中断核心?并非总是这样(一般来说,在所有平台上,都必须研究这个核心才能知道)@LPs只列出了不同的AHB/APB外围设备和内存。从这些文件中,我不认为这是可能的,也不可能的。@dwelch我把这句话改为“不在核心上运行指令”,然后你得到了答案。