【ESP32+freeRTOS学习笔记-开篇前言】

目录

  • 前言的前言
  • 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学习笔记之“ESP32环境下使用freeRTOS的特性分析(1-启动分析)”】

    【ESP32+freeRTOS学习笔记之“ESP32环境下使用freeRTOS的特性分析(2-多核环境中的任务)”】

    【ESP32+freeRTOS学习笔记之“ESP32环境下使用freeRTOS的特性分析(3-多核环境下的调度)”】

    【ESP32+freeRTOS学习笔记之“ESP32环境下使用freeRTOS的特性分析(4-多核下的临界区)”】

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【ESP32+freeRTOS学习笔记-开篇前言】

    发表评论