Цитата(asasl @ Jan 10 2016, 09:12)

Есть проект контроллеров УД на шине CAN.
Используется Chibios c разными драйверами, их код меняется редко, практически никогда.
И есть код логики и параметров инициализации, меняющийся часто.
...
Вопрос. Можно ли как-то заставить компилятор и линковщик GCC разбивать код на две части жестко зафиксированные в EPROM?
Можно собирать константы (настройки) и, если необходимо, функции логики, в одну (или несколько) именованных секций [см. __attribute__((section("SECNAME"), used))] и размещать эти секции по определенному адресу FLASH с помощью скрипта компоновщика. При этом надо серьезно продумать, как основное (неизменяемое) тело программы получит доступ к данным и функциям в изменяемой зоне, особенно с учетом развития версий и добавления все новых и новых функциональностей.
Сообщение отредактировал KnightIgor - Jan 11 2016, 08:44