ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
6 мая
968606 Топик полностью
Nikolay_Po (04.01.2020 00:59 - 01:04, просмотров: 203) ответил SciFi на Правильно понимаю, что переменные в main() не статические, то есть память выделяется в стеке? А памяти хватает? Может быть, стек наехал на глобальные переменные - вот и "перекрытие". Ну и про такие переменные в .map ничего не пишется - это обычное
Похоже да, спасибо! Придётся разбираться, почему не работает и будучи определено глобально? Стек по настройкам CubeMX, вроде, не меньше размеров проблемных переменных. Но и не сильно больше. Почему в *.map не пишется теперь понятно. Обидно, что с микрочиповским XC16 было больше ошибок. Например, на этапе компиляции предупреждение или даже ошибка, что стэка не хватает. А тут молча - перекрытие более чем на 50% размера.
Правильно понимаю, что переменные в main() не статические, то есть память выделяется в стеке?
Кстати, да, это объясняет, почему с оптимизацией наблюдал неадекватные залёты исполнения из-за повреждения сохранённого в стек программного счётчика.