2.3.5. Карта памяти
Процессор Cortex-M3 является стандартизованным микроконтроллерным ядром и, поэтому, его карта памяти четко расписана. Несмотря на использование нескольких внутренних шин, адресное пространство является линейным и имеет размер 4 Гбайт.
Первые 1 Гбайт памяти разделены равномерно между областью кода программы и областью статического ОЗУ. Пространство кода программы оптимизировано для работы с шиной I-Code. Аналогично, пространство статического ОЗУ доступно через шину D-code. Несмотря на то, что в области статического ОЗУ поддерживается загрузка и исполнение инструкций, их выборка осуществляется через системную шину, что требует дополнительного состояния ожидания.
Таким образом, выполнение кода программы из статического ОЗУ будет более медленным, чем из встроенной Flash памяти, расположенной в области кода программы. Следующие 0.5 Гбайт памяти - область встроенных УВВ. В этой области находятся все предоставляемые пользователю производителем микроконтроллера УВВ. Первые 1 Мбайт в областях статического ОЗУ и УВВ являются битноадресуемыми. Для этого используется метод bit banding. Таким образом, все данные, хранящиеся в этих областях, могут обрабатываться как пословно, так и побитно. Следующие 2 Гбайт адресного пространства выделены для внешних статического ОЗУ и УВВ. Последние 0.5 Гбайт зарезервированы для системных ресурсов процессора Cortex и будущих расширений процессора Cortex. Все регистры процессора Cortex расположены по фиксированным адресам во всех Cortex-микроконтроллерах. Благодаря этому, облегчается портирование программ между различными МК STM32 и Cortex-микроконтроллерами других производителей.
Для процессора Cortex-M3 определена фиксированная карта памяти размером 4 Гбайт, в которой выделены конкретные области для хранения кода программы, статического ОЗУ, устройств ввода-вывода, внешней памяти и устройств, а также системных регистров Cortex. Данная карта памяти одинакова для всех Cortex-микроконтроллеров
|