FreeRTOS的文件组成和基本原理

本文详细介绍了FreeRTOS的文件组成,包括信号量、消息缓区、内存保护、配置宏定义、通用定义以及内存管理,同时提及了变量命名规则,帮助读者更好地掌握FreeRTOS的原理和使用。
摘要由CSDN通过智能技术生成

FreeRTOS中主要的变更主要产生在app_FreeRTOS.c中.

虽然我们使用Cubemax无需我们自己进行程序的移植和文件组织,但是了解FreeRTOS的文件组成和FreeRTOS的文件功能,对于掌握FreeRTOS的原理和使用还是有帮助的。

FreeRTOS的文件组成大致可以分为五类,用户配置.H和程序文件.C。

1.信号量:是一个基于队列的任务,信号量操作的函数都是基于宏函数,它的宏函数都是调用队列处理的函数。

2.消息缓区:实现的功能也是基于宏函数的,它的宏函数都是基于流缓冲区的函数。

3.mpu_prototypes.h、mpu_warppers.h:都是内存保护功能单元的头文件,当用户使用MPU功能时,FreeRTOS会优先执行此文件中的函数。在嵌入式操作系统中,任务管理时必须的,其他的在用到的时候才会进行管理。

4.在FreeROS.h中包含了许多默认的宏定义,数据类型定义,接口函数定义等。这些宏定义可以分为两类。前缀为'config'的一般表示某种参数设置;另一个是以'INCLUDE'为开头的宏定义,用来表示是否编译某个宏函数的源代码。

5.与FreeRTOS.h对应的另一个文件是FreeFRTOSConfig.h文件,这个文件中也有一些宏定义以‘config’开头,如果一些在该文件中没有的宏定义,就会使用到FreeRTOS.h中的默认的宏定义。

6.projdefs.h:包含了一写FreeRTOS中的通用定义,如错误编号宏定义、逻辑值宏定义等。

7.stack_macros.h:一个大写一个小写,其实两个文件的内容完全一样,这是为了本版兼容所以才做了两个文件,一个大写一个小写。文件中定义了进行栈溢出检查的函数taskCHECK_FOR_STACK_OVERFLOW(),默认情况下是不启用的,如果需要启用的话需要设置为1或者2。

8.portmacro.h:重新定义了一些数据类型的符号。

9.head_4.c:内存管理相关的文件,FreeRTOS提供了五种内存管理的方案,我们一般都是默认的第四种方案,这个文件实现了动态分配内存的函数。

变量名命名规则:

'C'表示char类型,'S'表示int16_t(short)类型,‘I'表示int32_t类型,'UC'表示uint_8类型,'US'表示uint16_t类型,'UL'表示uint32_t类型。

'X'表示结构体变量、任务句柄、队列句柄等。

'P'指针变量。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值