Организация памяти в микроконтроллере
Организована ли память в микроконтроллере как сегментированная или плоская модель?
Я бы сказал, что она организована как Flat Model. Однако следующая вещь смущает меня. Линкер создает сегментированные части внутри памяти (.bss, .text, .data) и ссылочные переменные внутри этих частей, используя адрес смещения, который аналогичен сегментированной модели.
1 ответ
Если цепочка компоновки создает цель, состоящую из сегментов кода (.text), данных только для чтения, инициализированных данных (.data) и неинициализированных данных (.bss), объединить их с плоской моделью памяти будет несложно. С другой стороны, такой конгломерат невозможно разделить. Поскольку части цепочки сборки обычно ориентированы на несколько платформ, они пытаются сохранить сегментированную архитектуру как можно дольше в процессе сборки.
Микропроцессоры на компьютерах под управлением ОС, которые используют сложное управление памятью.
Напротив, микроконтроллеры имеют множество периферийных возможностей и не нуждаются в ограждениях между процессами.
Кроме того, это зависит от вашего микроконтроллера, следует ли он архитектуре Гарварда или vonNeumann. С архитектурой vonNeumann вы получаете, наконец, одно плоское адресное пространство с одной памятью.