FreeRTOS源代码结构与基本目录

freertos 源代码结构 基本目录结构
下载的freertos包含每种处理器体系的源代码以及范例程序。把所有体系的源代码打包可以方便分发,但是文件的数量可能会让人感到畏惧。幸好目录结构非常简单,并且freertos的实时内核只包含在3个源文件中(如果使用co-routines会有4个)。
在最顶层,下载的文件被分为两个子目录:
freertos
¦
+-demo 包含范例程序
¦
+-source 包含实时内核源代码
主要的内核源代码包含在3个与平台无关的源代码中(如果使用co-routines则会有4个)。这些文件分别为:tasks.c、 queue.c 和 list.c,可以在source目录中找到。
每种处理器需要少量与体系相关的内核代码。这些与处理器相关的代码包含在source目录中一个叫portable的目录中。
下载的文件中也包含了每种处理器与编译器移植的demo程序。demo下的common文件夹中的文件为各个demo程序公用文件,其他子目录包含着各特定体系demo程序的源文件。
freertos
¦
+-demo
¦ ¦
¦ +-common 共用的文件
¦ +-dir x 体系x的demo程序文件
¦ +-dir y 体系y的demo程序文件
¦
+-source
¦
+-portable 特定处理器代码
source目录
你必须在makefile中包含实时内核源文件才可以使用freertos,但并不需要修改它们或了解他们的工作原理。
实时内核的源代码由3个公用的文件(如果使用co-routines则为4个)以及一个与你使用的平台相关的文件。公用文件可以在freertos/source文件夹中找到,与平台相关的文件可以在freertos/source/portable目录的子文件夹中找到。
例如:
如果使用msp430与gcc编译器:
msp430平台相关的文件(port.c)可以在freertos/source/portable/gcc/msp430f449目录中找到,而所有其他freertos/source/portable目录中的子目录均可以忽略
如果使用pic18与mplab编译器:
pic18平台相关的文件(port.c)可以在freertos/source/portable/mplab/pic18目录中找到,而所有其他freertos/source/portable目录中的子目录均可以忽略
其他平台类似
freertos/portable/memmang包含了内存管理部分例子程序。
demo目录
demo目录树包含各种平台的demo程序,demo程序的大部分都是平台无关的,这些代码放在freertos/demo/common文件夹中,参考demo程序部分获取更多细节。与平台相关的代码,包括demo程序项目文件,可以在freertos/demo的子目录中找到。
例如:
如果是构造msp430 gccdemo程序:
msp430 demo程序makefile可以在freertos/demo/msp430文件夹中找到,所有其他freertos/demo目录中包含的子目录(common目录除外)指向的是其他体系的demo程序,均可以忽略
如果是构造pic18 mplabdemo程序:
pic18 demo程序makefile可以在freertos/demo/pic18_mplab文件夹中找到,所有其他freertos/demo目录中包含的子目录(common目录除外)指向的是其他体系的demo程序,均可以忽略其他平台类似 ...
创建你的程序
当你要写自己的应用程序时,一个比较好的方式就是使用demo程序的makefile(或工程文件)作为出发点。你可以让source文件夹中的文件保留在 makefile中,并且用你自己的程序文件替换demo文件夹中的文件。这可以保证makefile中包含的rtos源文件以及编译器选项都正确。

什么是web服务器?如何选择服务器配置?
揭秘快速充电,这四个阶段将是如何突破
ccd传感器及其原理
STM32CubeMX之串口接收不定长数据
联发科发出声明否认与小米结束合作的传闻
FreeRTOS源代码结构与基本目录
企业利益怎样用区块链技术来增加
基于Linux服务器和VLAN实现策略路由的技术方案
用樹莓派探索以太坊 - 第1部分:入門 (繁體)
你怎么看待科大讯飞前员工被判赔1200万?
freemodbus教程之freemodbus移植应用串口中断接收和数据解析
MCU助力物联网快速发展
基于DA14531 BLE SoC的低功耗蓝牙信标系统
基于STC12C5A60S2单片机中的AD采样实时采样用于检测电路是否正常的设计
HONEYWELL霍尼韦尔传感器芯片推出了一种新的自诊断传感器
长安新能源空气净化技术车展吸睛
全新IC产品系列—SENZero
关于FPGA的分析和介绍以及应用
Maxim推出低成本MAXQ613,扩展其MAXQ61x微控
英特尔与AMD开启了CPU的价格战