Как вставить барьер уровня уровня компилятора с помощью встроенного инструментария IAR для ARM? Эквивалент в GCC будет asm volatile ("" : : : "memory")
Как вставить барьер памяти с помощью IAR?
Слова барьер и забор отсутствуют в User Guide.
Как вставить барьер уровня уровня компилятора с помощью встроенного инструментария IAR для ARM? Эквивалент в GCC будет asm volatile ("" : : : "memory")
Как вставить барьер памяти с помощью IAR?
Слова барьер и забор отсутствуют в User Guide.
Вы можете использовать тот же встроенный ассемблер, что и в gcc, если ваши IAR-инструменты являются достаточно новыми. Чтобы получить аппаратные эффекты, вы можете попробовать поместить инструкцию DMB в встроенный оператор ассемблера или просто использовать встроенную функцию __DMB()
.
AFAIK, IAR использует компилятор GCC. –
@BasileStarynkevitch: Хороший! У них есть свой собственный компилятор! – Olaf
C11 'stdatomics' обеспечивают стандартный путь - называемые заборы. В противном случае используйте встроенные функции. Любой способ, которым вы должны тщательно выбирать, какой барьер вам нужен. – Olaf