Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ADuC70xx_K02.docx
Скачиваний:
22
Добавлен:
18.09.2019
Размер:
1.68 Mб
Скачать

Время обработки прерывания

В самом худшем случае задержка для прерывания FIQ будет состоять из следующих частей:

время, которое запрос на прерывание проходит через блок синхронизации

время выполнения инструкции (дольше всего выполняется инструкция LDM, это загрузка всех регистров включая программный счетчик PC)

время для завершения цикла обмена данными

время для вхождения в FIQ.

После всех перечисленных этапов процессор будет выполнять инструкцию по адресу 0x1C (адрес вектора прерывания FIQ). Суммарное время будет составлять максимум 50 тактов процессора, это немного меньше, чем 1.2 мкс при тактовой частоте 41.78 MHz.

Максимальная задержка выполнения прерывания IRQ вычисляется подобным образом, но нужно учитывать, что прерывание FIQ имеет более высокий приоритет и может задержать вход в подпрограмму обработки прерывания IRQ на определенное число тактов. Это время может быть уменьшено до 42 циклов, если не используется команда LDM; некоторые компиляторы позволяют отключить применение команды LDM при компиляции. Еще одна возможность – работа в режиме THUMB, при этом время уменьшается до 22 тактов.

Минимальная задержка для прерывания FIQ или IRQ составляет 5 циклов – в случае, если задержка состоит только из прохождения через синхронизатор плюс время перехода в режим прерывания.

Обратите внимание, что когда ARM7TDMI находится в привилегированном режиме, т.е. выполняет подпрограмму обработки прерывания, он всегда работает в режиме ARM (32-разрядном).

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

Микроконтроллеры семейства содержат два физически различных блока памяти: 8 КБайт статической памяти, обеспечивающее быструю запись и чтение при работе программы, и 64 КБайт памяти Flash/EE, обеспечивающей быстрое чтение, запись программного кода и констант в нескольких режимах программирования, а также медленную программную запись в режиме исполнения ранее загруженной программы.

Из 64 КБайт памяти Flash/EE два КБ содержат программный код, записанный в процессе изготовления микросхем и защищенный от доступа со стороны конечного пользователя, и 62 КБ доступны.

Карта распределения адресов в 4ГБайт адресном пространстве приведена на рис.

0xFFFFFFFF

0xFFFF0000

Регистры периферийных устройств

В состав микросхемы ADuC7019/.../28 входят два отдельных блока памяти: 8 kB ОЗУ SRAM и 64 kB памяти флэш/ЕЕ. Из памяти флэш/ЕЕ 62 kB доступны для пользователя, а оставшиеся 2 kB зарезервированы для программы загрузки. Эти два блока памяти показаны на рис. 4. Обратите внимание, что по умолчанию после загрузки память флэш/ЕЕ отображена по адресу 0x00000000. Имеется возможность отобразить по адресу 0x00000000 память ОЗУ SRAM путем сброса бита REMAP MMR. Данная функция "переадресации" памяти более подробно описана в главе "Память флэш/ЕЕ".

Не используется

0x4000FFFF

0x40000000

Диапазон 3 адресов внешней памяти

Не используется

0x3000FFFF

0x30000000

Диапазон 2 адресов внешней памяти

Не используется

0x2000FFFF

0x20000000

Диапазон 1 адресов внешней памяти

Не используется

0x1000FFFF

0x10000000

Диапазон 0 адресов внешней памяти

Не используется

0x0008FFFF

0x00080000

Флэш-память для программ/данных – Flash/EE

Не используется

0x00011FFF

0x00010000

Статическая память для программ/данных ‑SRAM

0x0000FFFF

0x00000000

Область векторов и перенаправляемый диапазон

Память процессора ADuC7019/.../28 организована по принципу littleendian (младшие части многобайтовых информационных элементов расположены по младшим адресам).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]