28、Arm Cortex-M 处理器内存系统深度解析

Cortex-M内存系统深度剖析

Arm Cortex-M 处理器内存系统深度解析

1. 独占访问状态与异常

在 Armv8 - A 处理器家族中,中断事件会自动清除独占状态,这与之前的开放访问状态有所不同。在 Cortex - A 处理器(包括 Armv7 - A 和 Armv8 - A)中,若全局独占访问监视器对独占加载操作给出独占失败响应,可能会引发故障异常,但 Cortex - M 处理器不存在这种情况。

2. 内存排序与内存屏障指令

2.1 内存排序概念

当开发可在多种处理器上运行的便携式软件时,开发者需要深入理解内存排序概念,并掌握如何使用内存屏障解决高端处理器中的内存排序问题。

2.2 内存排序的内在函数

在 C/C++ 编程中,使用独占访问的内在函数如下表所示:
| Intrinsic | Instruction | Compatibility |
| — | — | — |
| uint8_t __LDREXB (volatile uint8_t addr) | LDREXB | Not available in Armv6 - M |
| uint16_t __LDREXH(volatile uint16_t
addr) | LDREXH | Same as above. |
| uint32_t __LDREXW(volatile uint32_t addr) | LDREX | Same as above. |
| uint32_t __STREXB(uint8_t, volatile uint8_t
addr) |

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值