Hi,
I'm using the 2.1.3.LTS ARM TI compiler with the a TI RM46, using CCS 12.4.
I want to build a performance sensitive datastructure that needs to support multiple threads (FreeRTOS).
To my understanding, I have two options to guarantee atomicity:
1. Do like the TI Hercules FreeRTOS Port, that disable ISR to create "critical section"
2. Use the C11 header `#include <atomic.h>` (that seems to be supported the RM46 core: Cortex-R4F)
To better understand the tradeoffs between those choices, I would like to better understand how the C11 atomic works inside the ARM TI compiler:
Are the Atomic Variables lock free ?
What are the cost of atomic operations when compare to disabling ISR ?
Best Regards,
Gabriel