2。源码结构
Demo
(芯片名字+编译工具)=编程工具的工程文件夹?
//——————————————————————————————————————————
1=过时了
2= 事件组
3= 链表
4=队列
5=stream buffer
6=任务
7=定时器
//——————————————————————————————————————————
portable = 架构文件=可移植的=硬件和编译器软件之间的桥梁
里面第一层是各种编译器
里面第二层是各种芯片架构(f103——ARM_CM3架构)
//——————————————————————————————————————————
工程文件中还有一些驱动文件/库文件(driver / Lib)以及一个main.c——创建任务所需
//——————————————————————————————————————————
头文件
用于组成?freertos的头文件(包含关系/结构——#include “freertos.h”=#include"其他freertos相关核心.h")——和”底层通讯时序层-上层模块函数层-主函数逻辑应用层“结构的异同?
用于硬件和软件适配的移植头文件(cpu内核有关?)
用于配置?freertos的头文件
//——————————————————————————————————————————
//——————————————————————————————————————————
//——————————————————————————————————————————
3.编程规范
每个移植的版本=芯片架构*(芯片&编码器)都含有portmacro.h
其中都定义了两种类型
区别在于:
·中断次数计数变量——位数=16/32
·BaseType_t=最高效=寄存器位数=多少位的架构=大于这个位数的数据需要多个寄存器来装,效率低
共同目的都是——可选性——》移植性和高效性
——————————《3.1变量名的组成=变量类型前缀+变量含义》——————————
xReturn:
x=BaseType_t,是基础的类型
Return=变量含义和首字母大写
pxNewTCB
p=指针前缀
x=BaseType_t/各种复杂的结构体
NewTCB=变量的含义
—————《3.2函数名的组成=返回值类型前缀+函数所处文件+函数的含义》—————
//——————————————————————————————————————————
x=返回值类型=BaseType_t
Task=函数定义于Task.c文件中
Create=函数功能为创建任务
//——————————————————————————————————————————
prv=private=私有函数=返回值为static
—————《3.3宏的名的组成=宏被定义所处文件+宏的含义》—————