目录

  • 前言的前言
  • RTOS的选择
  • 开发与实践环境
  • 参考资料
  • 笔记的形式
  • 专题文章的链接(持续更新中......)

前言的前言

单片机的开发,也有两年多了,之前一直是做一些简单应用,因此以裸机开发的方式为主。虽然裸机开发简单,直白,一些都在一个大循环中不断重复,因此对一些简单的,任务单一的开发工作,效率一直都很高,逻辑也是相当清晰的。随着开发的项目难度的加大,特别针对同时要进行复杂,耗时,并需要相互协作的多个任务的处理时,裸机开发中一个循环搞定一切的作法就完全无法施展开来了。因此,这种复杂,耗时,并需要多任务协作的项目,就迫切需要一种能在MCU上工作的 实时多任务操作系统。这种过渡是一种自然而然的过程。是开发者在项目开发与设计过程中必然产生的工作需求。

RTOS的选择

在当前市面上面向单片机及嵌入式领域操作系统也不少linux,黑莓QNX,FreeRTOS,uCOS,RT-Thread,腾讯TencentOS tiny、阿里AliOS Things,华为的鸿蒙LiteOS等。虽说linux是可裁减的,内核可大可小,但因为linux大而全,主流还是应用在MPU上的。所以在MCU领域一般用不了这么复杂的RTOS。
以上这么多,选择是个头痛的问题。各个RTOS都有各自的应用领域与,适应于各个不同的应用平台。因此每一个的优劣势在网上搜索都有非常详细的解释,因此这里不进行重复,也不是本篇的目的。从学习的角度,用哪一个RTOS都能达到目的。但在实际选择中上于我用的是乐鑫ESP32的开发平台,开发环境用的是ESP-IDF+VScode,因为ESP32已完整的集成了freeRTOS,变成ESP32原生开发包的一部分了,因此我的学习自然选择了freeRTOS。虽然在实际使用上,ESP32平台上的freeRTOS的一些使用与标准的freeRTOS文档有一点小差别,但这些不影响对操作系统的学习。这些特殊性在ESP32官方文档里也有清楚的说明。在接下来的笔记里也会有明确的描述。

开发与实践环境

MCU:采用的是乐鑫的ESP32开发板,市面上常见的nodeMODE开发板,带串行烧录口。其实只要是ESP32带串行烧录口的基本都可以,没有太多特殊性。
开发环境:VScode + ESP-IDF插件。
其它外设:在学习过程中不断添加的外设。

参考资料

esp32的官方资料:https://docs.espressif.com/projects/esp-idf/zh_CN/v5.0/esp32/api-reference/index.html

freeRTOS官方资料:https://freertos.org/index.html

freeRTOS官方教程下载地址:https://freertos.org/Documentation/RTOS_book.html

其它相关联的教程:
lvgl官方资料:https://docs.lvgl.io/master/intro/index.html#

笔记的形式

由于freeRTOS是国化的,资料都是英文。因此在学习的过程实际也是一个翻译理解的过程。所以笔记的形式会以原文翻译,摘录,原码分析,总结(思维导图),实验代码的形式进行。完全是按自已学习理解的一个过程来写这个笔记。方便今后自已的重新翻阅。

其实,网上关于freeRTOS的相关教材是相当多的,B站上也有很多很好的教学视频,但别人教得再好,自已没总结,分析,实践终归是学在表面。因此通过这种形式,更能深刻理解freeRTOS的机制,自由应用。(2022年12月7日 )

专题文章的链接(持续更新中…)

【ESP32+freeRTOS学习笔记-(一)freeRTOS介绍】
【ESP32+freeRTOS学习笔记-(二)FreeRTOS运行机制】
【ESP32+freeRTOS学习笔记-(三)任务】
【ESP32+freeRTOS学习笔记-(四)任务调度机制】
【ESP32+freeRTOS学习笔记-(五)队列Queue】
【ESP32+freeRTOS学习笔记-(六)软件定时器】
【ESP32+freeRTOS学习笔记-(七)中断管理】
【ESP32+freeRTOS学习笔记-(八)资源管理】
【ESP32+freeRTOS学习笔记-(九)事件组】
【ESP32+freeRTOS学习笔记-(十)任务通知机制】

【ESP32+freeRTOS学习笔记之“ESP32环境下使用freeRTOS的特性分析(新的开篇)”】

【ESP32+freeRTOS学习笔记-开篇前言】相关推荐

  1. FreeRTOS学习笔记——互斥型信号量

    来自:http://blog.csdn.net/xukai871105/article/details/43456985 0.前言 在嵌入式操作系统中互斥型信号量是任务间资源保护的重要手段.下面结合一 ...

  2. ESP32 单片机学习笔记 - 08 - WebSocket客户端

    前言,终于要到网络模型的最后一层,第四层,应用层,http.websocket的实践了. 文章目录 ESP32 单片机学习笔记 - 08 - WebSocket客户端 一.应用层协议 科普概念 二.编 ...

  3. ESP32 单片机学习笔记 - 03 - MCPWM脉冲输出/PCNT脉冲计数

    ESP32 单片机学习笔记 - 03 - MCPWM脉冲输出/PCNT脉冲计数 前言,继续上一篇的内容.因为上一篇刚好实验了iic和spi,形成一对.接下来讲pwm另起一篇. 目录 ESP32 单片机 ...

  4. ESP32 单片机学习笔记 - 05 - AP/Smart Config

    ESP32 单片机学习笔记 - 05 - AP/Smart Config 终于把感觉必要的基础外设学完了,开始学esp32的主要特色功能--物联网~~?(大概) 一.WIFI热点 AP模式 编程指南: ...

  5. 《繁凡的深度学习笔记》前言、目录大纲 一文让你完全弄懂深度学习所有基础(DL笔记整理系列)

    <繁凡的深度学习笔记>前言.目录大纲 (DL笔记整理系列) 一文弄懂深度学习所有基础 ! 3043331995@qq.com https://fanfansann.blog.csdn.ne ...

  6. FreeRtos学习笔记(11)查找就绪任务中优先级最高任务原理刨析

    FreeRtos学习笔记(11)查找就绪任务中优先级最高任务原理刨析 怎么查找就绪任务中优先级最高的? tasks.c中声明了一个全局变量 uxTopReadyPriority,任务从其他状态进入就绪 ...

  7. freeRtos学习笔记 (9) 移植和CPU利用率统计

    freeRtos学习笔记 (9) 移植和CPU利用率统计 使用官方固件移植 首先准备一个能跑的裸机工程 注意,freertos需要使用systick定时器,而stm32HAL库默认使用systick作 ...

  8. freeRtos学习笔记 (8) 任务通知

    freeRtos学习笔记 freeRtos任务通知 任务通知的优缺点 freeRtos任务控制块中包含两个32位的变量,用于任务通知,在一些情况下,任务通知可以替代信号量和事件组,并且比信号量和事件组 ...

  9. freeRtos学习笔记 (7)信号量

    freeRtos学习笔记 freeRtos信号量 信号量种类 信号量分为四种:二值信号量,互斥信号量,计数信号量和递归互斥信号量,其中计数信号量用于管理系统多个共享资源,用计数值表示可用资源数目;二值 ...

最新文章

  1. 继续VISTA下网卡驱动问题
  2. thinkpad密码忘记
  3. java 日期处理 口诀_java时间处理常用方法工具类
  4. 中南大学12月13日考c语言,中南大学2010级C语言试卷
  5. Java笔试题解答和部分面试题
  6. 《深入react技术栈》学习笔记(一)初入React世界
  7. php循环,die/exit脚本执行控制,文件载入及错误控制
  8. 从B站源码泄露事件入手,说一下团队协作中版本管理的安全意识
  9. Arcgis字段计算器实现自动编码
  10. 关于在networkx中使用louvain算法报错的问题
  11. c语言中stdio什么意思6,求助,return,stdio是什么意思,在C语言中又是什么意思
  12. 打包contrail-setup
  13. win10快捷截图录屏
  14. geth 搭建 私有链节点
  15. 宝塔面板配置服务器代理
  16. vhall微吼中的视频无法通过左右方向键来快进和快退的解决方法
  17. Mysql Mac 免安装教程
  18. 歌名:江湖笑 演唱:周华健
  19. 解决问题:使用nvm use出现exit status 1与exit status 145乱码
  20. QT 版puremvc框架

热门文章

  1. 在电脑上写日记怎么加密
  2. 考研规划计算机科学与技术,2017考研:计算机科学与技术专业考研年复习规划...
  3. 【深度学习】李宏毅2021/2022春深度学习课程笔记 - Deep Learning Task Tips
  4. 【安骑士】配置不进行基线检测方法 1
  5. 北石油大学计算机与信息技术学院,计算中心-东北石油大学计算机与信息技术学院...
  6. 每日一问 什么是通信系统?
  7. 关于OpenCV for Python入门-图片和摄像头显示
  8. rocketmq 初体验(二)AsyncProducer No name server address, please set it.
  9. 自定义View之仿小米MIUI天气24小时预报折线图
  10. 拉普拉斯噪声公式_一个基于四方向的拉普拉斯算子的四阶偏微分去噪方法(精)...