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

 
 
> RTC FIQ в LPC2148, Работает, но не долого, почему?
Seka
сообщение Sep 29 2008, 09:50
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 7-06-07
Из: Украина
Пользователь №: 28 265



Добрый день.

Имеется LPC2148 на платке и кварц 32кГц для часов.
На LPC2148 поставил пример уКОСа, в настройках порта и стека ничего не менял.
Настороил RTC на внешний кварц 32кГц.
Установил FIQ на 1 секундное прерывание RTC, и дергаю в прерывании ножкой.

После запуска, некоторое время работает, а потом в дебагере попадаю на while(1){;}
с ошибкой "EXCEPT PREFETCH ABORT" sad.gif
(пробовал делать источник 1 сек. прерыванй с TIMER0 - работает). В чем проблема?

И еще может кто подскажет насколько FIQ "тормозится" уКОСом. Следует ли как-то переделовать порт?
(требуется чтоб 1 сек. импульсы на ножеке как можно меньше "плавали").

Код
void RTC_Init(void)
{
CCR_bit.CLKEN  = 0;    // RTC_Disable
CCR_bit.CLKSRC = 1;    // External 32kHz
CCR_bit.CTCRST = CCR_bit.CTTEST = 0; // test disable and reset
AMR=0xFF;
CIIR_bit.IMSEC = 1;    // Setup 1-SEC interrupt
ILR            = 0x03; // Clear RTC interrupt
CCR_bit.CLKEN  = 1;    // RTC_Enable

VICIntSelect |= (1<<VicIntSource);
VICIntEnable |= (1<<VIC_RTC);
}

__arm void RTC_ISR(void)
{
ILR = 0x03; // Clear RTC interrupt flag

IO0DIR |= (1<<29);
if(IO0PIN & (1<<29) ) IO0CLR = (1<<29);
                  else IO0SET = (1<<29);
}

void  OS_CPU_ExceptHndlr (CPU_INT32U  except_id)
{
CPU_FNCT_VOID  pfnct;

if(except_id == OS_CPU_ARM_EXCEPT_FIQ)  // FIQ
{
  RTC_ISR();
}
else
  if(except_id == OS_CPU_ARM_EXCEPT_IRQ) // IRQ
  {
   ...
  }
  else while(1){;}  // EXCEPT PREFETCH ABORT there
}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
GetSmart
сообщение Sep 30 2008, 06:27
Сообщение #2


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(zltigo)
...
Грубиян smile.gif
Столько грубых слов в одном посте...
--------------------
А про стек FIQ верно подмечено. Если его не выделить в нужном количестве, то как раз симптомы будут похожие - какое-то время может проработать, а потом упадёт вся прога или какой-нибудь тред.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 30 2008, 06:43
Сообщение #3


Гуру
******

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



Цитата(GetSmart @ Sep 30 2008, 08:27) *
Грубиян smile.gif

Реализм sad.gif порты пишут кому не лень по принципу "работает-же". Насколько мне помнится, нормальный порт uCOS под LPC21xx не вызывающий сильно грубых слов был в проекте от AlexandrY
http://aly.ogmis.lt/OpenProjects/ADP_LPC2148/ADP_LPC.htm


--------------------
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 Текстовая версия Сейчас: 23rd July 2025 - 06:05
Рейтинг@Mail.ru


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