5462|3

7

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

UCOS的中断嵌套 [复制链接]

 
刚刚学习UCOS,没有时间去阅读书籍,只好先在这里向大家请教了

在UCOS的IRQ中断处理过程中(ARM9平台),看到从IRQ模式切换到了SYS模式,并且禁止了IRQ中断,然后再去调用用户的设备中断服务程序。

我想请教大家,切换到SYS模式是为了中断嵌套吗?
如果我的方案中,不允许中断嵌套,是不是就可以不用SYS模式了。

最新回复

切换CPU的工作模式,有时也称特权等级主要的目的是为了保护系统的资源不被用户程序非法使用。所以。你说的进入SYS模式不是为了中断嵌套。只是为了系统要调用系统函数了,所以进入系统模式,防止在系统函数执行过程中用户模式下的硬实时中断破坏系统数据  详情 回复 发表于 2012-6-29 23:32

点评

切换CPU的工作模式,有时也称特权等级主要的目的是为了保护系统的资源不被用户程序非法使用。所以。你说的进入SYS模式不是为了中断嵌套。只是为了系统要调用系统函数了,所以进入系统模式,防止在系统函数执行过程中  详情 回复 发表于 2012-6-29 23:32
点赞 关注
 

回复
举报

463

帖子

0

TA的资源

纯净的硅(中级)

沙发
 

回复 楼主 gordon_yjh 的帖子

切换CPU的工作模式,有时也称特权等级主要的目的是为了保护系统的资源不被用户程序非法使用。所以。你说的进入SYS模式不是为了中断嵌套。只是为了系统要调用系统函数了,所以进入系统模式,防止在系统函数执行过程中用户模式下的硬实时中断破坏系统数据

点评

明白版主的意思了。在这个问题上,我还有些不确定,在C中断处理程序中的操作步骤。 BL $IRQ_Exception_Function ; 调用c语言的中断处理程序 1。禁止中断优先级小于等于本中断优先级的中断产生,就是  详情 回复 发表于 2012-7-2 17:12

赞赏

1

查看全部赞赏

 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

回复 沙发 wstrom 的帖子

明白版主的意思了。在这个问题上,我还有些不确定,在C中断处理程序中的操作步骤。
BL      $IRQ_Exception_Function         ; 调用c语言的中断处理程序
1。禁止中断优先级小于等于本中断优先级的中断产生,就是暂时屏蔽低级中断。否则,在这个时候产生了低优先级的IRQ中断,会先处理那个中断。

2。使能IRQ中断。这样当更高优先级的中断发生时,可以再次进入IRQ模式,处理更高优先级的中断。

3。其他的中断处理。

不知道我的理解是否正确,请版主指正。
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(中级)

4
 
此外,我看到在zlg的UCOS移植中IRQ堆栈最多可以嵌套8层,这是和周立功的芯片和中断处理方法想关联的,有的方案中,芯片已经变了,可是还是使用8层嵌套,显然是不合理的。

还有在周立功的例子中,设备的中断处理程序中,始终没有打开ARM的IRQ中断,也就不存在嵌套的可能性。那么这种设计中切换ARM工作模式,允许中断嵌套,只是良好的设计初衷,并没有真正的实现其目标。

不知道我的理解是否正确,请版主指正。
 
 
 

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

随便看看
查找数据手册?

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