为M33核心外设提供原子访问的另一种方式

编程语言 2026-07-08

我在SRAM上使用LDREX和 STREX以进行原子访问,但不知道如何在外设上实现它。请您给出在Cortex-M33内核上为外设实现原子性的方法?

解决方案

您的评论指出您正在使用Renesas RA6M5。这款芯片的GPIO端口具备原子位设置/清除寄存器,允许你在不进行RMW的情况下设置位或位组,甚至可以同时对某些位进行设置、对其他位进行重置。

PCNTR3 是关注的寄存器;它宽32位,但可以被视为两个16位寄存器,分别名为 PORR(用于重置)和 POSR(用于置位)。

文档请参阅 RA6M5群组硬件用户手册 的第19.2.3节。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章