当前时区 GMT+8, 现在时间是 2008-9-6 02:51
游客:
注册
登录
仅登录论坛
|
搜索
帮助
中国Linux公社论坛
»
Skyeye项目专栏
» 如果大家不想回答,请给我skyeye的信箱!谢谢
‹‹ 上一主题
|
下一主题 ››
投票
交易
悬赏
活动
打印
|
推荐
|
订阅
|
收藏
标题: 如果大家不想回答,请给我skyeye的信箱!谢谢
want_king
新手上路
UID 216344
精华 0
积分 35
帖子 14
阅读权限 10
注册 2006-4-19
状态 离线
#1
发表于 2006-8-8 19:39
资料
短消息
加为好友
如果大家不想回答,请给我skyeye的信箱!谢谢
我做的工作有一部分和skyeye的工作的重叠的,所以对sim/arm看得比较多,最近准备开始修改sim/arm。但是我发现还是有很多地方不太理解,甚至觉得有错误。如果能和skyeye联系,向他们请教,那对我就非常有帮助。
我先贴我的问题
我对skyeye的sim/arm的一些疑问,主要关于中断。
当中断信号产生时,sim/arm在进入中断前要判断中断信号是否能够产生中断,主要从:
1.中断同时发生的问题(sim/arm已经考虑了)
2.中断处理过程中即arm的异常模式中发生中断的问题(sim/arm好像没怎么考虑)
如果arm规定在异常模式中不能产生新的中断,那么大家给我提个醒,下面的就不用看了。不过我看了一些资料觉得应该能产生新的中断。下面有些罗嗦,结论先给出就是sim/arm没有考虑中断处理过程中新中断是否能产生的问题。不知道分析的对不对请大家指点。
下面我根据skyeye-1.0.0来谈谈我对这两点的分析,从指令执行过程来看异常类型中:
1.未定义指令;
2.数据访问中止;只有在指令已定义的条件下,才会有数据访问才会有数据访问中止;
3.预取指令中止,这是在指令执行时的一个并行事情,它出现并不会影响指令的执行,会使取出的指令为SWI,成为一条SWI指令;
4.SWI是一条指令。
这几个异常是不会同时出现的,在一条指令执行完后,会检测FIQ、IRQ、RESET引脚;这三个异常是会同时出现的但不会和前面的几个异常情况同时出现。
//in skyeye-1.0.0\arch\arm\common\armemu 537行
If (state->Exception)
if (state->NresetSig == LOW) ……………..优先级1
else if (!state->NfiqSig && !FFLAG)……………. 优先级3
else if (!state->NirqSig && !IFLAG) ………………. 优先级4
采用这种就解决的中断同时发生的问题,所以下面我们就要分析第2个问题。
state->Exception是中断使能,这三个总的使能
state->NfiqSig是快速中断引脚,FFLAG是判断CPSR.F呢还是作为可以在中断处理中发生新中断的标志呢?作为CPSR.F就是快速中断使能,在快速中断使能的情况下发生快速中断引脚低电平(有效)这是符合一般中断规律的,所以我认为FFLAG是做为CPSR.F就是快速中断标志。
假如是作为在中断处理中可以发生新中断的标志,我认为这也是不可能的,因为如果作为可以发生新中断的标志那么在中断处理中,首先要表明现在正在执行什么样的中断处理。我从中断响应过程看,没有发现这样的变量赋值。
此外对于不同的异常模式,CPSR.I和CPSR.F的表示是不同的,好像
if (state->prog32Sig == LOW) //in armsupp.c
state->Cpsr &= (CCBITS | INTBITS | R15MODEBITS); //INTBIT= =0xC0L,清除F位
然后就没有看到对这两个标志的处理了。这里也许需要修改一下。
附件:
您所在的用户组无法下载或查看附件
ksh
高级会员
UID 92875
精华
1
积分 1476
帖子 794
阅读权限 50
注册 2004-2-4
来自 China
状态 离线
#2
发表于 2006-8-12 18:54
资料
短消息
加为好友
please send your question to maillist of skyeye developer. Here just for user of SkyEye
投票
交易
悬赏
活动
论坛跳转 ...
> 公告区
> 系统安装
> 硬件配置
> Magic Linux技术支持区
> Magic Linux开发培训版
> 中文化与桌面美化
> 桌面使用小技巧
> 命令行使用小技巧与SHELL编程
> 网络工具
> 办公软件
> 多媒体应用
> 游戏乐园
> 服务器与网络安全
> Linux资源共享区
> Debian/LFS/Gentoo专题版
> Linux高质量字体研究
> easyright计算机研究所
> Linux认证考试专题版
> 应用编程技术与项目孵化
> 网站开发技术与项目孵化
> 参与国际开源项目
> 翻译汉化
> 中文GNOME用户交流区
> Skyeye项目专栏
> lumit项目专栏
> eva项目专栏
> fanx项目专栏
> 连连看for Linux项目专栏
> OurLinux杂志专区
> BitStorm项目专栏
> AVS项目专栏
> VirgoFTP项目专栏
> EGui开源项目
> RT-Thread实时操作系统
> 内核源代码阅读交流
> 内核安装和升级
> 嵌入式开发
> 校园行动联盟
> Linux与公社文化杂谈
> 求职与招聘
> 公社接待中心
Powered by
Discuz!
5.5.0
© 2001-2007
Comsenz Inc.
TOP
清除 Cookies
-
联系我们
-
中国Linux公社
-
WAP