Цитата(asdjkasdjkalsdjkl @ Mar 23 2007, 20:31)

оптимизация : None (best debug support)
т.е. оптимизации нет
2Andy Mozzhevilov: как я понял, у вас была обратная проблема. Т.е. во flash все работало нормально, а при отладке из RAM были глюки из-за того что переферия конфигурилась неправильно.
У меня получается наоборот, в RAM все ок, а во FLASH спонтанные резеты.
Может возникает какой-нибудь exception?
Типа Undefined instruction, Prefetch abort, Data abort...
Так проверьте.
На все вектора как минимум затычки типа:
Код
#pragma vector = 0x04
__irq __arm void undef_instr_isr(void)
{
while(1)
{
}
}
#pragma vector = 0x08
__irq __arm void swi_isr(void)
{
while(1)
{
}
}
#pragma vector = 0x0c
__irq __arm void prefetch_abort_isr(void)
{
while(1)
{
}
}
#pragma vector = 0x10
__irq __arm void data_abort_isr(void)
{
while(1)
{
}
}
Вот мой обработчик irq:
Код
typedef void (*PFNCT)(void);
void irq_isr (void)
{
PFNCT pfnct;
pfnct = (PFNCT)VICVectAddr; /* Read the interrupt vector from the VIC */
while (pfnct != (PFNCT)0) /* Handle ALL interrupting devices */
{
(*pfnct)(); /* Call ISR for interrupting device */
VICVectAddr = 0; /* update priority hardware */
pfnct = (PFNCT)VICVectAddr; /* Read the interrupt vector from the VIC */
}
}
Пасу котов...