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

 
 
> Мой первы проект на LPC2148 покритекуйте, Организация IRQ прерываний
*SERG
сообщение Nov 29 2007, 10:14
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 274
Регистрация: 10-08-05
Из: Екатеринбург
Пользователь №: 7 517



Посмотрите прект. Контроллер lpc2148 программирую в кейл 3.15b. Особо интерсует правильно ли изменил Startup файл, для использования IRQ прерываний. Всё работает, но сомнения есть. Может вообще всё коряво smile.gif Скажите своё мнение smile.gif
Прикрепленные файлы
Прикрепленный файл  myNXP291107.rar ( 42.71 килобайт ) Кол-во скачиваний: 130
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Sep 8 2008, 17:29
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



В первом случае процессор переводится в режим IRQ с одновременным запретом IRQ и FIQ, во втором - запрещаются IRQ и FIQ в текущем режиме.

P.S. Давайте ссылкам вменяемые имена, если не трудно.


P.P.S. Тут я был не совсем прав:
Цитата(aaarrr @ Nov 30 2007, 13:34) *
PRESERVE8 - указывает, что в процедурах текущего файла сохраняется выравнивание стека по границе 8 байт. Нужно только для процессоров с инструкциями LDRD/STRD, ARM7 к ним не относится.

Выравнивание может требоваться также для некоторых float-библиотек.
Go to the top of the page
 
+Quote Post
sybirman
сообщение Sep 8 2008, 18:26
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 1-09-08
Из: Москва
Пользователь №: 39 928



Цитата(aaarrr @ Sep 8 2008, 21:29) *
В первом случае процессор переводится в режим IRQ с одновременным запретом IRQ и FIQ,


что-то я совсем запутался.
если происходит запрет irq, то как же тогда происходит выполнение;
Код
__irq void IRQ_Handler (void)
{
IO0CLR=1<<10;
T0TCR = 1;                                      
EXTINT=2;                                    
VICVectAddr=0;                                  
};

это кусок кода из архива в первом посте.

P.S. если нужно, то можно перенести тему в раздел для новичков, а то неудобно как-то, такие вопросы задавать в этом разделе smile.gif
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 8 2008, 18:41
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(sybirman @ Sep 8 2008, 22:26) *
что-то я совсем запутался.
если происходит запрет irq, то как же тогда происходит выполнение;

Просто потом процессор переводится в режим USER с разрешенными прерываниями:
Код
;  Enter User Mode and set its Stack Pointer
                MSR     CPSR_c, #Mode_USR


Цитата(sybirman @ Sep 8 2008, 22:26) *
P.S. если нужно, то можно перенести тему в раздел для новичков, а то неудобно как-то, такие вопросы задавать в этом разделе smile.gif

Почитайте в каком-нибудь букваре (лучше в Technical Reference Manual от ARM) о режимах работы процессора, и все встанет на свои места.
Go to the top of the page
 
+Quote Post



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

 


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


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