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

 
 
> Алгоритм работы загрузчика AT91SAM9G20
koluna
сообщение Sep 20 2011, 12:44
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Здравствуйте!

Читаю даташит на AT91SAM9G20 (раздел 13. AT91SAM9G20 Boot Program) и понять не могу что конкретно должны содержать "ARM exception vectors" и нужны ли они загрузчику (кроме шестого, конечно, в нем ведь размер загружаемой откуда-либо программы)?
Инструкции перехода на процедуры обработки этих самых исключений?

В качестве примера из даташита:
Цитата
13.4.2.1 Example An example of valid vectors follows:
00 ea000006 B 0x20
04 eafffffe B 0x04
08 ea00002f B _main
0c eafffffe B 0x0c
10 eafffffe B 0x10
14 00001234 B 0x14
18 eafffffe B 0x18


Что это за жуткий прыжок на адрес "0xfffffe" во всех векторах?
Почему вектор по адресу 0x00 содержит инструкцию перехода на адрес 0x06?!
Как я понимаю, вектор по адресу 0x08 должен содержать инструкцию перехода на функцию main загрузчика?
Где можно посмотреть на реальный код загрузчика, размещаемого в Serial Flash, NAND и т. д?


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DpInRock
сообщение Sep 21 2011, 07:44
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Цитата
с ARM я мало знаком

Именно с этого надо начинать. И в самую первую очередь изучать структуру векторов.
Цитата
К сожалению компилятора пока у меня нет

Ну так никто не мешает скачать примеры у атмела.
Цитата
Я не понял, в самой программе всегда ли должны быть обработчики этих самых векторов?

Ну если вы не используете прерывания - необязательно. Я например, использую только IRQ вектор.
Таким образом, при возникновении исключения (ничем не маскируемых прерываний) программа улетает в никуда... Но лично меня это не беспокоит. Но whom how..

Цитата
Вообще, посоветуйте, пожалуйста, что можно почитать по процедуре загрузки процессора (информации в даташите мало)

Ну, даташит вполне достаточен. Просто вы не представляете структуру программы как таковую.

Я лично рекомендую скачать примеры и постараться понять их. НУ и побеспокоится о компиляторе. Я использую ИАР. В нем и примеров человеческих есть, и вообще, как-то нравится...


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post



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

 


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


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