首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

嵌入式开发基础之中断管理

中断就是系统正在处理某一个正常事件,忽然被另一个需要马上处理的紧急事件打断,系统转而处理这个紧急事件,待处理完毕,再恢复运行刚才被打断的事件。 无论在单片机开发还是嵌入式开发中,中断都是一个非常重要的概念。而重要的原因,是中断的概念符合我们普世生活的场景。 你正在上班努力编程,却有一通电话打了进来,而不得不停止工作,接通完电话后,发现只是外卖到了楼下,这时候你又恢复到工作的状态,这是短期中断。 你本科毕业,因为第一年的工作经验的优先级高于考研所以你去找了份工作,干了一年后,去考研,回到学校继续学习,对你的学业来说,这也是中断,无非是中断处理时间长而已。 本文将会介绍嵌入式开发中,中断管理的概念,及基于RTOS的一些例子。

02

Linux操作系统分析复习

OS的正常工作依赖于存储程序原理、堆栈、中断三个部分。 linux内核从一个初始化上下文环境的函数开始执行,即start_kernel函数,创建多个进程或者fork(创建一个与原来进程几乎完全相同的进程)若干进程,我们为每个进程维护一个进程描述和以及进程间的关系PCB。 当中断发生的时候,如mykernel中就是时钟中断发生之后,接下来OS就会为各进程进行调度,利用Swich_to函数在调度队列中选取出一个适合的进程(系统会根据中断向量号来调用相应的中断异常程序)。由CPU和内核堆栈保存当前进程的各寄存器信息(CPU要做两件工作,一是将当前的eip和esp压入到当前进程的内核栈,二是将esp指向当前进程的内核栈,并将eip指向中断处理入口,进入到内核态。),将eip指向要调度的进程执行的代码区,开始执行。

05
领券