ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
11 мая
56376
ASugonyaev (07.04.2006 11:37, просмотров: 2176)
ADuC 7024 смертельный бой! Огромная просьба не оставьте в беде. Вот уже неделю бъюсь не могу понять как же мне заставить жто чудо работать с прерываниями. Таймера работают, порты работают, простой вызов процедуры прерывания отрабатывает, как только разрешаю прерывания от таймера - все переходит в непонятное состояние, на ресет МК точно не возвращается в процедуру IRQ не попадает. Кто подскажет куда могут деваться исполнение, где его поймать или как подловить. На симуляторе все проходит причем не только на keil но и HiTOP. До этого пытался затолкать в него тсетовый проект самого Keil - Pulse на Си с такими же результатами. Пробовал даже расколоть ядро на Undef instruction, расколоть то расколол да вот по вектору оно не пришло. Совершенно четко ясно одно что в прерывание(исключение) ядро валится, но вот куда дальше? Я ему вроде все дышло перекрыл? Код ниже, подскажите хоть какую либо наметку AD-шникии молчат к семинару готовятся. А у меня уже от недельного секса с этим девайсом палец устал на serial download давить. AREA start, CODE, AT 0x00000000 BUTTON_ADDR SET 0420h T1LD SET 0320h T1VAL SET 0324h T1CON SET 0328h T1CLRI SET 032Ch IRQEN SET 0008h FIQEN SET 0108h Mode_USR equ 10h Mode_FIQ equ 11h Mode_IRQ equ 12h Mode_SVC equ 13h Mode_ABT equ 17h Mode_UNDEF equ 1Bh Mode_SYS equ 1Fh I_Bit equ 80h /* when I bit is set, IRQ is disabled */ F_Bit equ 40h /* when F bit is set, FIQ is disabled */ POWKEY1_OFFSET equ 0404h POWCON_OFFSET equ 0408h POWKEY2_OFFSET equ 040Ch PLL_SETUP equ 1 PLLCFG_Val equ 00000001h b reset ;0 b Undef ;1 b vec_SWI_vec ;2 b PAbt ;3 b DAbt ;4 b Undef ;5 b IRQ ;6 b FIQ ;7 reset: mov r3, #-2147483648 mov r4, r3, asr #15 ; r4 = 0xFFFF0000 mov r3, r3, asr #19 ; r3 = 0xFFFFF000 mov r1, r3, asr #12 ; r1 = 0xFFFFFFFF MSR CPSR_c, #Mode_SVC;|I_Bit|F_Bit ;undefcmd: DD 0DE000001h STR r3,[r3,#460h] STRB r3,[r3,#462h] mov r5,#10h STR r5,[r4,#FIQEN] add r5,r1,#2 STR r5,[r4,#T1LD] mov r5,#2D0h sub r5,r5,#1 add r4,r4,#T1CON STRH r5,[r4,#0h] sub r4,r4,#T1CON L2: LDRB r2,[r3,#BUTTON_ADDR] ands r2,r2,#01h STREQB r1,[r3,#462h] LDR r5,[r4,#T1VAL] ands r5,r5,r5 STREQB r3,[r3,#462h] b L2 ORG 0x100 Undef: vec_SWI_vec: PAbt: DAbt: FIQ: IRQ: mov r3, #-2147483648 mov r4, r3, asr #15 ; r4 = 0xFFFF0000 mov r3, r3, asr #19 ; r3 = 0xFFFFF000 mov r1, r3, asr #12 ; r1 = 0xFFFFFFFF ;STRB r3,[r4,#T1CLRI] ;STR r3,[r4,#IRQEN] STR r3,[r3,#460h] and r1,r1,#02h STRB r1,[r3,#462h] irq_loop: b irq_loop END