FreeRTOS学习笔记-1-概述

FreeRTOS(读作”free-arr-toss”)是一个的开源实时嵌入式系统的操作系统,于2002由Richard Barry开发。
* 基本构造*
最小化的FreeRTOS内核只包含在3个与平台无关的源代码文件中——tasks.c、 queue.c 和 list.c(如果使用co-routines会有4个),总共不到9000行代码,一个典型的编译后(二进制)代码映像小于10KB。
文件结构
公用文件可以在FreeRTOS/Source文件夹中找到,与平台相关的文件可以在FreeRTOS/Source/Portable目录的子文件夹中找到。
如,这是freeRTOS在crazyflie工程中的目录结构:
这里写图片描述

FreeRTOS/Portable/GCC/ARM_CM3包含了port.c portmacro.h文件用于对应的编辑器和硬件相关代码。
FreeRTOS/Portable/MemMang包含了内存管理部分例子程序。
代码结构
FreeRTOS的代码可以分解为三个主要区块:任务,通讯,和硬件接口。

●任务:大约有一半的FreeRTOS的核心代码用来处理多数操作系统首要关注的问题:任务。任务是给定优先级的用户定义的C函数。task.ctask.h完成了所有有关创建,调度,和维护任务的繁重工作。

●通讯:FreeRTOS的第二项任务:通讯。大约40%的FreeRTOS核心代码是用来处理通讯的。queue.cqueue.h是负责处理FreeRTOS的通讯的。任务和中断使用队列互相发送数据,并且使用信号量和互斥来发送临界资源的使用情况( to signal the use of critical resources using semaphores and mutexes.)。

●硬件接口:接近9000行的代码拼凑起基本的FreeRTOS,是硬件无关的;不论FreeRTOS是运行在不起眼的8051,还是最新、最炫的ARM内核上,这部分代码是相同的。剩下的大约有6%的FreeRTOS的核心代码,在硬件无关的FreeRTOS内核与硬件相关的代码间扮演着垫片的角色。
【参考引用】
http://www.ituring.com.cn/article/4063
http://blog.csdn.net/liyuanbhu/article/details/7853717

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值