资料介绍
本教程中关于FreeRTOS 的原理性知识均参考自FreeRTOS 官方手册:《FreeRTOS Reference Manual》和《Using the FreeRTOS Real Time Kernel - A PracticalGuide》, 其中大多数的理论知识都是翻译自这两本手册,有关Cortex-M的内核知识参考自《The Definitive Guide to ARM Cortex -M3 and Cortex-M4 Processors, 3rd Edition》这本书。本教程作为FreeRTOS学习、参考资料全部免费公开,包括教程中的实验源码!
我们看一下FreeRTOS的名字,可以分为两部分:Free和RTOS, Free 就是免费的、自由的、不受约束的意思,RTOS全称是Real Time Operating System,中文名就是实时操作系统。可以看出FreeROTS就是一个免费的RTOS类系统。这里要注意,RTOS不是指某一一个确定的系统,而是指一类系统。比如ucOs, FreeRTOS, RTX,RT-Thread 等这些都是RTOS类操作系统。
操作系统允许多个任务同时运行,这个叫做多任务,实际上,一个处理器核心在某一时刻只能运行一个任务。操作系统中任务调度器的责任就是决定在某- -时刻究竞运行哪个任务,任务调度在各个任务之间的切换非常快!这就给人们造成了同--时刻有多个任务同时运行的错觉。
操作系统的分类方式可以由任务调度器的工作方式决定,比如有的操作系统给每个任务分配同样的运行时间,时间到了就轮到下一个任务,Unix操作系统就是这样的。RTOS 的任务调度器被设计为可预测的,而这正是嵌入式实时操作系统所需要的,实时环境中要求操作系统必须对某一个事件做出实时的响应,因此系统任务调度器的行为必须是可预测的。像FreeRTOS这种传统的RTOS类操作系统是由用户给每个任务分配一个任务优先级,任务调度器就可以根据此优先级来决定下-刻应该运行哪个任务。
FreeRTOS是RTOS系统的一种,FreeRTOS十分的小巧,可以在资源有限的微控制器中运行,当然了,FreeRTOS不仅局限于在微控制器中使用。但从文件数量上来看FreeRTOS 要比UCOSII和UCOSIII小的多。
1.1.2为什么选择FreeRTOS?
上面我们说了RTOS类系统有很多,为什么要选择FreeRTOS呢?在UCOS教程中,我们说过学习RTOS首选UCOS,因为UCOs的资料很多,尤其是中文资料!但是FreeRTOS的资料少,而且大多数是英文的,我为何要选择它?原因如下:
1、FreeRTOS 免费!这是最重要的一点,UCOS是要收费的,学习RTOS系统的话UCOS是首选,但是做产品的话就要考虑一下成本了。 显而易见的,FreeRTOS在此时就是一一个很好的选择,当然了也可以选择其他的免费的RTOS系统。
2、许多其他半导体厂商产品的SDK包就使用FreeRTOS作为其操作系统,尤其是WIFI、蓝牙这些带协议栈的芯片或模块。
3、许多软件厂商也使用FreeRTOS做本公司软件的操作系统,比如著名的TouchGFX,其所有的例程都是基于FreeRTOS操作系统的。ST公司的所有要使用到RTOS系统的例程也均采用了FreeRTOS,由此可见免费的力量啊!
3、简单,FreeRTOS的文件数量很少,这个在我们后面的具体学习中就会看到,和UCOS系统相比要少很多!
4、文档相对齐全,在FreeRTOS的官网( wwwfreertos.org)。上可以找到所需的文档和源码,但是所有的文档都是英文版本的,而且下载pdf文档的时候是要收费的。
5、FreeRTOS被移植到了很多不同的微处理器上,比如我们使用的STM32, F1、F3、F4和最新的F7都有移植,这个极大的方便了我们学习和使用。
6、社会占有量很高,EEtimes 统计的2015年RTOS系统占有量中FreeRTOS已经跃升至第一位,如图1.1.1所示。
1.1.3 FreeRTOS特点
FreeRTOS是一一个可裁剪的小型RTOS系统,其特点包括:
FreeRTOS的内核支持抢占式,合作式和时间片调度。
SafeRTOS衍生自FreeRTOs, SafeRTOS 在代码完整性上相比FreeRTOS更胜一筹。
提供了一个用于低功耗的Tickless模式。
系统的组件在创建时可以选择动态或者静态的RAM,比如任务、消息队列、信号量、软件定时器等等。
已经在超过30种架构的芯片上进行了移植。
FreeRTOS-MPU支持Corex-M系列中的MPU单元,如STM32F103.
FreeRTOS系统简单、小巧、易用,通常情况下内核占用4k-9k字节的空间。高可移植性,代码主要C语言编写。
支持实时任务和协程(co-routines也有称为合作式、协同程序,本教程均成为协程)。
任务与任务、任务与中断之间可以使用任务通知、消息队列、二值信号量、数值型信号量、递归互斥信号量和互斥信号量进行通信和同步。
创新的事件组(或者事件标志)。
具有优先级继承特性的互斥信号量。
高效的软件定时器。强大的跟踪执行功能。
堆栈溢出检测功能。
任务数量不限。
任务优先级不限。
- STM32F103开源分享
- STM32F103 PCB图免费下载 0次下载
- STM32F103引脚图下载 63次下载
- STM32F103用户使用手册 268次下载
- 基于STM32f103的FFT频率测试程序下载 162次下载
- LMT70代码基于stm32f103 29次下载
- STM32F103的封装库资料免费下载 0次下载
- 嵌入式操作系统FreeRTOS的原理以及如何实现移植的方法说明 23次下载
- STM32F103的最小系统工程文件免费下载 0次下载
- MINI STM32F103开发板的电路原理图免费下载 37次下载
- 使用STM32F103和STM32F407进行遥控器操作机器人的程序和资料 87次下载
- STM32F103的定时器触发ADC官方程序免费下载 71次下载
- STM32F103教程之STM32F103单片机的使用心得资料免费下载 254次下载
- STM32F103设计开发原理图.pdf 251次下载
- 基于STM32F103的振动监测系统设计 43次下载
- 实时操作系统之RT-Thread及FreeRTOS 2467次阅读
- 学习STM32F103的ADC功能 1722次阅读
- 学习STM32F103的DAC功能 2046次阅读
- ARM系列STM32F103芯片的解密方法 3110次阅读
- 基于STM32F103单片机设计 1495次阅读
- FreeRTOS:一个迷你的实时操作系统内核 828次阅读
- Linux是实时系统还是分时操作系统? 1414次阅读
- stm32f030和stm32f103功能差异 2.1w次阅读
- 米尔科技嵌入式实时操作系统介绍 2179次阅读
- 蜂鸟FPGA开发板及蜂鸟JTAG下载器讲解说明:移植FreeRTOS 7132次阅读
- stm32f103开发板原理图分析 3.8w次阅读
- 基于FreeRTOS的嵌入式实时操作系统的原理和实现 6562次阅读
- FreeRTOS嵌入式开源实时操作系统介绍 4048次阅读
- STM32F103封装方式与功能配置 2.1w次阅读
- stm32f103系列引脚定义-功能图 25.5w次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 651单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 751单片机大棚环境控制器仿真程序
- 1.10 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多