
FreeRTOS是一个开源免费的嵌入式操作系统,操作系统在STM中运用的方式就是能名更加方便调用任务的优先级,按照设定的优先级来控制资源的分配,FreeRTOS小,不会占用太多的资源,方便在微控制器中使用。且从文件数量上看FreeRTOS要比UCOS小的多。 还有其他的好处就是能够查到更多的信息文档,可以移植的处理器也多。据统计FreeRTOS的占有率是比UCOS上升到了第一位。他还有衍生出来 的系统OpenRTOS和SafeRTOS、下载系统文件后可以看出来有三个文件夹Demo、License、Source。 ![]() Demo中存放了许多的样例文件,License中放了许可信息,Source中就是其中的核心文件,源代码在其中。打开Demo文件夹看看,里面提供了FreeRTOS在各种单片机上已经移植好的工程,如果建工程时遇到什么问题,可以参考下这些Demo。 动手移植FreeRTOS,FreeRTOS的短小精悍也是最令小灯着迷的,虽然缺少了很多组成部分,例如GUI、网络协议栈、文件系统等,不过这些统统都不是问题,因为完全可以移植第三方的组件! FreeRTOS的源码核心部分是tasks.c和list.c,其余的几个文件功能都是可选的,例如软件定时器、队列、协程等等,include文件夹里面的文件是操作系统相关的头文件,因为操作系统的最最底层的几个文件也需要用到FreeRTOSConfig.h头文件,而底层文件是用汇编来写的,因此必须添FreeRTOSConfig.h头文件路径,不然会报错的。 有必要对配置文件FreeRTOSConfig.h进行检查。FreeRTOSConfig.h里面几乎都是一些宏定义,关于这些宏定义的具体用法,可以在官网上查阅:http://www.freertos.org/a00110.html 大部分的步骒是: (1)定义系统底层相关的函数. (2)修改系统可屏蔽的中断优先级阈值 (3)添加参数检测功能 最后输出结果 |