近几年,我花了很多时间在嵌入式MCU的驱动学习上,这也逐渐转成了我的工作主业工作。无论去做什么工作,想要游刃有余就得不断去扩充自己的知识储备。很多时候,扩充的知识其实也是见识。
几个月前,我在思考继续这样做下去的意义。或许,我能够对一个MCU的外设有一点点了解,但是,然后呢?我并没有什么更多的验证其他的功能,也没有对基础的驱动可靠性进行充分的验证。这样就让我想到是不是以后需要以一个系统性的尝试,而裸机的尝试获取更加粗暴一些,加一个通用的OS显然是更加优雅的做法。最初的选择,我计划用RT-Thread,网络上对这个代码的风格有很好的认可,unix-like也是我一贯喜欢的风格。但是现阶段看来,个人时间严重不足,因此还是考虑回到FreeRTOS,毕竟这个多少有一点接触的经验在。
之前,对对FreeRTOS的了解主要还是在应用上,移植等都是现成的。这一次重建这个repo,为这个工作创造一个基础的前提。同时,这一次的熟悉也不会完全是应用了,还是研究一下内核的机理。至于跟RT-Thread的缘分,以后再续了!
- 重温FreeRTOS的基础功能;
- 弄清楚FreeRTOS内核的机理;
- 积累一套方法,后续可以知道如何评估一个OS的优劣;
- 可以快速把FreeRTOS移植到我想用的MCU平台上;
- 基于OS的接口,梳理可以重用的软件模块;
- 可以的话,了解一下类似QEMU这样的仿真技术。
- 1171_Simple FreeRTOS Demo Projects都有什么
- 1172_FreeRTOS QEMU项目信息梳理
- 1173_FreeRTOS_QEMU+gcc例程环境搭建
- 1190_FreeRTOS学习笔记_ST_SPC5Studio中tick的修改
- 1233_FreeRTOS的下载与下一步的学习准备
- 1234_FreeRTOS内核快速入门说明阅读
- 1235_FreeRTOS的官方Demo应用
- 1236_FreeRTOS官方演示工程的文件介绍
- 1237_FreeRTOS官方例程中与硬件无关的例子
- 1238_从硬件平台方面看一下FreeRTOS的示范工程支持的平台
- 1239_创建一个新的FreeRTOS工程
- 1240_把FreeRTOS的官方Demo修改匹配一个新的编译器或者硬件
- 1241_进行FreeRTOS的全新移植
- 1243_FreeRTOS的软件定时器
- 1244_FreeRTOS的钩子函数
- 1245_FreeRTOS的源代码组织形式
- 1246_FreeRTOS的存储管理方案
- 1247_FreeRTOS的静态以及动态存储分配
- 1248_FreeRTOS的系统配置选项
- 1249_梳理FreeRTOS的QEMU工程只保留所需文件
- 1250_FreeRTOS_QEMU_M3_blinky例程梳理分析
- 1252_FreeRTOS_堆栈溢出检查方法与测试
- 1253_确认FreeRTOS QEMU例程中中断的使用
- 1261_CubeIDE中的任务创建代码分析
- 1262_FreeRTOS中的链表实现分析
- 1263_FreeRTOS的动态任务创建分析
- 1264_FreeRTOS任务的初始化以及堆栈初始化处理分析
- 1265_FreeRTOS中向任务就绪链表增加任务的实现分析
- 1266_FreeRTOS调度器启动代码实现分析
- 1267_FreeRTOS启动第一个任务接口prvPortStartFirstTask实现分析
- 1268_FreeRTOS任务上下文切换的实现
- 1269_STM32F103使用CubeIDE修改FreeRTOS的Tick源为MCU定时器
- 1270_FreeRTOS的TickHandler实现分析
- 1271_FreeRTOS中xPortPendSVHandler的实现
- 1272_FreeRTOS中的几个任务相关的链表
- 1273_FreeRTOS静态创建任务实现分析
- 1274_FreeRTOS中删除任务功能的实现
- 1275_FreeRTOS task.h中的几个数据结构分析
- 1277_FreeRTOS中vTaskDelay的实现分析
- 1278_FreeRTOS_借助prvAddCurrentTaskToDelayedList接口理解delayed task
- 1281_FreeRTOS_vTaskDelayUntil实现分析
- 1284_FreeRTOS任务优先级获取实现分析
- 1286_FreeRTOS的任务优先级设置实现分析
- 1287_FreeRTOS中prvTaskIsTaskSuspended()接口实现分析
- 1288_FreeRTOS中vTaskResume()接口以及中断安全版本接口实现分析
- 1289_FreeRTOS中vTaskSuspend()接口实现分析
- 1290_FreeRTOS中prvTaskIsTaskSuspended()接口实现分析
- 1292_FreeROS中vTaskResume()以及xTaskResumeFromISR()的实现分析
- 1293_FreeRTOS中xTaskResumeAll()接口的实现分析
- 1294_FreeRTOS中tick、任务数、任务名称查询实现分析
- 1295_FreeRTOS中几个事件相关接口实现分析
- 1296_FreeRTOS中的几个超时处理接口实现分析
- 1297_FreeRTOS中的idle task实现分析
- 1298_FreeRTOS中的TCB删除接口实现分析
- 1299_FreeRTOS中的任务状态以及切换测试
- 1300_FreeRTOS中的优先级相关知识点分析
- 1301_两种方式为开发板增加串口监控功能
- 1302_FreeRTOS中CoRoutine设计实现分析
- 1304_FreeRTOS从任务控制块信息的角度尝试裁剪内核节省资源
- 1305_FreeRTOS的队列基本功能描述
- 1308_探索FreeRTOS中的任务应该分配多大的堆栈空间
- 1322_FreeRTOS中的队列使用的信息梳理以及初步队列的使用
- 1324_FreeRTOS队列创建函数实现分析
- 1325_FreeRTOS队列发送函数的实现分析
- 1327_FreeRTOS几个队列满或者空的判断接口分析
- 1328_FreeRTOS队列的复位的接口实现与调用分析
- 1329_FreeRTOS从中断ISR中发送队列消息实现分析
- 1331_FreeRTOS队列功能xQueueReceive的实现分析
- 1332_FreeRTOS队列中的几个辅助小函数实现分析
- 1333_FreeRTOS中xQueueSemaphoreTake函数的实现分析
- 1334_FreeRTOS中xQueuePeek函数的实现分析
- 1335_FreeRTOS中xQueueReceiveFromISR函数的实现
- 1336_FreeRTOS中一组队列辅助接口函数的实现分析
- 1866_FreeRTOS的存储管理方案heap_4分析