硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1116|回复: 3
收起左侧

[μCOS-III] UCOS III相比裸机程序使用感受

[复制链接]

28

主题

130

回帖

214

积分

高级会员

积分
214
发表于 2022-5-31 16:41:55 来自手机 | 显示全部楼层 |阅读模式
初学UCOS III,之前都是写裸机程序。相比裸机程序,我感受到UCOS III的最大优势在于 1,系统可以切换调度各个任务2,没有运行的任务不占用cpu 3,采用了消息或者信号量以后可以不用像裸机程序那样定义很多互锁变量。这是我的直观感受,其它的好处目前暂时还没有直观体会。
回复

使用道具 举报

28

主题

130

回帖

214

积分

高级会员

积分
214
 楼主| 发表于 2023-8-5 15:38:25 | 显示全部楼层
最近又开始抽时间开始研究UCOS III怎么用了,并且这次计划一鼓作气直接把UCOS III应用到以往在实际量产的产品上。把以往的一直裸机程序的产品切换到UCOS III上来。

顺便再说说关于UCOS III最新的的理解及感受。

我估计很多从裸机程序切换到UCOS III,甚至到底该选择哪一个系统,在这些问题上很多人都会有像我这样头疼纠结,摸不着头脑,一头雾水。我本人也曾经先后买过3本身关于ucos的书,前两本是UCOS II的,最后一本是UCOS III的。从2013年的买的第一本UCOS II书,到现在已经十年了。但一直没有真正的把UCOS应用到实际的产品中。但这期间我逐渐理解领悟了UCOS相比裸机程序具体到底好在哪里,也逐渐清楚了UCOS的用法,也理解到了使用上UCOS之后能够给写程序带来的诸多便利及好处。到现在也能够逐渐上手把UCOS应用到产品上。从2013年到现在2023年其实我一直处在学习状态,在这漫长的十年,我属于有兴趣了想起来了就学习下UCOS相关的知识。中间我也看过网上的教学视频,也下载了学习了网上流行的开发板配套的程序源码。一路走来,现在感觉可以上手了。我感觉对我学习帮助最大其实就是网上流行的开发板撇套的程序源码。因为程序源码能够直接体现出UCOS系统的用法另外我在网上也看过UCOS系统源码剖析之类的视频,这类视频看着很耗时间,也需要一定的耐心。买的3本书在我现在看来可以当做手册查询也不错。




这里我总结下我关于UCOS的学习经验以及心得体会对后来的人应该会有帮助。
1,首先在系统的选择上我选择UCOS的原因是用的人多,学习资料多,历史久,稳定性应该好,我也大概看过freertos程序,发现和UCOS其实是大同小异的。包括系统中的一些术语概念都是一样的。所以不管选哪个我觉得都差不多,当然具体到实际应用,可能会有差别,这个需要根据的实际情况进行选择,这里我选择的是UCOS III
2,首先建议买一本关于UCOS III的书,虽然网上教程电子资料很多,但是实体书翻着更方便。可以和网上的教程资料对比着互补着学习。这样效果会更好。另外书籍内容毕竟会更加严谨,里面也会讲一些关于UCOS的历史之类的事情,对于自己全方面了解UCOS也有一定的帮助。当然如果你实在不想买书,目前网上的电子资料已经足够学会UCOS了。
3,不管是自己网上买的开发板,还是自己做的板子,多动手实验是必要的。
4,这里说一下学习的重点:所谓擒贼先擒王 ,我们学习要抓住重点,我们最终的目的是为了用上UCOS,所以对于底层的源码包括涉及到单片机移植涉及到汇编的这些不要钻牛角尖花费大量的时间。当然研究学习底层源码是有利于熟悉整个操作系统的。在系统的移植上对于主流的单片机网上都有现成的移植好的系统可以拿来直接用。自己不要花费大量的时间搞移植。真正重要的是快速了解任务、任务调度、信号量、消息队列、事件标志组这些概念。,因为这些才是真正我们要用到的能够给我写程序带来方便的东西。至于底层源码,这些也不是说不学,而是有精力的时候再去研究。或者说用到哪里不懂了再去学。我之前曾经看过网上的剖析源码的视频,讲的其实挺好的,只是太浪费时间了,我甚至都是快进看的。但是对于我理解熟悉系统怎么用是有一定帮助的。这个其实有点磨刀不误砍柴工的意思。
5,最后说下我一直以来对于UCOS系统理解存在的严重误区,也曾经是我纠结了很长时间的问题。我估计也有很多人会有我这种想法。就是对于时序、实时性要求很高的程序应用,比如有些需要微妙级时序之类的。随着UCOS系统的引入,这样会不会因为比如系统调度的原因,或者是系统中的定时器的原因耽误时间影响时序,导致错误。UCOS到底适不适合对于时序、实时性要求很高的程序应用。因此对于到底要不要用系统我犹豫了。但是不是一直说UCOS是实时操作系统吗。实际上操作系统的实时和我之前理解程序的实时其实是不一回事儿的。直到2022年实际上手练习了UCOS的任务、任务调度、信号量、消息队列、事件标志组这些概念的实际用法,我才明白只要程序任务调度切换的逻辑是没有问题的,原本正常的裸机程序时序其实是不会被操作系统的定时器或者任务调度给打乱的。操作系统并不会耽误事儿。

回复

使用道具 举报

73

主题

1193

回帖

1412

积分

至尊会员

积分
1412
发表于 2023-8-5 23:00:57 | 显示全部楼层
谢谢分享。
回复

使用道具 举报

73

主题

1193

回帖

1412

积分

至尊会员

积分
1412
发表于 2023-8-5 23:05:10 | 显示全部楼层
我最近也开始看这个ucos2.52的源码了,看了发现真是很有收获,以前就知道怎么用而已。
而且结合任哲的教材配套的程序使用bc3.1编译器+makefile,也可以学到很多知识。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 05:47 , Processed in 0.245023 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表