初识FreeRTOS

发布时间 2023-06-24 22:32:07作者: zzKino
FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理时间管理信号量消息队列、内存管理、记录功能、软件定时器协程等,可基本满足较小系统的需要。
 
一、FreeRTOS收费问题
1.FreeRTOS是一款“开源免费”的实时操作系统。遵循的是GPLv2+的许可协议。
2.OpenRTOS和FreeRTOS拥有的代码一样,区别是可从官网获取的服务是不一样的。OpenRTOS是收费的。
3.SaveRTOS也基于FreeRTOS,但SaveRTOS为某些特定的领域做了安全相关的设计。
 
二、FreeRTOS资料获取
 
三、FreeRTOS编码风格
1.数据类型
FreeRTOS使用的数据类型都是标准C里面的数据类型,但是针对不同处理器,对标准C的数据类型进行重定义,比如char重新定义为portCHAR,
详细的定义可参考源码中portmacro.h头文件。
2.变量名
在FreeRTOS中,定义变量是往往会把变量类型当作前缀加在变量上,比如char类型前缀是c,short星变量的前缀是s,long型变量的前缀是l,
portBASE_TYPE类型变量的前缀是下,还有其他的数据类型,比如数据结构,任务句柄,队列句柄等定义的变量名前缀也是下。
3.函数名
函数名包含了函数返回值类型、函数所在文件名和函数功能,如果是私有函数,则会加一个prv(private)的前缀。函数名中加入所在文件名,这将帮助用户更好的阅读源码。
比如:
vTaskPrioritySet() 函数的返回值为void型,在task.c中定义
xQueueReceive() 函数的返回值为portBASE_TYPE型,在queue.c中定义
4.宏
宏均由大写字母表示,并配由小写字母的前缀。
比如:
port举例portMAX_DELAY
task举例taskENTER_CRITICAL()
5.格式