
FreeRTOS
嵌入式实时操作系统FreeRTOS,既开源又免费,非常适合学习,这里帮助你快速了解FreeRTOS各种核心机制和原理,能够了解简单的操作系统的基本内容,进一步可以提升到复杂操作系统(Linux),也提供了知识点的回顾。
单眼皮的根号3
开源+编程+乐趣,尝试分享开源编程的乐趣
微信:abc690550753
邮箱:hxj_e_mail@163.com
企鹅:690550753(不常用)
展开
-
FreeRTOS笔记(一)概念
文章目录1 - 说在前面2 - FreeRTOS思维导图(点击文字下载)2.1 任务2.2 队列2.3 中断2.4 资源管理2.5 内存管理1 - 说在前面 嵌入式系统经常在无人值守、环境恶劣和时间限制等等的条件下运行,如果条件偏向于时间限制,就需要嵌入式系统具有实时机制,嵌入式实时操作系统的设计就显得非常重要。 现有的嵌入式实时操作系统很多,有FreeRTOS、RT-Threads、...原创 2018-11-30 18:22:25 · 2575 阅读 · 3 评论 -
FreeRTOS笔记(二)移植STM32F407
文章目录01 - 下载FreeRTOS02 - 移植STM32F40703 - LED灯闪烁实验01 - 下载FreeRTOS 进入官网中下载,小白选择的是V9.0.0,作为学习而言其实版本差别不大,选择这个版本的原因是小白看的书是这个版本的。 运行exe文件,得到解压包,源码就在FreeRTOS\Source目录下。FreeRTOS-Plus是一些扩展功能,暂时不需要理会。...原创 2018-12-01 19:19:11 · 2381 阅读 · 1 评论 -
FreeRTOS笔记(三)配置文件FreeRTOSConfig.h
文章目录01-FreeRTOS内核剪裁FreeRTOSConfig.h文件FreeRTOSConfig.h内容02-测试剪裁内容任务设计测试结果上一文链接:FreeRTOS笔记(二)移植STM32F40701-FreeRTOS内核剪裁FreeRTOSConfig.h文件 在上一文中,针对官方给出的STM32F407例程Demo,很容易移植了FreeRTOS到STM32F407上并成功运...原创 2018-12-03 15:42:36 · 1503 阅读 · 2 评论 -
FreeRTOS笔记(四)初识任务
文章目录01 - 单任务与多任务1.1 - 单任务系统1.2 - 多任务系统02 - 创建和删除任务2.1 - FreeRTOS_API2.2 - 任务函数2.3 - 创建任务2.4 - 删除任务03 - 任务堆栈04 - 任务优先级05 - 任务的基础测试5.1 - 创建和删除测试5.2 - 堆栈大小测试5.3 - 任务的优先级测试上一文链接:FreeRTOS笔记(三)配置文件FreeRTO...原创 2018-12-06 15:12:35 · 2105 阅读 · 0 评论 -
FreeRTOS笔记(五)任务状态
文章目录01 - 任务的状态02 - tick时钟和调度器03 - 任务状态测试04 - 总结01 - 任务的状态 任务被创建后,它可能正在运行,可能暂停运行,任务有状态之分是由于调度器的存在,调度器需要决定哪些任务可以去运行,于是在FreeRTOS中任务具有4种状态,分别是就绪态、运行态、阻塞态和挂起态,它们之间的转化关系如下: 4个状态的含义如下: 就绪态:已经可以运行,...原创 2018-12-11 19:37:10 · 8722 阅读 · 3 评论 -
FreeRTOS笔记(六)列表与任务控制块
文章目录01 - 列表02 - 列表与任务控制块03 - 总结上一文链接:FreeRTOS笔记(五)任务状态01 - 列表 上一文提及到,任务具有多种状态,例如就绪、运行、阻塞等等,如果有多个任务都处于某一状态,例如就绪态,那么这些任务就需要排队等待处理,于是这些任务就组成了一个列表,一个简单的列表看起来应该是这样的。 这个列表谁来创建、谁来使用?就是FreeRTOS系统,它负...原创 2018-12-21 18:17:59 · 3022 阅读 · 1 评论 -
FreeRTOS笔记(七)开启调度器
文章目录01 - vTaskStartScheduler()02 - xTaskCreate()03 - 总结上一文链接:FreeRTOS笔记(六)列表与任务控制块01 - vTaskStartScheduler() 调度器负责给各个任务分配CPU资源,使得多任务并发执行,FreeRTOS提供的vTaskStartScheduler()用于开启调度器,一旦开启,整个系统就交给调度器负责。...原创 2018-12-25 10:42:35 · 1254 阅读 · 0 评论 -
FreeRTOS笔记(八)任务切换
文章目录01 - SVC和PendSV1.1 - SVC中断1.2 - PendSV中断02 - 任务切换2.1 - 上下文2.2 - 切换场合2.3 - PendSV_Handler03 - 总结上一文链接:FreeRTOS笔记(七)开启调度器 在上一文中,提到了pxCurrentTCB会在任务创建和任务切换的时候被改变,并且查看了任务创建,现在再来查看任务切换,FreeRTOS的任务切...原创 2018-12-27 17:45:31 · 1906 阅读 · 0 评论 -
FreeRTOS笔记(九)任务相关的过渡
文章目录01 - 任务相关的过渡1.1 - get和set函数1.2 - delay延迟函数02 - 总结上一文链接:FreeRTOS笔记(八)任务切换01 - 任务相关的过渡1.1 - get和set函数 了解到任务、列表和调度器后,关于任务的核心内容应该比较清晰,FreeRTOS还有很多任务的辅助函数,比如一些必要的get和set函数,用于获取和设置任务的状态和信息,比如常见的如下...原创 2018-12-29 13:16:43 · 1113 阅读 · 0 评论 -
FreeRTOS笔记(十)队列和通信
文章目录01 - 通信介质02 - 通信方式03 - 通信操作04 - 总结上一文链接:FreeRTOS笔记(九)任务相关的过渡 在第一篇概念的思维导图中,任务的下一个概念就是队列,一个实际的FreeRTOS系统肯定会有多个任务,这些任务经常需要协同运作,因此必然需要通信,不止任务和任务之间,任务和中断之间也需要通信。对于通信,需要了解通信介质、通信方式和通信操作。01 - 通信介质 ...原创 2018-12-31 11:59:45 · 1863 阅读 · 0 评论 -
FreeRTOS笔记(十一)延迟中断
文章目录01 - 延迟中断机制02 - 机制的支撑条件2.1 - 信号/二值信号量2.2 - 信号量/计数信号量03 - 延迟中断的实时性04 - 总结上一文链接:FreeRTOS笔记(十)队列和通信 任务切换中也提到过中断,比如SysTick中断、SVC中断和PendSV中断,他们都是多任务并发进行的必要中断,可以认为属于内部中断,在任务和内核之间进行的,而FreeRTOS实时操作系统需...原创 2019-01-02 19:56:55 · 3387 阅读 · 1 评论 -
FreeRTOS笔记(十二)资源管理
文章目录01 - 互斥机制1.1 - 临界区1.2 - 挂起调度器1.3 - 互斥量1.4 - 守护任务02 - 互斥机制的区别03 - 总结上一文链接:FreeRTOS笔记(十一)延迟中断 考虑完多任务(中断)之间的通信后,还需要考虑多任务(中断)之间的资源访问,因为资源往往是互斥使用的,比如打印机、串口等等,一个任务在使用的时候,不允许另一个任务去打断,否则就会出现信息不一致的情况,造...原创 2019-01-06 19:18:24 · 1683 阅读 · 4 评论 -
FreeRTOS笔记(十三)内存管理
文章目录上一文链接:FreeRTOS笔记(十二)资源管理原创 2019-01-13 11:19:43 · 1027 阅读 · 0 评论 -
FreeRTOS笔记(十四)[简] 软件定时器、事件组、任务通知
文章目录01 - 软件定时器02 - 事件组03 - 任务通知04 -总结上一文链接:FreeRTOS笔记(十三)内存管理 在《Linux内核情景分析》经典书籍中提到,操作系统的核心是进程管理和文件系统,二者可以缺一,比如缺少文件系统就是常见的嵌入式操作系统,缺少进程管理就是MSDOS,但是如果二者都缺,就称不上是操作系统,因此,FreeRTOS作为一个操作系统微内核,核心就是任务管理,对...原创 2019-01-27 15:34:21 · 967 阅读 · 0 评论 -
FreeRTOS笔记(十五)FreeRTOS总结
文章目录01 - 裸机和FreeRTOS区别1.1 - 裸机1.2 - FreeRTOS1.3 - 区别02 - 对FreeRTOS的感受03 - 推荐上一文链接:FreeRTOS笔记(十四)[简] 软件定时器、事件组、任务通知01 - 裸机和FreeRTOS区别 学完FreeRTOS,应该要自己总结一下FreeRTOS和裸机的区别,宏观上说,FreeRTOS是一个运行在裸机上的微内核,...原创 2019-02-09 17:37:00 · 3879 阅读 · 0 评论