Ответы
-
- Спасибо! Теперь смотрите, в чем проблема - такое приведение убивает
признак volatile у DR! В IAR на максимальной оптимизации этот код
не работает. - VLLV(09.10.2020 09:00)
- Блин, да не выдумывайте проблемы на ровном месте. Всё проще пареной
репы. VladislavS.(452 знаков, 09.10.2020 09:19)
- По поводу volatile эти примеры ничего не доказывают, т.к.
неизвестна оптимизация и прочие условия. По поводу размерности -
вот брошу все и сам проверю. - VLLV(09.10.2020 09:26)
- Чего? Вы видели определение регистров процессора в заголовочных
фалах? Там стоит __IO aka volatile. И ни один компилятор не имеет
права выкинуть/оптимизировать доступ к этим регистрам на любом
уровне оптимизации. Мои примеры скомпилированы на максимальной
оптимизации в IAR. Ну это же азы эмбеддерства, даже удивительно,
что такие вещи объяснять надо. - VladislavS.(09.10.2020 10:13)
- Имею интересные впечатления от компилятора cosmic для stm8. Он
просто не обращает внимания на volatile. Это логично, учитывая, что
код генерит на манер "что вижу, то и пишу", хитрых оптимизаций нет.
Но на код "var += 2;" выдаёт "INC mem INC mem", например. Зануды
скажут "какой же это volatile!", а я скажу "ну и что, зато код
компактный получается"... - SciFi(09.10.2020 10:26)
- Наверно, Вы не знаете перевода volatile - "летучая", то она есть,
то ее нет. В вашем случае есть, в моем - нет ;) - VLLV(09.10.2020 10:22)
- Какой такой "этот код"? Прячете? Снова военная тайна? - SciFi(09.10.2020 09:05)