Можно ли со встроенным набором инструментов GNU Arm изменить разделы символов по умолчанию для всего файла?
Ранее я работал с Rowley Crossworks, у которого есть параметр, который вы можете установить для любого исходного файла или папки, чтобы изменить различные разделы по умолчанию, например раздел по умолчанию для обнуленных переменных: (из Руководство по Crossworks)
Это очень полезно, чтобы убедиться, что большое приложение помещается во флэш-память и микроконтроллеры с ограниченными ресурсами ОЗУ. Однако я не могу найти способ сделать это с помощью обычного набора инструментов GNU Arm.
Я знаю, что могу использовать __attribute__((section(".sectionname")))
, но это требует модификации кода, что проблематично при компиляции одного и того же кода для разных целей, некоторые из которых могут иметь не более одного раздела.
Идеальным решением был бы параметр командной строки GCC, чтобы поместить, например, обнуленные данные в пользовательский раздел для конкретной единицы компиляции. Затем я мог применить это к определенным файлам, папкам или проектам из CMake, не внося никаких изменений в фактический исходный код. Существует ли что-то подобное?