Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 8035

SDK • Re: Atomics on Pico 2

$
0
0
The ARM M3 cores on the first Pi Pico do not have any atomic support. However, the ARM M33 does and the SDK has some C functions for atomic operations.
Is the C++ std::atomic API fully supported? On Apple ARM processors, the memory model of ARM must be carefully considered when making use of atomic operations. I presume it would be the same here. The ARM docs state "All store-release operations are multi-copy atomic". So it seems that atomic operations exist and use of such operations have the same caveats as on Apple M? cores regarding the much more relaxed memory model than on Intel CPUs.
Just for the record to avoid confusions:

Pi Pico = RP2040 > ARM Cortex-M0+ > ARMv6-M architecture
Instruction set: ARMv6-M (Thumb-1 (most), Thumb-2 (some))

Pi Pico2 = RP2350 > ARM Cortex-M33 > ARMv8-M Mainline architecture
Instruction set: Thumb-1, Thumb-2, Saturated, DSP, Divide, FPU (SP), TrustZone, Co-processor

This is different family and architecture:
Apple's M2, M3 > ARMv8.6-A compatible > ARMv8.6-A architecture 64bit

Statistics: Posted by gmx — Fri Dec 06, 2024 5:11 pm



Viewing all articles
Browse latest Browse all 8035

Trending Articles