|
本帖最后由 lcw_swust 于 2014-1-5 21:00 编辑
上程序:
系统介绍:
系统小巧,占用ROM约1KB.
参考了"51圈圈操作系统",
参考了 Pony279 的<<带你为STM32写一个不到100行代码的多任务OS.pdf>>,
任务调度机制有点像FreeRTOS:
是可剥夺型内核,既支持优先级调度算法也支持轮换调度算法
允许不同的任务使用相同的优先级,在没有更高优先级任务就
绪的情况下,同一优先级的任务共享CPU的使用时间。
任务调度由TIM2中断实现,Update中断用于任务延时,Trigger用于立即进行调度.
缺点:
功能简单,没有邮箱\信号量\删除任务等功能.
任务调度函数由C编写,可能会占用较长的时间.
可靠性有待观察.
注意:
建立任务时,高优先级的任务要先建立.
有些地方貌似需要加volatile.
KEIL3编译结果:
仿真运行情况:
之前发的一个51单片机上的例子:http://www.amobbs.com/thread-5565209-1-1.html |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
该献的血还是要献的。你不献他不献。难道让我去献? --- 出自坛友:lovejp1981
|