реклама на сайте
подробности

 
 
> Таблица прерываний у SAM7
Twen
сообщение Feb 21 2012, 08:02
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 7-02-09
Пользователь №: 44 543



Добрый день. Вот появилось несколько вопросов, буду благодарен если кто-то ответит.
Как я понимаю у SAM7 есть 32 источника прерываний и 8 уровней. Прерывание происходит таким образом, мы настраиваем регистры AIC_SVR1 to AIC_SVR31 - вписываем адреса обработчиков туда, потом, когда наступит прерывание ядро читает регистр AIC_IVR в котором находится адрес текущего прерывания, проц загружает адрес у регистр команд и выполняет прогру...с этом понятно. Не понятно о системных прервываниях, они вроде всегда подк. с источнику 1 из 32, а конкретнее по поводу reset. Его не нужно инициализировать, вроде? Я думал что адрес для reset обработчика забит постоянно у первом адресе пространства программы, например я компилю программу с картой памяти у которой указан начальный адрес 0x0020 2000 , то reset должен быть по адресу 0x0020 2000, по умолчанию, я думал, так как reset это точка входа в программу? Но я откомпилил и посмотрел карту памяти но нет, reset по другому адресу...Что будет находится в первых адресах, а именно в 0x0020 2000, если говорить о ОЗУ?

Вот кусок из карты памяти:
Обработчик по адресу 0x002025f4, а сам resetVector по 0x00202000, что-то я запутался в что такое resetVector - это выходит регистр, в котором записан адрес 0x002025f4 ?

resetHandler 0x002025f4 Code Gb board_cstartup_iar.o [1]
resetVector 0x00202000 Code Gb board_cstartup_iar.o [1]

Сообщение отредактировал Twen - Feb 21 2012, 08:10
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 21:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.0133 секунд с 7
ELECTRONIX ©2004-2016