FREERTOSY一级目录解释

FreeRTOS笔记篇:第一章 描述
下载的版本为10.4.1
FreeRTOS笔记篇:第一章 描述
包含一个源码+代码案例

代码结构

FreeRTOS笔记篇:第一章 描述
FreeRTOS笔记篇:第一章 描述

  • tasks.c && list.c

  • queue.c 提供队列和信号量服务

  • timers.c 提供了软件计时器功能

  • event_groups.c 提供了事件组功能

  • croutine.c 实现了FreeRTOS协同例程功能 (很少使用)

因为文件多了会有冲突 ,所以将C和H放在一个文件夹里面。

portable

特定于FreeRTOS端口的源文件包含在FreeRTOS/Source/portable目录中。
FreeRTOS笔记篇:第一章 描述

MemMang–FreeRTOS 内存分配案例

实例堆分配方案包含在FreeRTOS\Source\portable\MemMang
FreeRTOS笔记篇:第一章 描述

编译必须要包含的3个头文件

  • FreeRTOS/Source/include.(核心FreeRTOS头文件的路径)
  • FreeRTOS/Source/portable/[compiler]/[architecture].(你所使用芯片编译器+架构)
  • FreeRTOSConfig.h(配置头文件)

代码案例

  • 提供一个工作和预配置项目的示例,其中包含正确的文件,并设置了正确的编译器选项。
  • 以最小的设置或先验知识进行“开箱即用”实验。
  • 以演示FreeRTOS API的使用方法
  • 作为创建实际应用程序的基础。

FreeRTOS/Demo/Common/Minimal directory

常见的演示任务纯粹是为了演示如何使用FreeRTOS API——它们没有实现任何特别有用的功能
FreeRTOS笔记篇:第一章 描述

如何建一个新的工程-和linux的很像

建议通过调整其中一个现有项目来建立新的项目
可以从一下几个步骤

  • 打开提供的演示项目,确保按照预期构建和执行。

  • 删除定义演示任务的源文件。目录中的任何文件演示/公共目录可以从项目中删除。

  • 删除main()中的所有函数调用,prvSetupHardware()vTaskStartScheduler()除外,如清单1所示。
    FreeRTOS笔记篇:第一章 描述

  • 检查仍在构建的项目(再编译一下)。

创造一个全新的项目

  • 使用您选择的工具链,创建一个尚未包含任何工具链的新项目
    FreeRTOS源文件
  • 确保可以构建、下载到目标硬件并执行新项目。
  • 只有当您确定您已经有一个工作项目时,才将表1中详细说明的FreeRTOS源文件添加到项目中。
    FreeRTOS笔记篇:第一章 描述
  • 将演示项目为使用中的端口提供的FreeRTOSConfig.h头文件复制到项目目录中。
  • 添加头文件信息
    1 。 FreeRTOS/Source/include
    2 。 FreeRTOS/Source/portable/[compiler]/[architecture] (where [compiler] and [architecture] are correct for your chosen port)
    3。The directory containing the FreeRTOSConfig.h header file
  • 从相关的参考代码项目复制编译器设置。
  • 安装任何FreeRTOS中断处理程序可能是必要的。使用描述正在使用的端口的web页面,以及为正在使用的端口提供的演示项目作为参考。
    注意!!!版本比9.0要老的必须要创建heap.c 文件

数据类型和编程风格

TickType_t

时钟数据类型 可以定义为16(short) 或者是32位(int)的类型
上面的定义取决于 configUSE_16_BIT_TICKS
这个的数据类型配置是在
source -》portable-> xxx ->prtmacro.h
FreeRTOS笔记篇:第一章 描述
使用16位类型可以大大提高8位和16位架构的效率但是严重限制了可以指定的最大块周期。没有理由在32位架构上使用16位类型.

BaseType_t

BaseType_t通常用于返回类型,这些类型只能占用非常有限的值范围,并且用于pd TRUE/pd FALSE类型Booleans。

变量名称定义规则

  • 变量是无符号的 就是用u 作为前缀
  • 如果变量是指针,那么就是使用p作为前缀
  • 如果是uint8_t 就已uc作为前缀
  • 如果是有符号的 就pc作为前缀。

函数名称定义规则

函数的前缀包括它们返回的类型和定义它们的文件

  • vTaskPrioritySet() returns a void and is defined within task.c
  • xQueueReceive() returns a variable of type BaseType_t and is defined within queue.c.
  • pvTimerGetTimerID() returns a pointer to void and is defined within timers.c
  • 文件作用域(私有)函数的前缀是’ prv ’
  • 一个选项卡总是设置为等于四个空格。
  • 宏命令规则: 大多数宏都以大写形式编写,并以小写字母作为前缀,这些字母指示宏定义的位置。
    FreeRTOS笔记篇:第一章 描述
    FreeRTOS笔记篇:第一章 描述

陌生单词

aims
FreeRTOS笔记篇:第一章 描述
orientate
FreeRTOS笔记篇:第一章 描述
structure
FreeRTOS笔记篇:第一章 描述
approximately
FreeRTOS笔记篇:第一章 描述
compilers
FreeRTOS笔记篇:第一章 描述
implements
FreeRTOS笔记篇:第一章 描述
clashes
FreeRTOS笔记篇:第一章 描述
allocation
FreeRTOS笔记篇:第一章 描述
respectively
FreeRTOS笔记篇:第一章 描述
dynamic
FreeRTOS笔记篇:第一章 描述
Occasionally
FreeRTOS笔记篇:第一章 描述
hierarchy
FreeRTOS笔记篇:第一章 描述
mentioned
FreeRTOS笔记篇:第一章 描述
prefixed
FreeRTOS笔记篇:第一章 描述
semaphore
FreeRTOS笔记篇:第一章 描述

陌生语句

  • Each supported combination of compiler and processor is considered to be a separate FreeRTOS port.
    注意:of 的话要先翻译后面的 编译器处理器的结合
    每个支持的编译器和处理器组合都被认为是一个独立的FreeRTOS端口

相关文章:

  • 2021-12-22
  • 2022-12-23
  • 2021-12-28
  • 2021-06-02
  • 2021-05-23
  • 2022-01-11
  • 2021-07-13
  • 2022-12-23
猜你喜欢
  • 2021-06-24
  • 2021-10-15
  • 2021-12-07
  • 2021-08-05
  • 2021-09-20
  • 2022-01-16
  • 2021-09-29
相关资源
相似解决方案