STM32 GPIO寄存器上的监视点

时间:2019-04-29 10:00:27

标签: stm32 gpio watchpoint

在STM32F4上使用Keil µVision,我试图将监视点添加到GPIO数据寄存器中,而这不会触发。 我希望在输出数据写入该寄存器后立即触发监视点。 将监视点设置为os定时器可以正常工作。 据我所知,外围寄存器是在STM32 F4中进行内存映射的。

我在这里缺少任何简单的解释吗? 非常感谢任何提示。

3 个答案:

答案 0 :(得分:0)

没有消息来源或个人经验,但是我可以想到一些为什么这不起作用的原因。

通常值不像RAM中那样“有”,而是在访问外设寄存器时创建的。

您可以说定期访问可以解决此问题,但这不适用于寄存器具有读取作用(通常清除一些状态标志)的寄存器。

我认为您必须为GPIO创建一个中断处理程序,并为此创建一个断点。

答案 1 :(得分:0)

虽然ARM内核可以在与SRAM或闪存相同的平面32位地址空间中访问外围I / O寄存器,但外围I / O寄存器位于MCU的单独总线中,不能由同一总线访问作为SRAM。例如,在STM32F上,有ABH总线,取决于设备,通常将其进一步分为APB1和APB2总线。在任何情况下,由ARM(“ CoreSight”)定义的调试控制器单元都具有数据观察点功能,并且仅适用于“实际”数据访问。

如果可以的话会很棒;-)

答案 2 :(得分:0)

如果有12个周期的延迟是一个问题,则有一种解决方法。使用引脚作为触发可触发内存到内存DMA传输的触发器。在目标(或源)RAM地址上设置监视点。