《嵌入式linux应用开发》2440 中断 体系结构
来源:互联网 发布:php建站教程 编辑:程序博客网 时间:2024/06/07 03:48
11 ARM 有七种运行模式,usr为用户模式,其他为特权模式,特权模式可以随意进入
其他特权模式和用户模式,但用户模式不能随意进入其他模式,只能通过中断,swi(软中断),复位等,
复位,swi进入svc模式,uboot要求运行在svc模式,在uboot最开始就将cpu调到
svc模式,而linux kernel加载时要求cpu处在svc模式。
2 arm中断流程
主程序----中断---->中断向量表----跳转---->中断服务函数----返回--->主程序
中断服务函数内容包括:
1保护现场(保存相关寄存器 r0-r12,lr或pc)
2清中断
3相关服务函数
4恢复现场(恢复相关寄存器,恢复cpsr进入svc模式) 注意:恢复pc(回到主函数
)和恢复cpsr(回到svc模式)必须同时执行
3 中断初始化流程:(操作以下时中断必须是关闭的)和《嵌入式linux应用开发》的
中断部分的代码比较
1设置svc和IRQ模式下的sp指针
2 设置中断源的工作方式(如上升沿或下降沿)
3设置中断源的使能位,( 在程序中是EINTMASK)
4 清除中断悬挂寄存器的所有pending位, (INTPEND)
5打开中断屏蔽寄存器的相应MASK位 (INTMASK)
6handler
7设置CPSR中断允许I位,允许中断,
(这是中断的总开关,也是最后一个开关,之后就等待中断发生,)
4 中断控制器中各个寄存器的关系
所有的中断发生了都表现在 SRCPEND上,INTMSK用来屏蔽SRCPEND所标示的中断,
没有被屏蔽的经过优先级仲裁,最高优先级的中断被标示在INTPEND上
5 对于外部中断,又多了 EINTPEND 和EINTMSK ,EINTMSK是外部中断的使能(不被屏
避就是使能),EINTPEND 当需要进一步判断是需要
其他特权模式和用户模式,但用户模式不能随意进入其他模式,只能通过中断,swi(软中断),复位等,
复位,swi进入svc模式,uboot要求运行在svc模式,在uboot最开始就将cpu调到
svc模式,而linux kernel加载时要求cpu处在svc模式。
2 arm中断流程
主程序----中断---->中断向量表----跳转---->中断服务函数----返回--->主程序
中断服务函数内容包括:
1保护现场(保存相关寄存器 r0-r12,lr或pc)
2清中断
3相关服务函数
4恢复现场(恢复相关寄存器,恢复cpsr进入svc模式) 注意:恢复pc(回到主函数
)和恢复cpsr(回到svc模式)必须同时执行
3 中断初始化流程:(操作以下时中断必须是关闭的)和《嵌入式linux应用开发》的
中断部分的代码比较
1设置svc和IRQ模式下的sp指针
2 设置中断源的工作方式(如上升沿或下降沿)
3设置中断源的使能位,( 在程序中是EINTMASK)
4 清除中断悬挂寄存器的所有pending位, (INTPEND)
5打开中断屏蔽寄存器的相应MASK位 (INTMASK)
6handler
7设置CPSR中断允许I位,允许中断,
(这是中断的总开关,也是最后一个开关,之后就等待中断发生,)
4 中断控制器中各个寄存器的关系
所有的中断发生了都表现在 SRCPEND上,INTMSK用来屏蔽SRCPEND所标示的中断,
没有被屏蔽的经过优先级仲裁,最高优先级的中断被标示在INTPEND上
5 对于外部中断,又多了 EINTPEND 和EINTMSK ,EINTMSK是外部中断的使能(不被屏
避就是使能),EINTPEND 当需要进一步判断是需要
0 0
- 《嵌入式linux应用开发》2440 中断 体系结构
- 《基于Linux嵌入式原理与应用开发》_ARM体系结构_mindmap
- 嵌入式Linux应用开发完全手册(三)中断
- 嵌入式LinuX应用开发
- Linux中断处理体系结构
- Linux中断处理体系结构
- linux中断处理体系结构
- linux中断处理体系结构
- Linux中断处理体系结构
- Linux中断处理体系结构
- Linux中断体系结构
- 嵌入式Linux串口应用开发
- Linux中断处理体系结构分析
- Linux中断处理体系结构2
- 嵌入式Linux的开发和应用优势
- 嵌入式Linux的开发和应用优势
- 嵌入式linux应用开发之:初识Qt
- VMWare 在嵌入式Linux开发的应用
- 手表的维护与保养小常识
- ltp 测试流程及测试脚本分析
- Linux——VIM 中文显示乱码解决
- GT2440 开发环境搭建 (配合《嵌入式linux应用开发完全手册》)
- hdu 2066 一个人的旅行(dijkstra特殊)
- 《嵌入式linux应用开发》2440 中断 体系结构
- 【引用】[转]对.lds连接脚本文件的分析
- Uboot 移植
- 【转】编译,链接与库的使用(1)
- qmake pro工程设置
- 【转】编译,链接与库的使用(2)
- MFC的对话框中使用OpenGL绘图
- 分布式tetware 的移植和配置
- 养胃