4251|8

71

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

MPC下的中断问题 [复制链接]

我在做关于MPC8260的工作.目前,我想为DMA加入中断处理程序.MPC8260的参考手册中
说,IDMA1的中断号是6,我使用如下函数:
intConnect(INUM_TO_IVEC(6),dma_isr,0);
连接中断处理程序与中断源.但是一旦DMA结束,BC中断到来之后,整个EP8260板子就死掉了.我
估计原因是中断处理程序没有设置好,导致CPU进入一段错误的代码中了.另外,通过printf,我
看到INUM_TO_IVEC(6)的返回值仍然是6,这是不是有问题?是不是还要设置一下中断向量表的
基地址?

最新回复

两点建议: 1.检查中断挂接时是否正常,入参是否正确。 2.检测中断服务程序中是否存在"printf"打印,这类的打印是需要抢占系统I/o相关资源的,可能会造成系统挂死。  详情 回复 发表于 2010-3-11 10:41
点赞 关注

回复
举报

78

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
没用过这个芯片,帮顶一下吧!
 
 

回复

89

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
谢谢
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

4
 
建议楼主 再次审核下 你的中断处理函数,

另外在中断处理函数最后部分加上打印,看看中断处理是否完成,看是否由于DMA中断本身出错导致死掉的

另外既然你怀疑 在中断后,跑到错误地址死掉,你在看看是否能打印他跑到哪个函数中?
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

5
 
INUM_TO_IVEC(6)的正确返回值是可以查的啊!你自己找找看对不对。还有,你的中断处理程序最好越简单越好,不要把太多的东西放到里面。如果需要处理一些工作,应该放到外面。如果中断处理函数里东西太多,可能会出问题。
希望对你有帮助。
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

6
 
中断号是你初始化MPC8260的中断控制器时候指定的,你要看看你bsp初始化中断控制器的时候写进的是多少,不一定是6的!
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

7
 
在中断处理函数中不要调用printf,应该使用logMsg
在中断处理函数里面调用清中断试试
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

8
 
很可能是中断服务程序有问题,用排除法,
中断服务程序有很多限制的,
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

9
 
两点建议:
1.检查中断挂接时是否正常,入参是否正确。
2.检测中断服务程序中是否存在"printf"打印,这类的打印是需要抢占系统I/o相关资源的,可能会造成系统挂死。
 
 
 

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

随便看看
查找数据手册?

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
快速回复 返回顶部 返回列表