У меня есть несколько глобальных буферов, которые GCC хочет поместить в bss.К сожалению, это приведет к тому, что раздел bss превысит свой выделенный размер.Я бы предпочел не менять файл компоновщика для этой путаницы проекта (есть много причин, просто пошутите здесь).
Опасно ли перемещать переменную из .bss в .data?
Я сделал это так:
uint8_t data_queue[256] __attribute__ ((section(".data_queues")));
Затем в файле компоновщика я добавил .data_queues
в раздел .data
.Я проверил файл карты, и буфер действительно находится в разделе .data
.
Я запомнил data_queue
в 0 в начале моей программы.
Возможно ли возникновение проблемесли я сделаю это?Это ужасная идея?Есть ли лучшее решение?