
在学完C语言后,来到公司,领导直接让我学RTOS,当时我连裸机都跑不起来。我尝试的问了一下,我可以先玩玩裸机吗?得到可以试一试的情况下,点亮了一个LED灯。然后他就问我,如果电量10个,你准备怎么做,我说可以用10个定时器,那么100个呢?这个问题,我方式绞尽脑汁找不到答案,然后就开始接触RTOS了,我处理不好的事情,为什么不能交给调度器自己去完成呢?从此就开始了我的RTT学习之旅。学习RTOS的第一步肯定就是移植,移植说明虽然很多,但是大家还是觉得很麻烦有木有,所以在使用RTT的时候有了一个BSP(板级支持包),支持了现在主流的开发板,在学习的时候就直接省去了移植的过程,直接就可以使用了,而且很多例程也是基于主流开发板写的。后续再进行项目开发的时候稍微修改成支持的自己项目板子就行了。 现在的RTOS的内核实现都是差不多,都实现了信号量,互斥量,邮箱,消息队列等等,这些都是看不出来差距的,也是大家都很成熟的东西了,区别的地方还是在于组件。FREERTOS和CUBEM配合使用简直天衣无缝,所以现在FREERTOS市场占有率很高。我目前学的是RTT,RTT可以通过ENV来进行系统裁剪,可以很方便的配置MODBUS CANOPEN LWIP 文件系统,按键实现等等,这一点再CUBEMX配置的时候,可选配置相对于RTT少了一些,从这个地方来看,各有所长。 我认为随着时间推移,MCU的性能越来越强大,需要完成的任务也越来越多,所以RTOS是时代发展的必然,希望大家多多学习RTOS。 |
感谢分享经验