小型嵌入式操作系统的实现
写一个自己的操作系统是我一直以来的愿望,一来,学习,二来吗,装装X了。。哈哈
进过一段时间的学习,今天我写的代码终于实现了任务切换,也就是多任务环境了,虽然任务本身只是很简单那的闪烁你的LED小灯,但是仍然遮挡不住背后操作系统光辉的本质。
今天我决定,把我学习的经历分享出来,希望能起到抛砖引玉的作用。
一提到操作系统,大部分人的感觉是高端大气上档次,其实不然,仔细读完我的文章,你就能一步一步,从无到有,实现一个小型嵌入式操作系统,她可以实现基本的任务切换,也就是多任务了,以后的任务通信什么的,就很简单了。
我的硬件平台是STM32F103系列的单片机,这个很重要,因为嵌入式操作系统的核心就是任务切换,这段代码必须用汇编实现,大家都知道,汇编语言是平台相关语言,你用汇编语言在这个平台中点亮了一个LED灯,在另外一个平台中不能用时很平常的事情。
嵌入式操作系统最核心的地方就是任务切换,所以我会先从这方面开始讲起,
写这部分的时候,会用到很多底层和硬件平台相关的知识,用到什么内容我会在下面说明白。
- 程序本质的剖析
写操作系统这个高端大气上档次的工作肯定要有一些铺垫了,最必须的就是对你写的程序的了解,也许你会说,我写的程序,我还能不理解吗,但是这次咱么要从寄存器角度分析。
咱们首先从类比学习开始,咱们先来理解中断,对于中断,学习单片机的小朋友们肯定很理解,咱么来一起回顾下,单片机是怎么用硬件实