这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 开中断 就跑飞

共3条 1/1 1 跳转至

开中断 就跑飞

菜鸟
2006-03-16 01:59:02     打赏

请教:开中断就跑飞
s3c44b0de板子,硬件软件以前都调好了,我拿来跑一遍程序。关中断,顺序执行都好好的;开中断就跑飞,在
rINTMSK =~(BIT_GLOBAL|BIT_EINT2);开中断代码处就跑飞了。
查中断地址,
void __irq frame_isr(void)中断函数入口地址frame_isr为0x0c00,8e80

pISR_EINT2 = (unsigned)frame_isr;
#define pISR_EINT2 (*(unsigned *) (_ISR_STARTADDRESS+0x7c))
#define _ISR_STARTADDRESS 0xc7fff00 //GCS6:64M DRAM/SDRAM
查0x0c7fff7c地址处值为0x0c00,8e80

查中断向量入口
VECTOR_BRANCH
ldr pc,=HandlerEINT0 ;mGA H/W interrupt vector table
ldr pc,=HandlerEINT1 ;
ldr pc,=HandlerEINT2 ;
反汇编:
VECTOR_BRANCH [0xe59ff0bc] ldr pc,0x0c0000e4 ; = #0x0c000438
0c000024 [0xe59ff0bc] ldr pc,0x0c0000e8 ; = #0x0c000420
0c000024 [0xe59ff0bc] ldr pc,0x0c0000ec ; = #0x0c000408
0x0c0000ec 处的值为
0x0c0000ec [0x0c000408] dcd 0x0c000408 ....

??是不是发生中断 中断向量就没有跳到中断函数执行?(用armmul软件仿真也得到上面结果)
初始化代码 就是samsung开发板源码,硬件调过的,实在搞不懂




关键词: 中断     就跑    

菜鸟
2006-03-16 21:56:00     打赏
2楼

我只是在ram里调试,也需要烧boot吗


菜鸟
2006-03-16 22:48:00     打赏
3楼

我今天又看了反汇编
b ResetHandler ;for debug
b HandlerIRQ
b HandlerFIQ
在0x0c000018处[0xea000052] b HandlerIRQ
HandlerIRQ处
[0xe24dd004] sub r13,r13,#4
[0xe92d0001] stmfd r13!,{r0}
[0xe59f0480] ldr r0,0x0c0005f8 ; = #0x0c7fff18
[0xe5900000] ldr r0,[r0,#0]
[0xe58d0004] str r0,[r13,#4]
[0xe8bd8001] ldmfd r13!,{r0,pc}

0x0c0005f8 处为[0x0c7fff18] dcd 0x0c7fff18 ....
0x0c7fff18 处为一些中断函数地址

现在我搞不懂 发生中断后 有没有跳到 b HandlerIRQ 我设置断点也没用

在ram里 调程序 需要在flash里烧写boot吗


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]