打印
[其它]

入门 uCOS 操作系统的一点建议

[复制链接]
1570|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hudi008|  楼主 | 2022-11-16 12:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 eltonchang2001 于 2022-11-24 12:00 编辑

对于想入门操作系统的读者,我的建议是先学 uCOS II。原因有以下几点:

1、最为重要的原因是网上相关资源非常丰富,这对于初学者来说非常重要。

2、代码写的很经典,非常规范,能从中学到非常多知识,对于想 C 语言进阶的同学来说,是非常值得学习的一份代码。

3、听说代码优化级别高的情况下不会出现问题。



操作系统涉及内容较多,有扎实基础的话,一个月时间足够掌握 u/COSII ,但是要熟练掌握的话需要不少项目经验积累。建议学习操作系统时学习u/COS II 作为入门操作系统,当完全能驾驭 u/COS II 时,其他操作系统学习起来应该就简单了。

学习 u/COS II 操作系统时不建议马上看源码,不然很打击学习兴趣的。而是阅读操作系统运用方面的相关文章,对操作系统有一个大概认识,不建议钻研细节问题,比如它是如何关中断的,是怎么进行任务切换的,又是怎么进行系统延时的。这些细节问题是后期学习的事情,前期就是把握整体流程,知道有这么回事就可以了,我们需要建立一个整体学习框架,里面的细节填充实现就靠后期完成。

当有一定概念之后,就可以开始阅读代码了,从系统初始化、新建任务、系统开始三个函数开始入手。这里面又会涉及大量的指针、结构体,其中又会涉及单向链表、双向链表知识。这些知识慢慢掌握就可以。u/COS II 部分对涉及到的难点知识基本做了解释,比如就绪表、任务控制块、时间控制块等知识做了比较透彻的解释,需要掌握每一个知识点。在这个阶段主要是学习C 源代码,汇编代码部分建议跳过,不去看具体实现(在这个阶段你应该有疑惑,为什么一条简单的C 代码需要先关中断再开中断这么麻烦)。

当把 C 源代码了解完成后,应该除了汇编部分,大体的实现细节应该掌握了,这时就可以看汇编知识了。这个就需要对我们的单片机熟悉了。,首先需要了解的就是任务切换的实现,然后就是栈、寄存器、指令等等的了解。这里的学习也是需要对整个 CM3 内核有一个清晰的认识,之后就是对着汇编源码将操作系统涉及的汇编知识掌握。

最后,C 和汇编代码的大多数细节问题解决了之后,就需要好好重新开始学习操作系统的代码,不管是汇编还是C 都带着之前遗留的问题开始整体学习,重新梳理一遍之前所学知识。此时需要注意里面的一些书写习惯,知道为什么一条简单C 语言代码,还需要先关中断再开中断的原因。还有就是开始看一些没有涉及到的函数,比如信号量、队列这些机制的实现。在这一阶段完成后 u/COS II 里面的所有细节问题和代码应该都能解决了。

学习过程中可以直接在线调试,也可以直接进行仿真调试,KEIL 软件还是很强大的,掌握这个软件的调试方法可以让你的学习之旅更畅通,磨刀不误砍柴工,别怕浪费时间。

操作系统最重要的功能就是任务切换,任务切换最关键的就是切换时的数据保护了。只要在 CPU 回到中断时的下一条指令开始执行时,所有的数据恢复到中断前的状态,那么不管他运行到哪个函数,最终还是能按照之前的状态继续下去。任务根本不知道曾经被中断过。


使用特权

评论回复

相关帖子

沙发
sanfuzi| | 2022-12-1 17:32 | 只看该作者
ucosii怎么入门啊?如果可以的话请尽量详细点,

使用特权

评论回复
板凳
tifmill| | 2022-12-1 17:41 | 只看该作者
谁有关于ucos2系统的视频资料??  

使用特权

评论回复
地板
yeates333| | 2022-12-1 18:28 | 只看该作者
嵌入式学习入门书籍有哪些?      

使用特权

评论回复
5
saservice| | 2022-12-1 18:57 | 只看该作者
MDK 开发ucos-ii怎么用的啊?  

使用特权

评论回复
6
robincotton| | 2022-12-1 22:18 | 只看该作者
有必要学UCOS吗,linux 可以取代ucos 吗?

使用特权

评论回复
7
caigang13| | 2022-12-2 07:36 | 只看该作者
学习的我第一个操作系统便是ucos

使用特权

评论回复
8
hudi008|  楼主 | 2022-12-3 15:09 | 只看该作者
cw32使用ucos移植需要修改cw32主程序吗

使用特权

评论回复
9
vivilyly| | 2022-12-4 22:30 | 只看该作者
怎样学习UCOS-II嵌入式操作系统  

使用特权

评论回复
10
Stahan| | 2023-1-3 15:04 | 只看该作者
robincotton 发表于 2022-12-1 22:18
有必要学UCOS吗,linux 可以取代ucos 吗?

linux资源占用太大了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

251

主题

9633

帖子

11

粉丝