硬汉嵌入式论坛

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

[μCOS-III] 时钟节拍任务源码详解谁给普及一下,谢谢

[复制链接]

17

主题

121

回帖

172

积分

初级会员

积分
172
发表于 2017-6-19 22:37:35 | 显示全部楼层 |阅读模式
一直只会用,却不知道节拍列表是怎样更新的,看着有点是懂非懂。谁给普及一下,谢谢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107157
QQ
发表于 2017-6-20 02:26:56 | 显示全部楼层
好久没有再次研究uCOS-III的代码了,如果没有记错的话,uCOS-III中延迟列表的管理是一个专门的TICK任务,每个系统时钟节拍中断都会发信号量消息给这个任务。

然后只要涉及到延迟相关的函数,都会将其倒腾到这个列表里面,倒腾进去的时候按照一定的顺序进行排序,方便时间到期了排出来,具体细节你可以把列表的添加,删除等画个一个列表图出来,画出来了,基本就理解了,到时记得做个笔记,要不时间长了就忘光了。
回复

使用道具 举报

17

主题

121

回帖

172

积分

初级会员

积分
172
 楼主| 发表于 2017-6-22 09:03:31 | 显示全部楼层
突然发现真的是好聪明啊,双向链表+哈希算法用就是好
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107157
QQ
发表于 2017-6-22 11:24:53 | 显示全部楼层
当年初学时做的笔记,自己画画列表的话,就很好理解了
222222222.jpg
11111111111.jpg
回复

使用道具 举报

11

主题

68

回帖

198

积分

初级会员

积分
198
发表于 2017-6-22 11:38:47 | 显示全部楼层
你是自己吧ucos的原理总结了一下吗?其实大部分的操作系统都大同小异,有一本《《操作系统精髓和设计原理》》可以了解操作系统的原理,外国人写的,比较全面
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107157
QQ
发表于 2017-6-22 11:45:25 | 显示全部楼层

回 thinkself 的帖子

thinkself:你是自己吧ucos的原理总结了一下吗?其实大部分的操作系统都大同小异,有一本《《操作系统精髓和设计原理》》可以了解操作系统的原理,外国人写的,比较全面 (2017-06-22 11:38)
总结一遍不行,得看10几遍进行总结,特别是uCOS-II,看似简单的代码,每个函数所在的位置都是经过N多测试得出的结果。uCOS-III起初做的非常臃肿,直到现在的3.06.00算是将不少臃肿的功能都删掉了。

不同的RTOS,虽然目标一样,实现的功能相同,但是内部实现方法,却大大不同。
像FreeRTOS,所有的通信机制全是都是基于消息队列实现。
而RTX更是比较狠,所有的任务级函数全都是在SVC中断里面调用,代码突出一个简洁高效。
回复

使用道具 举报

11

主题

68

回帖

198

积分

初级会员

积分
198
发表于 2017-6-22 15:04:37 | 显示全部楼层

回 eric2013 的帖子

eric2013:总结一遍不行,得看10几遍进行总结,特别是uCOS-II,看似简单的代码,每个函数所在的位置都是经过N多测试得出的结果。uCOS-III起初做的非常臃肿,直到现在的3.06.00算是将不少臃肿的功能都删掉了。

不同的RTOS,虽然目标一样,实现的功能相同,但是内部实现方法,却大大不同。
.. (2017-06-22 11:45) 
理解透彻 啊[s:151]
回复

使用道具 举报

65

主题

432

回帖

632

积分

金牌会员

积分
632
发表于 2017-6-23 22:10:11 | 显示全部楼层
作为一个主要给任务调度做服务的系统,个人还是比较喜欢uCOS II,简单高效,在III里,增加了按时间片进行调度的功能,但不是那么容易用好的,很多时候要进行关键时序的操作,是不能被打断的,举个简单的例子,读18B20,从读到结束,必须一次性完成,中间不可以做任务调度,必须用裸奔的思路来完成这个操作,以做开发板盈利为目的除外,但凡做产品的,用熟了II,就没啥必要非要学III了,关注度放在产品本身更重要,SORRY,个人观点而已
回复

使用道具 举报

74

主题

1203

回帖

1425

积分

至尊会员

积分
1425
发表于 2020-4-29 21:27:37 | 显示全部楼层
taobaofarmer 发表于 2017-6-23 22:10
作为一个主要给任务调度做服务的系统,个人还是比较喜欢uCOS II,简单高效,在III里,增加了按时间片进行调 ...

ds18b20的确是很奇葩的驱动,不好伺候的
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-21 00:34 , Processed in 0.184303 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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