带你为STM32写一个不到100行代码的多任务OS

2019-08-23 14:24发布

 

带你为STM32写一个不到100行代码的多任务OSfficeffice" />

-- Pony279

写在前面

本文面向的读者为了解RTOS但对于怎样写一个RTOS又无从入手的朋友, 也可以是对RTOS没有任何概念的新手, 但是至少要求你做过定时器实验和GPIO实验. 写这篇文档的主要原因是, 虽然网上介绍编写RTOS的文章不少, 但是在我看来都不够易懂,而且在有现成的 uC/OS的情况下, 网络上也很少与STM32有关的这类文章. 我将会在下面的内容中介绍RTOS的一点概念, 并带你设计, 调试和实现一个简易的多任务OS. 事实上, 在这篇文档里将要实现的多任务OS的代码极其简单, 甚至不能称之为 OS! 我的主要目的是给大家展现一个从裸机通向多任务的 RTOS 的桥梁, 引导大家到一个开始, 而不是编写一个完全意义上的 RTOS. 其实在RTOS方面我也只是个菜鸟, 所以如果你是高手, 请不要批评程序的功能过于简单. 当然, 如果我哪里讲得不对, 或者在讲解的方式上还有改进的地方, 欢迎能给我提出建议. 因为我还有打算在将来空闲的时间修正这份文档并不定期的发布后续文档噢 :-)

具体内容看附件
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
49条回答
daiqh
1楼-- · 2019-08-26 16:49
  楼主,那如果有三个任务,任务优先级分别为5,6,7.开始OS后它就应该是先执行5了,然后再到6,但当6完成后,感觉它又会回到5,不会执行7。不明白三个以上的任务时是怎么调度的。
minier
2楼-- · 2019-08-26 17:11
 精彩回答 2  元偷偷看……
jy02326166
3楼-- · 2019-08-26 18:07
学RTOS需要什么基础吗?
Pony279
4楼-- · 2019-08-26 19:51
回复【28楼】jy02326166:
---------------------------------

想学就直接学咯, 不懂的自己想办法解决. 不用啥事都等着系统的学.
treblemoon
5楼-- · 2019-08-26 22:49
很喜欢操作系统啊,支持楼主^_^,正在X86平台上一步一步照葫芦画瓢地搭建一个操作系统,感觉很有意思。
可乐虎
6楼-- · 2019-08-27 02:20
回复【29楼】Pony279:
---------------------------------
深感佩服。
但问下:1、编写一个能够支持多任务切换的程序(或OS)是不是必须依赖相应的处理器?能用纯软件的方法去实现吗?
2、怎么样用一个队列实现多个任务间的通信?我的队列只能实现固定的某2个任务间的通信。怎么解决呢?

一周热门 更多>