TL;DR:自旋锁=极短临界区的多核同步原语。AUTOSAR OS 提供
GetSpinlock/TryToGetSpinlock/ReleaseSpinlock,底层通常用 ARM 的LDREX/STREX + DMB + WFE/SEV实现。关键是内存序(Acquire/Release)、内存属性(Shareable/Non-cacheable)、避免在临界区做慢操作、以及不要在 ISR 中随意拿锁。
原创2025/10/29大约 7 分钟
TL;DR:自旋锁=极短临界区的多核同步原语。AUTOSAR OS 提供
GetSpinlock/TryToGetSpinlock/ReleaseSpinlock,底层通常用 ARM 的LDREX/STREX + DMB + WFE/SEV实现。关键是内存序(Acquire/Release)、内存属性(Shareable/Non-cacheable)、避免在临界区做慢操作、以及不要在 ISR 中随意拿锁。