QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1384|回复: 0

求助!armlinux下fiq直接死机

[复制链接]
发表于 2006-8-17 21:48:17 | 显示全部楼层 |阅读模式
小弟前一阵子参考资料移植了一个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的,帮帮忙指点一下,小弟无限感激!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-22 23:30 , Processed in 0.039079 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表