Суть концепции построения памяти микроконтроллеров семейства LPCxxx состоит в следующем: каждая область памяти микроконтроллера имеет свое «естественное», раз и навсегда заданное местоположение в карте памяти. Это фиксированное местоположение представляет собой адресный интервал, для которого пишется программный код, «привязанный» к выбранной области. Объем каждой такой области памяти всегда постоянен. Таким образом, пользователю не нужно писать программный код так, чтобы он мог работать сразу в нескольких различных областях памяти. Для того, чтобы создать альтернативу использованию прерываний в описанных в Табл. 2.7 различных one-
рационных режимах микроконтроллера, местоположение области векторов исключительных ситуаций процессора ARM7 (адреса от 0x0000 0000 до 0x0000 001С, как показано в Табл. 2.8), может быть программно переотображено (скопировано) на небольшую часть загрузочного блока или на небольшую часть пространства SRAM. Местоположение самого загрузочного блока также может быть переотображено. Переотображение векторной области прерываний осуществляется с помощью механизма управления памятью микроконтроллеров LPC2000 (этот механизм будет описан ниже в главе 4 «Блок управления системой»). Переотображение загрузочного блока из встроенной Flash-памяти в область старших адресов внешней памяти осуществляется способом, указанным в Табл. 2.7 (см. «режим внешнего пользователя»).
Таблица 2.7. Режимы управления памятью микроконтроллеров семейства LPC2000
Режим |
Способ активации |
Использование |
Режим загрузчика |
Аппаратная активация после любого сброса |
Загрузчик всегда выполняется после любого сброса. Векторы прерывания загрузочного блока переотображены на начало памяти, чтобы разрешать обработку ИС и использовать прерывания в ходе процесса начальной загрузки |
Режим программирования пользователем (программы пользователя) |
Программная активация загрузочным кодом |
Активизируется загрузчиком, когда сигнатура «правильной» пользовательской программы распознана в памяти и поэтому операция загрузки не вызывается. Векторы прерывания не переотображены и находятся в начале Flash-памяти |
Режим пользовательской оперативной памяти |
Программная активация пользовательской программой |
Активируется пользовательской программой. Векторы прерывания переотображены на начало статической оперативной памяти SRAM |
Режим внешнего пользователя |
На выводах ВООТ1:0нет уровней «11» при сбросе |
Активируется загрузчиком, когда на одном или обоих выводах BOOT присутстсвует НИЗКИЙ уровень в момент снятия внешнего НИЗКОГО уровня с вывода RESET. Векторы прерывания переотображены на начало карты внешней памяти. Примечание. Этот режим доступен только для микроконтроллеров, имеющих контроллер внешней памяти. |
Таблица 2.8. Местоположения векторов ИС микроконтроллеров семейства LPC2000
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |