IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> FreeRTOS 笔记 -> 正文阅读

[嵌入式]FreeRTOS 笔记

1. Support Port

FreeRTOS 当前已经支持20+编译器和 30+ 芯片结构。

`Port`: FreeRTOS 支持的编译器和处理器组合称之为一个 port。

2. File Structure

`FreeRTOSConfig.h`: 用户配置头文件

`FreeRTOS.h`: 对外头文件头文件

FreeRTOS
│ │
│ ├─Source Directory containing the FreeRTOS source files
|        │
|        ├─tasks.c           FreeRTOS source file - always required
|        ├─list.c            FreeRTOS source file - always required
|        ├─queue.c           FreeRTOS source file - nearly always required
|        ├─timers.c          FreeRTOS source file - optional
|        ├─event_groups.c    FreeRTOS source file - optional
|        └─croutine.c        FreeRTOS source file - optional(rarely used now)
|        │
|        └─portable Directory containing all port specific source files
|            │
|            ├─MemMang Directory containing the 5 alternative heap allocation source files
|            │
|            ├─[compiler 1] Directory containing port files specific to compiler 1
|            │     │
|            │     ├─[architecture 1] Contains files for the compiler 1 architecture 1 port
|            │     ├─[architecture 2] Contains files for the compiler 1 architecture 2 port
|            │     └─[architecture 3] Contains files for the compiler 1 architecture 3 port
|            │
|            └─[compiler 2] Directory containing port files specific to compiler 2
|                  │
|                  ├─[architecture 1] Contains files for the compiler 2 architecture 1 port
|                  ├─[architecture 2] Contains files for the compiler 2 architecture 2 port
│ │
│ └─Demo Directory containing pre-configured and port specific FreeRTOS demo projects
│
FreeRTOS-Plus
    │
    ├─Source Directory containing source code for some FreeRTOS+ ecosystem components
    └─Demo Directory containing demo projects for FreeRTOS+ ecosystem components

2.1 Include Paths

用户使用时,必须包含以下头文件的路径:

  1. FreeRTOS 核心头文件:FreeRTOS/Source/include.
  2. FreeRTOS 配置头文件:FreeRTOSConfig.h.
  3. 目标 port 的头文件: FreeRTOS/Source/portable/[compiler]/[architecture].

3. Data Types and Coding Style Guide

`portmacro.h` 中必须定义的数据类型 :

1. `TickType_t`:如果 configUSE_16_BIT_TICKS == 1,uint16_t ;如果 configUSE_16_BIT_TICKS == 0,uint32_t ;

2. `BaseType_t`:等于CPU位宽,或者地址总线宽度, 如32bit 的结构就是32bit

3.1 变量命名

前缀_变量名称,其中前缀包括:

  1. ‘c’ for char;
  2. ‘s’ for int16_t (short);
  3. ‘l’ for int32_t (long),;
  4. ‘x’ for BaseType_t and any other non-standard types (structures, task handles, queue handles,etc.);
  5. 'u' for unsigned;
  6. ‘p’ for pointer;

3.2 函数命名

函数的前缀标识其返回值,前缀同变量命名前缀,另外:

  1. ‘prv’ 表示 仅在该文件内部起作用,即 File scope (private) functions。

3.3 格式(formatting)

  1. 1 tab = 4 spaces。(Tab键等于4个空格)

3.4 宏命名

宏命名采用 前缀_大写字母格式,其中前缀表示 该宏定义的

宏定义前缀

Num

Prefix

Location of macro definition

Example

1

port

portable.h or?portmacro.h

portMAX_DELAY

2

task

task.h

taskENTER_CRITICAL()

3

pd

projdefs.h

pdTRUE

4

config

FreeRTOSConfig.h

configUSE_PREEMPTION

5

err

projdefs.h

errQUEUE_FULL

通用宏

Num

Macro

Value

1

pdTRUE

1

2

pdFALSE

0

3

pdPASS

1

4

pdFAIL

0

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-05-24 18:23:18  更:2022-05-24 18:24:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 1:30:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码