原副标题:自学RTOS作业系统,有必要性写作马哥源码

大三理工学院的这时候,我讨厌科学研究下层的控制技术基本原理,比如说输出设备、LCD、74系列产品方法论IC等,疑惑它是不是组织工作、是不是同时实现的,也会写许多标识符来试验,校正当中基本原理。

再而后,自学许多协定栈、RTOS,会较为疑惑,也所花天数科学研究当中的源码。

直至深入细致写作、认知RTOSMach源码的这时候,才辨认出绝非两件难的事。

即使前段天数有听众在问类似于的难题,是不是必要性写作RTOSMach源码,因此,那时就来单纯撷取呵呵有关的文本。

我自学RTOS的历经

先给我们说下我自学RTOS的历经吧。

我自学RTOS从理工学院的这时候就已经开始了,在自学RTOS以后和许多人那样,也是甚么都要学,跟著同学、看著邻近的展枝甚么就跟著学甚么,比如说数电、模电、单片机编程、外设等。

单片机裸机各种资源外设学的差不多,感觉应该进阶呵呵,因此就选择了RTOS。

在2011、12年读书的这时候,RTOS还不像现在这么流行(那时还是以裸机为主),那个这时候网上RTOS的教程基本都是μCOS,其他RTOS的资料相对很少。像FreeRTOS、RT-Thread以及其他RTOS的资料都很少。

即使早期μCOS的发行都有配套的书籍(请参看µC/OS的那段故事,因此早些年在教学方面大多选择了μCOS,这也是我当时选择μCOS作为自学的原因。

(顺便再提一点,虽然早期μCOS是商业收费的作业系统,但源码是可以免费下载的

1.选择单片机开发板

我早期自学单片机主要是51(AT89C51、STC89C51等),MSP430等,可以说对他俩玩的较为熟。

因此自学μCOS也是基于他俩已经开始的,即使我们都知道51资源(Flash、RAM)确实太少了,虽然网上有基于51单片机移植μCOS系统的,但移植系统之后基本干不了别的事了。

因此,我基于51移植μCOS折腾了一段天数就放弃了,选择了MSP430,430相对51资源多许多,还能有发挥的余地。

早些年如果有自学基于MSP430移植μCOS系统的同学,或许都看过我早期撷取的源码:

即使MSP430之后用过STM32xx、 LPC17xx等基于ARM Cortex-M3 Mach的32位单片机,当时基于MSP430μCOS系统也感觉很吃力,因此而后选择了STM32跑μCOS系统

顺便再回忆呵呵STM32开发板:

现在STM32开发板基本是正点原子、安富莱、野火这三家的天下,早些年基于STM32的开发板是一家神舟开发版,当时可以说全网最火,关键原因是性价比很高。

当时,像神舟III号基于STM32F103ZE那样一块板载资源非常丰富的开发板只要一百多。虽然我当时较为穷,但我还是没经受住诱惑买了神舟I号,后又买了神舟III号

可惜的是,神舟开发板团队后面(应该在15年之后)就没有再做了,不知道有多少人还有这段记忆?

2.写作μCOSMach源码

我接触μCOS作业系统是在2011年,那个这时候也是参考各种例程移植标识符,观察各种现象。

虽然系统跑通了,Mach资源也用上了,但始终不能认知各种基本原理,也不能Get到实时作业系统的精髓

于是,开启了写作源码之路,这呵呵来,辨认出并不单纯。即使作业系统中有各种指针、数组、结构体等,那个这时候同学也从来没有教过数据结构那些知识,只能靠自己一步一步摸索。

写作μCOS作业系统Mach源码及Mach资源,前前后后、断断续续大概花了一年天数,之后才深入细致明白RTOS原来是这么组织工作的,也更加认知了μCOSMach调度基本原理、通信机制等。

如果早些年有自学μCOS的同学,应该会看过我早期撷取的一份基于神舟III号、uCOS2.92系统的源码,包含多任务、信号量、互斥锁、事件标志、消息邮箱、消息队列、内存管理等各种例程:

这份源码有中文注释,是我早期自学μCOS的这时候一步一步翻译过来,当时自学μCOS可以说下了狠功夫。

关于这个源码我录了一个单纯的视频:

自学RTOS有必要性写作源码吗?

你看了我上面的历经,可能会有一种写作Mach源码的冲动。

其实,对于许多人我是不建议写作源码,特别是两种人:

  • 基础较差的人
  • 没有天数的人

我自学RTOS以后折腾过许多源码,也参加过电子设计竞赛得过奖,自认为基础还可以。关键是在理工学院,有大量的天数。

如果你基础不好,且没有太多空闲天数,又要自学RTOS,写作源码一定要慎重、慎重、再慎重。

对于绝大部分听众,我的建议是:直接参考例程,然后折腾作业系统的各种API,通过状态灯、串口打印输出认知当中的作用及基本原理。

比如说:创建任务之后,删除任务,你观察状态灯是否还在执行这个任务。

写作并认知Mach源码有甚么好处?

你可能会问:不建议写作源码,是不是写作源码就没啥作用了?

写作并认知源码其实对自己有很大帮助作用的,比如说你会进一步认知RTOS各种通信机制方便后期应用编程,再比如说能提升自己的编程思维,我后期许多项目都借鉴了许多源码的模式。

最后再说明呵呵,RTOSMach有许多相对复杂的文本,如果你基础不好,可能写作几天就放弃了。同时,如果你没天数,只是三天打鱼两天晒网,最终可能没有一点收获。

因此,对于绝大部分人我是不建议写作源码。

1.嵌友们,BUG不好找?那是即使宏定义没用好!

2.GD32V RISC-V MCU调试体验

3.2022年六大值得关注的边缘计算趋势

4.2021年第12期《单片机与嵌入式系统应用》电子刊新鲜出炉!

5.STM32的SPI外设片选只有一个,是不是破?

6.C语言开发单片机,为甚么都是全局变量形式?

1.本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2.分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3.不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4.本站提供的源码、模板、插件等其他资源,都不包含技术服务请大家谅解!
5.如有链接无法下载或失效,请联系管理员处理!
6.本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!