免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1161 | 回复: 0
打印 上一主题 下一主题

[嵌入式] 求助!armlinux下fiq直接死机 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-17 21:39 |只看该作者 |倒序浏览
小弟前一阵子参考资料移植了一个armlinux到我的板子上,芯片是ep7312。利用设备驱动程序原理做了一个走马灯的应用程序加到romfs的文件系统下,启动之后也能正常运行。接下来就希望利用fiq实现linux下的快速中断,结果就出现了这样的异常:
Bad mode in data abort handler detected: mode FIQ_32
Vectors:
Stubs:
Internal error: Oops: 0
CPU: 0
pc : [<ffff040c>]    lr : [<c0042230>]    Not tainted
sp : c0e83c30  ip : c0e83ccc  fp : c0e83cc8
r10: c01740e3  r9 : c0e82000  r8 : bffffe6c
r7 : c01610b4  r6 : c0e83d1c  r5 : 60000093  r4 : c01740dc
r3 : c01357a2  r2 : 00000020  r1 : 00000020  r0 : c01740dc
Flags: Nzcv  IRQs off  FIQs off  Mode FIQ_32  Segment user
Control: 217F  Table: C0E7C015  DAC: 00000015
Process HorseTest (pid: 25, stackpage=c0e83000)
Stack:
c0e83c60:                   c0042230 ffff040c  800000d1 ffffffff c0e83c84 c004a2c4

可以确认的是,尝试FIQ的时候,cpsr里面的FIQ位是打开的,mask也是打开的。
自己也在entry-armv.S中的中断向量表中修改了vector_FIQ,加入了自己想要实现的汇编代码(里面没有涉及到对OS的函数调用和操作,只是直接控制LED进行全亮和全灭的指示)。接下来就发生了上面的一幕,而LED也并没有按照FIQ程序运行而是直接死了。

请教各位大虾,哪位在arm linux下面作过FIQ的,帮帮忙指点一下,小弟无限感激!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP