Организация памяти в микроконтроллере

Организована ли память в микроконтроллере как сегментированная или плоская модель?

Я бы сказал, что она организована как Flat Model. Однако следующая вещь смущает меня. Линкер создает сегментированные части внутри памяти (.bss, .text, .data) и ссылочные переменные внутри этих частей, используя адрес смещения, который аналогичен сегментированной модели.

1 ответ

Решение

Если цепочка компоновки создает цель, состоящую из сегментов кода (.text), данных только для чтения, инициализированных данных (.data) и неинициализированных данных (.bss), объединить их с плоской моделью памяти будет несложно. С другой стороны, такой конгломерат невозможно разделить. Поскольку части цепочки сборки обычно ориентированы на несколько платформ, они пытаются сохранить сегментированную архитектуру как можно дольше в процессе сборки.

Микропроцессоры на компьютерах под управлением ОС, которые используют сложное управление памятью.
Напротив, микроконтроллеры имеют множество периферийных возможностей и не нуждаются в ограждениях между процессами.

Кроме того, это зависит от вашего микроконтроллера, следует ли он архитектуре Гарварда или vonNeumann. С архитектурой vonNeumann вы получаете, наконец, одно плоское адресное пространство с одной памятью.

Другие вопросы по тегам