Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Уч. пос. МПТ (2.04.12).pdf
Скачиваний:
404
Добавлен:
22.03.2015
Размер:
10.95 Mб
Скачать

● Биты 0–4 (Mode) — код управления режимом работы микроконтроллера (раздел 1.2.1) в соответствии с таблицей 1.2.2.

1.2.4 Организация памяти

В состав системы памяти входит память программ, память данных и массив управляющих регистров.

Ядро ARM7 основано на фон-неймановской архитектуре. Это значит, что одна и та же шина используется для передачи команд и данных. Имеется единое адресное пространство для памяти программ, данных и управляющих регистров; обращение к этим областям памяти выполняется одними и теми же командами (в основном LDR и STR). Шина адреса имеет разрядность 32 бита, соответственно объем адресного пространства составляет 4 Гбайта.

Единое адресное пространство и возможность размещения частей программы в памяти данных делают неточными термины «память программ» и «память данных». Поэтому далее будем чаще называть их ПЗУ и ОЗУ.

Схема распределения памяти показана на рисунке 1.2.1. На схеме выделены области памяти данных, памяти программ, а также области портов ввода-вывода и устройств AHB и APB.

Память программ предназначена для постоянного хранения программы и используемых ей констант. Память программ представляет собой электрически перепрограммируемое ПЗУ (FLASH) объемом 512 кбайт. К

этой области относятся адреса 0x00000000–0x3FFF7FFF и 0x7FFFD000– 0x7FFFFFFF (загрузчик).

Адреса 0x00000000–0x0000003F в начальной области памяти (отделены пунктирной линией) принадлежат векторам исключительных ситуаций и прерываний. В LPC2148 из них используются первые восемь 32-разрядных ячеек с адресами 0x00000000–0x0000001С. При возникновении исключительной ситуации или прерывания управление передается команде, расположенной по одному из этих адресов. Подробнее вопросы обработки исключений рассматриваются в разделах 1.6 и 1.11. Здесь коснемся лишь ячейки с адресом 0x00000014 (Checksum). Ячейка предназначена для хранения 32-разрядной контрольной суммы остальных семи ячеек. Контрольная сумма используется процедурой начальной загрузки (раздел 1.5).

Основное назначение памяти данных — хранение переменных, создаваемых программой. Встроенная память данных является статическим ОЗУ объемом 40 кбайт, из которых 8 кбайт служат буфером для приемопередатчика USB, хотя могут использоваться и для общих целей. ОЗУ занимает адреса выше 0x40000000.

Управляющие регистры предназначенных для взаимодействия ядра с периферийными устройствами микроконтроллера и системой прерываний. Обмен данными с управляющими регистрами осуществляется через две внутренние шины: шину высокого быстродействия (AHB — Advanced Highperformance Bus) и шину периферийных устройств (APB — ARM Peripheral Bus). Через шину AHB ведется управление системой прерываний; остальные регистры подключены к шине APB. Управляющим регистрам отведены адре-

13