[ZLG-ARM] NXP2292的EINT1总是取址终止

[复制链接]
2537|5
 楼主| john1225cn 发表于 2008-1-4 22:11 | 显示全部楼层 |阅读模式
在NXP2292的EINT1总是取址终止,程序如下:<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;//NXP2292&nbsp;bug&nbsp;solution<br />&nbsp;&nbsp;&nbsp;&nbsp;divtemp&nbsp;=&nbsp;VPBDIV&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;divtemp2&nbsp;=&nbsp;VPBDIV&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;VPBDIV&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;EXTMODE&nbsp;&=&nbsp;~(1&lt&lt1);&nbsp;&nbsp;&nbsp;&nbsp;//电平触发<br />&nbsp;&nbsp;&nbsp;&nbsp;EXTPOLAR&nbsp;|=&nbsp;(1&lt&lt1);&nbsp;//上升沿触发<br />&nbsp;&nbsp;&nbsp;&nbsp;VPBDIV&nbsp;=&nbsp;divtemp2;<br /><br />这段程序始终走不过去。<br />按照勘误手册,操作VPBDIV,还是取址终止!<br />怎么办?<br />我的权益收到损害了,心灵也受打击了
zlgarm 发表于 2008-1-5 15:55 | 显示全部楼层

关于取指中止

john1225cn&nbsp;您好:<br /><br />可不可以,发一个完整的程序上来.<br /><br />初步分析是:你还需要对VIC中断控制器中的中断向量控制寄存器进行相应初始化.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;By&nbsp;zlgarm_zhp<br /><br />
 楼主| john1225cn 发表于 2008-1-5 20:42 | 显示全部楼层

好的。在这里,麻烦看看

IRQ:<br />;/*外部中断1接口*/<br />Eint1_Handler&nbsp;HANDLER&nbsp;QUART_Exception<br /><br />target.C:<br /><br />VICVectAddr1&nbsp;=&nbsp;(uint32)Eint1_Handler;<br />VICVectCntl1&nbsp;=&nbsp;(0x20&nbsp;|&nbsp;15&nbsp;);&nbsp;&nbsp;&nbsp;&nbsp;//将外部中断1对应的是通道15<br />EXTINT&nbsp;=&nbsp;(1&lt&lt1)&nbsp;&nbsp;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;清除EINT1中断标志&nbsp;&nbsp;&nbsp;&nbsp;<br />VICIntEnable&nbsp;=&nbsp;1&nbsp;&lt&lt&nbsp;15;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;使能EINT1中断<br /><br /><br />自己写的函数:<br />//NXP2292&nbsp;bug&nbsp;solution<br />&nbsp;&nbsp;&nbsp;&nbsp;divtemp&nbsp;=&nbsp;VPBDIV&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;divtemp2&nbsp;=&nbsp;VPBDIV&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;VPBDIV&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;EXTMODE&nbsp;&=&nbsp;~(1&lt&lt1);&nbsp;&nbsp;&nbsp;&nbsp;//电平触发<br />&nbsp;&nbsp;&nbsp;&nbsp;EXTPOLAR&nbsp;|=&nbsp;(1&lt&lt1);&nbsp;//上升沿触发<br />&nbsp;&nbsp;&nbsp;&nbsp;VPBDIV&nbsp;=&nbsp;divtemp2;<br /><br /><br />就这一段跳不过去!<br />只要屏蔽了这里就可以正常运行。<br />
 楼主| john1225cn 发表于 2008-1-5 21:01 | 显示全部楼层

我已经将问题解决了

和P0.14的设置先后顺序竟然有关系!<br />千真万确!<br />太不可思议了!<br />记录!!!!<br />
armecos 发表于 2008-1-5 22:58 | 显示全部楼层

在设置触发模式时不要使能EINT1

&nbsp;&nbsp;&nbsp;&nbsp;有可能EINT1的缺省状态就是高,当你设置成高电平触发时,反复陷入中断,导致取址异常。当你不使能EINT1时,可能就与P0.14设置的先后顺序无关了。<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;VPBDIV的BUG按照勘误手册修改即可。<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;关于中断,可以参看下面文档:<br />&nbsp;&nbsp;&nbsp;&nbsp;<b>ecos中断操作</b>
fengwei12 发表于 2011-7-23 22:00 | 显示全部楼层
john1225cn 请问你是怎么解决的?
我也遇到了这个问题。
芯片的bug?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

45

主题

147

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部