1.初识FreeRTOS

1.1为何学习RTOS

  • 裸机不满足项目需要 
  • 为以后深入学习做准备

RTOS (Real TimeROperation System 实时操作系统)
常用的RTOS有国外的FreeRTOS、u C/0S、RTX和国内的RT-Thread、Huawei LiteOS和 Ali0S-Things等。

1.2如何学习实时操作系统

最简单的就是在别人移植好的系统之上,看看RTOS里面的API使用说月,然后调用这些API实现自己想要的功能即可。
如果是学习,只会简单的调用API,那是不可取的,我们应该深入的学习其中一款实时操作系统。
这里有一个最有效也是最难的方法,就是阅读实时操作系统的源码,深究内核和手个组件的实现方式,这个过程枯燥且痛苦.

2.1 FreeRTOS介绍

FreeRTOS是一个可裁剪的小型RTGS系统,其特点包括:

2.2  为什么选择FreeRTOS

FreeRTOS免费 、开源 、市场占用率高

u C/0S 收费

FreeRTOS与OpenRTOS的比较:

2.3 获取lreeRTOS资料

官网:www.freertos.org

 

如果想下载以往版本的可从托管网址:

FreeRTOS Real Time Kernel (RTOS) - Browse /FreeRTOS at SourceForge.net

 

下载V9.0.0>ZIP,手册可以在官网获取。

2.4 FReeRTOS编码风格

数据类型:

不使用 int 类型

变量名:

比如char型变量的前缀是c,Short型变量的前缀是s,long型变量的前缀是l,portBASE_type类型变量的前缀是x。还有其他的数据类型,比如数据结构,任务句柄,队列句柄等定义的变量名的前缀也是x.
如果一个变量是无符号型的那么会有一个前缀u,如果是一个指针变量则会有一个前缀p.因此,当我们定义一个无符号的char型变量的时候会加一个uC前缀,当定义一个char型的指针变量的时候会有一个PC前缀.

函数名:

如果是私有的函数则会加一个prv(private)的前缀.

  1. vTaskPrioritySet()函数的返回值为void型,在task.c这个文件中定义。
  2. xQueueRecept()函数的返回值为_portBASE_type型,在Quee.c这个文件中定义。
  3. vSemaphoreCreateBinary()函数的返回值为void型,在semhr.h余文件中定义

 宏:

由小写字母+大写字母构成 ,小写字母代表它在头文件进行宏定义

 

 

posted @ 2022-12-13 10:08  Yoku  阅读(337)  评论(0编辑  收藏  举报