-
- И чо? Был как-то раз случАй - бы выделен сегмент Flash для
перезаписи настроек объемом 2К, объявленный как const и имеющий
инициализацию конкретными значениями. Дык без указания volatile
компилятор, сцука такая, подставлял в выражения значения констант,
известные ему на момент компиляции, совершенно пилюя на то, что эти
константы могли быть модифицированы по связи во время работы
программы. Так что задача кодера - объяснится с компилятором так,
шоб ему стало понято, шо вы от rezident(16 знак., 08.06.2021 14:37)
- +1 точно такой-же случай :-) Причем код был рабочий до тех пор, пока не перескочили на новую версию Keil с более новой версией компилятора - il-2(09.06.2021 06:27)
- +1 Тоже вляпался, причем не сразу. Добавил в структуру во флеше еще одну переменную и компилятор решил оптимизировать. Поэтому не сразу и нашел в чем дело. - Andreas(08.06.2021 15:03)
- +1. Сейчас не упомню, но, вроде, пришлось использовать volatile
const. - Nikolay_Po(08.06.2021 14:52)
- Та я тоже всех подробностей не упомню, т.к. лет 7 уже "не брал в руки шашек". Да и ваще я не программист :) - rezident(08.06.2021 15:10)
- И чо? Был как-то раз случАй - бы выделен сегмент Flash для
перезаписи настроек объемом 2К, объявленный как const и имеющий
инициализацию конкретными значениями. Дык без указания volatile
компилятор, сцука такая, подставлял в выражения значения констант,
известные ему на момент компиляции, совершенно пилюя на то, что эти
константы могли быть модифицированы по связи во время работы
программы. Так что задача кодера - объяснится с компилятором так,
шоб ему стало понято, шо вы от rezident(16 знак., 08.06.2021 14:37)