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

 
 
 
Reply to this topicStart new topic
> AT91SAM7S256 при запуске программы из flash вылетает в Prefetch_handler, при отладке из RAM все нормально работает
Tcom
сообщение Feb 15 2010, 19:19
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 360
Регистрация: 3-01-06
Из: Украина Запорожская обл.
Пользователь №: 12 792



Здравствуйте, из-за чего может такое быть?
AT91SAM7S256 при запуске программы из flash вылетает в Prefetch_handler, при отладке из рам все нормально.
IAR 5.30.
Спасибо.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 15 2010, 19:52
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Например, неверно установлено поле FWS в регистре MC_FMR.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Tcom
сообщение Feb 15 2010, 20:10
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 360
Регистрация: 3-01-06
Из: Украина Запорожская обл.
Пользователь №: 12 792



Сейчас проверю и при отладке из рам тоже туда же уходит.

Поле FWS в регистре MC_FMR установлено в 0

Вылетает только тогда когда включаю прерывание, странно то что раньше все работало..
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 15 2010, 21:18
Сообщение #4


Гуру
******

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



Цитата(Tcom @ Feb 15 2010, 23:10) *
Сейчас проверю и при отладке из рам тоже туда же уходит.

Смотрите статусы Memory Controller'а (MC_ASR, MC_AASR) и регистры ядра.
Но с очень большой вероятностью у вас просто неправильно записан адрес в AIC.

Цитата(Tcom @ Feb 15 2010, 23:10) *
Поле FWS в регистре MC_FMR установлено в 0

Если частота больше 30МГц, там должно быть минимум 1.
Go to the top of the page
 
+Quote Post
Tcom
сообщение Feb 16 2010, 06:40
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 360
Регистрация: 3-01-06
Из: Украина Запорожская обл.
Пользователь №: 12 792



Код
void clock_init(void)
{
    unsigned int dummy;
    AT91C_BASE_AIC->AIC_IDCR = 1 << AT91C_ID_TC0;
    AT91C_BASE_TC0->TC_IDR = AT91C_TC_CPCS;
    AT91C_BASE_PMC->PMC_PCER = ( 1 <<  AT91C_ID_TC0 );
    AT91C_BASE_TC0->TC_CCR = AT91C_TC_CLKDIS;
    AT91C_BASE_TC0->TC_IDR = 0xFFFFFFFF;
    dummy = AT91C_BASE_TC0->TC_SR;
    dummy = dummy;
    AT91C_BASE_TC0->TC_CMR = 0x01;
    AT91C_BASE_TC0->TC_CCR = AT91C_TC_CLKEN;
    AT91C_BASE_AIC->AIC_IDCR =  0x1 << AT91C_ID_TC0;
BP    AT91C_BASE_AIC->AIC_SVR[AT91C_ID_TC0] = (unsigned int) timer0_c_irq_handler;                      
    AT91C_BASE_AIC->AIC_SMR[AT91C_ID_TC0] = AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL | 1;
    AT91C_BASE_AIC->AIC_ICCR =  0x1 << AT91C_ID_TC0;
    AT91C_BASE_TC0->TC_IER = AT91C_TC_CPCS;  //  IRQ enable CPC
    AT91C_BASE_AIC->AIC_IECR = 0x1 << AT91C_ID_TC0;
    AT91C_BASE_TC0->TC_CCR = AT91C_TC_SWTRG;
}


После остановки на брек поинте жму GO программа выполняется правильно и все работает, бп убираю все Prefetch_handler....
У меня 3 прерывания, так на всех если бп ставить то работает после GO.
Это уже при выполнении из RAM.

При отладке в FLASH Unable to halt ARM core....

Может с железом или процом что-то...

/* Branch to main() */
LDR r0, =?main
MOV lr, pc
BX r0
На переходе в маин по BX r0 конец фильма все рушится.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 16 2010, 07:00
Сообщение #6


Гуру
******

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



Может, частоту процессора задрали случайно?
Go to the top of the page
 
+Quote Post
Tcom
сообщение Feb 16 2010, 07:08
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 360
Регистрация: 3-01-06
Из: Украина Запорожская обл.
Пользователь №: 12 792



Железо, пропаял процессор, в раме стало все работать, с флешем сейчас разбираюсь.
Скорее всего цепи PLL, гуляла частота...
Go to the top of the page
 
+Quote Post

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

 


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


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