-
- Если я правильно понимаю то, что написано на cppreference, компилятор не может изменять порядок доступа к двум volatile, но может переставлять запись/чтение volatile и обычной переменной. йцyкeн(542 знак., 17.03.2020 15:48, ссылка)
- то что я хотел услышать, спасибо. - _Constantin24(18.03.2020 07:35)
- stm, LL драйвера написаны с использованием __STATIC_INLINE. Для настройки периферии необходимо ее отключать. Нужен ли здесь барьер? Пример: отключаем периферию - барьер - настройка - барьер - включаем периферию. - _Constantin24(17.03.2020 10:45)
- По-моему, барьеры актуальны для взрослых процов. У стм32 - начиная с CortexM7. Там ещё кеши и тому подобный геморрой. - SciFi(17.03.2020 10:47)
- Барьеры актуальны даже для AVR, если компилятор GCC. Не помнишь эпичный тред на microcontroller.net, где переупорядочивались запрет прерывания и обращение к SFR-регистру? - fk0(18.03.2020 00:47)
- сори, stm32h7. Кеши пока не используются - _Constantin24(17.03.2020 11:35)
- По-моему, барьеры актуальны для взрослых процов. У стм32 - начиная с CortexM7. Там ещё кеши и тому подобный геморрой. - SciFi(17.03.2020 10:47)
- Если я правильно понимаю то, что написано на cppreference, компилятор не может изменять порядок доступа к двум volatile, но может переставлять запись/чтение volatile и обычной переменной. йцyкeн(542 знак., 17.03.2020 15:48, ссылка)