ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
4 мая
92180 Топик полностью
Charlie (21.06.2007 14:03, просмотров: 1) ответил bus16 на Можно поподробнее по проблемам с GCC?
Пролог и эпилог функций обработки прерываний генерируется неправильно (у 4.2.0 не проверял). Лечится двумя способами 1) исправленный компилятор напр. от Klen по ссылке и было обсуждение на http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/
http://www.klen.org
Электрониксе 3.10.2006 2) см ниже и пример у WinARM #define INTERRUPT_PROLOG() asm volatile("STMDB SP!,{R0-R12,LR}\n") #define INTERRUPT_EPILOG() asm volatile("LDMIA SP!,{R0-R12,LR}\nSUBS R15,R14,#0x0004\n") #define IRQ_PROC __attribute__((naked)) void _100HzHandler (void) IRQ_PROC; void _100HzHandler (void) { INTERRUPT_PROLOG(); _100Hz_Serv(); EXTINT |=0x1; VICVectAddr=0; INTERRUPT_EPILOG(); }