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

 
 
 
Reply to this topicStart new topic
> Подскажите, Low level initialisations
rat
сообщение Jun 4 2007, 08:11
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 497
Регистрация: 9-06-05
Из: Новосибирск
Пользователь №: 5 852



В Low level initialisations для SAM7X есть кусок проги:

////////////////////////////////////////////////////////////////////////////////////////////////////
// Init AIC: assign corresponding handler for each interrupt source
/////////////////////////////////////////////////////////////////////////////////////////////////////
AT91C_BASE_AIC->AIC_SVR[0] = (int) AT91F_Default_FIQ_handler ;
for (i = 1; i < 31; i++) {
AT91C_BASE_AIC->AIC_SVR[i] = (int) AT91F_Default_IRQ_handler ;
}
AT91C_BASE_AIC->AIC_SPU = (unsigned int) AT91F_Spurious_handler;

подскажите пожалуйста, где описаны AT91F_Default_FIQ_handler, AT91F_Default_IRQ_handler и AT91F_Spurious_handler, а то как-то сходу ниасилил. help.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 4 2007, 08:19
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(rat @ Jun 4 2007, 11:11) *
где описаны AT91F_Default_FIQ_handler, AT91F_Default_IRQ_handler и AT91F_Spurious_handler, а то как-то сходу ниасилил. help.gif

Ну вопрос. Откуда кто-то может знать где они описаны в неизвестном или неназванном проекте.
Ну воспользуйтесь хотя-бы поиском по имеющимся в Вашем распоряжении (в том числе Ассемблерным) текстам.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
rat
сообщение Jun 5 2007, 01:58
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 497
Регистрация: 9-06-05
Из: Новосибирск
Пользователь №: 5 852



Цитата(zltigo @ Jun 4 2007, 15:19) *
Ну вопрос. Откуда кто-то может знать где они описаны в неизвестном или неназванном проекте.
Ну воспользуйтесь хотя-бы поиском по имеющимся в Вашем распоряжении (в том числе Ассемблерным) текстам.


Прошу прощения, я тупо думал, что это общеизвестный пример из атмеловских экзамплов, видимо не угадал smile.gif Только начинаю осваивать АРМы, так что прошу по голове не бить. Пожалуйста, кому не слишком лень, разъясните. Пример examples\Atmel\SAM7XC256\AT91SAM7XBasicTools\compil\SrcIAR\cstartup_sam7.c
Вопрос: где описаны функции AT91F_Default_FIQ_handler, AT91F_Default_IRQ_handler, AT91F_Spurious_handler и, если можно, небольшое разъяснение по ним.
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Jun 5 2007, 06:25
Сообщение #4


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

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Надо себе уяснить, что это за функции. Они вызываются при ваполненинн исключительных ситуаций (из их названия можно также понять). Что система должна делать при таких ситуациях - дело начальника (программиста). Самое простое - оповестить, что такое неприятное событие произошло. Именно это и сделано в примерах Atmel. В каком либо С модуле пишется функция_ например:

void AT91F_FetchAbort()
{
printf("-F- Prefetch Abort detected\n\r");
while (1);
}
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 5 2007, 07:15
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(rat @ Jun 5 2007, 04:58) *
...я тупо думал, что это общеизвестный пример из атмеловских экзамплов, видимо не угадал smile.gif

К чему examples????
Цитата
Пример examples\Atmel\SAM7XC256\AT91SAM7XBasicTools\compil\SrcIAR\cstartup_sam7.c

То, что это примеры к IAR желающий помочь должен догадаться самостоятельно, потратив дополнительное время на поиски. Поискал, посмотрел. Повторяю совет:
Цитата
Ну воспользуйтесь хотя-бы поиском по имеющимся в Вашем распоряжении (в том числе Ассемблерным) текстам.

Воспользовался своим-же советом. Результат в лежащем рядом файле:
examples\Atmel\SAM7XC256\AT91SAM7XBasicTools\compil\SrcIAR\cstartup.s79



Цитата(sergeeff @ Jun 5 2007, 09:25) *
void AT91F_FetchAbort()

Ну, как минимум это должен быть обработчик прерывания гарантировано работающий в ARM Mode а не просто функция.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 22:52
Рейтинг@Mail.ru


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