3939|6

74

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

s3c2440无法进入中断函数问题 [复制链接]

我的程序也能编译链接都没有问题,就是在运行时总是无法进入中断函数中。我觉得应该是中断向量表的问题,导致程序始终无法进入中断。一般程序都是烧到0x30000000地址下,而中断一般都是跳到0x0处,它怎么进入中断处理函数呢?
哪位能帮帮我,不胜感激。
我的板子是QQ2440V3,用的是RealView MDK

最新回复

中断向量表的位置要对啊。   详情 回复 发表于 2009-10-9 22:47
点赞 关注

回复
举报

81

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
1。检查代码中断入口地址是否正确,参考DATASHEET。
2。设定优先级。
3。检查中断是否嵌套(一般不支持)。
4。别的中断服务函数结束后,使能你需要的中断函数(一般地,任何一个中断发生后,禁止其余中断)。
5。检查别的中断服务函数是否占用太多时间,一般中断服务函数最多8条语句。设置标志后,退出。主函数处理中断需要服务的内容。
6. 中断结束前,恢复现场。
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
看看INTMSK,INTSUBMSK
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

4
 
上面我都检查过没问题的
我感觉是MMU映射到问题,但是看了MMU的初始化代码发现它的虚拟地址跟实际物理地址一样,很是奇怪,下面是部分代码。

     MMU_SetMTT(0x00000000,0x07f00000,0x00000000,RW_CNB);  //bank0
    MMU_SetMTT(0x08000000,0x0ff00000,0x08000000,RW_CNB);  //bank1
    MMU_SetMTT(0x10000000,0x17f00000,0x10000000,RW_NCNB); //bank2
    MMU_SetMTT(0x18000000,0x1ff00000,0x18000000,RW_NCNB); //bank3
     //MMU_SetMTT(0x20000000,0x27f00000,0x20000000,RW_CB); //bank4
    MMU_SetMTT(0x20000000,0x27f00000,0x20000000,RW_CNB); //bank4 for STRATA Flash
    MMU_SetMTT(0x28000000,0x2ff00000,0x28000000,RW_NCNB); //bank5
    MMU_SetMTT(0x30000000,0x30f00000,0x30000000,RW_CB);   //bank6-1
    MMU_SetMTT(0x31000000,0x33e00000,0x31000000,RW_NCNB); //bank6-2
    MMU_SetMTT(0x33f00000,0x33f00000,0x33f00000,RW_CB);   //bank6-3
    MMU_SetMTT(0x38000000,0x3ff00000,0x38000000,RW_NCNB); //bank7
   
    MMU_SetMTT(0x40000000,0x47f00000,0x40000000,RW_NCNB); //SFR
    MMU_SetMTT(0x48000000,0x5af00000,0x48000000,RW_NCNB); //SFR
    MMU_SetMTT(0x5b000000,0x5b000000,0x5b000000,RW_NCNB); //SFR
    MMU_SetMTT(0x5b100000,0xfff00000,0x5b100000,RW_FAULT);//not used
 
 
 

回复

91

帖子

0

TA的资源

一粒金砂(初级)

5
 
s3c2440的0x0地址有两种(物理)映射方式:ROM和SRAM,前者一般用NOR Flash,后者为SOC内部的RAM。所以在virtual addr和physical addr相等或不enable MMU的情况下,可将中断向量表放在这个地方,然后再跳到SDRAM中即可。
可参考一个精简实现版:http://www.maxwit.com/msg.php/23.html
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

6
 
应该是向量表的问题,仿真器在中断源对应的地址设个硬件断点,看看能不能跳过去。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

7
 
中断向量表的位置要对啊。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表