uC/OS-III 学习笔记(一)
uC/OS-III移植
前言
最近毕设要做一个嵌入式设备,需要用到操作系统。本人只会制板和写ARM裸机程序,OS方面是一个小白,只对uC/OS和Linux两种系统略有了解。鉴于嵌入式Linux学习周期较长,有可能在毕设结束之前都不能学到能够开发项目的地步。故选择uC/OS作为设备的操作系统。
之所以选择uC/OS-III,是本着“要学就学最新”的想法来的。uC/OS-III相比II,加入了时间片轮转功能,能够允许定义相同优先级的任务。其好处balabalabala…好吧,我没仔细学过II,说不出来。估计以后就可以填这个大坑了。
至于FreeRTOS等操作系统的比较——算了吧,我一个OS都不会用,没什么可比性,写出来也没人信。
废话到此为止,下面开始正文
uC/OS-III 的移植
首先讲讲我的开发环境:STM32F103RET6 + KEIL5 + ST 3.5.0 库
- STM32F103RET6:是Cortex-M3内核的芯片,有PendSV和Systick中断供操作系统使用。
- Keil5:用来管理工程,当然也可以用IAR,个人感觉Keil5漂亮一点。
ST 3.5.0 库:之所以使用ST 3.5.0 的库,而不是现在流行的HAL库,主要原因是目前国内的比较完善的教程主要是针对ST 3.5.0库来写的,一点有个什么bug还可以有个参考。不过之后当我对uC有了较