Data Memory Barrier (DMB) ) в библиотеках CMSIS для Cortex-M3s

В определениях CMSIS для gcc вы можете найти что-то вроде этого:

static __INLINE void __DMB(void) { __ASM volatile ("dmb"); }

Мой вопрос: какой смысл имеет барьер памяти, если он не объявляет "память" в списке clobber?

Это ошибка в core_cm3.h или есть причина, по которой gcc должен вести себя правильно без какой-либо дополнительной помощи?

6
задан jpc 19 July 2011 в 17:45
поделиться