463

帖子

0

TA的资源

纯净的硅(中级)

81
 

回复 79楼 yiqianchou 的帖子

已发送,请查收
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

82
 

回复 80楼 wstrom 的帖子

收到,谢谢。
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

83
 

请教

我按照你说的步骤运行了一边,怎么没有发现改变呢。好像没有生成新的TEXT.EXE

点评

首先必须在C盘 那两个软件安装时不要新建文件夹路径就行了 我的就是这问题  详情 回复 发表于 2013-1-15 21:38
 
 
 

回复

107

帖子

0

TA的资源

一粒金砂(中级)

84
 

回复 74楼 wstrom 的帖子

收到,谢谢
 
 
 

回复

463

帖子

0

TA的资源

纯净的硅(中级)

85
 

回复 83楼 phenixreturn 的帖子

检查一下文件路径。还有你安装BC的位置。我在两台电脑上做了实验,都是可行的。在仔细检查一下。或者把你工程压缩包传上来,我看一下
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

86
 

回复 85楼 wstrom 的帖子

如何上传东西
 
 
 

回复

463

帖子

0

TA的资源

纯净的硅(中级)

87
 
先回复,然后在你的帖子下面有一个编辑,点编辑就有上传文件的选项了
 
 
 

回复

463

帖子

0

TA的资源

纯净的硅(中级)

88
 

关于UCOS任务的理解

UCOS的运行是基于任务运行的,为了能够好的使用UCOS我们先要对UCOS的任务的概念做一个理解

在学习UCOS任务前我们先对我们以前使用的模式做一个回顾--前后台模式。

这种系统可称为前后台系统或超循环系统(Super-Loops)。应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为(background)。中断服务程序处理异步事件,这部分可以看成前台行 foreground。后台也可以叫做任务级。前台也叫中断级。时间相关性很强的关键操作(Critical operation)一定是靠中断服务来保证的。因为中断服务提供的信息一直要等到后台程序走到该处理这个信息这一步时才能得到处理,这种系统在处理信息的及时性上,比实际可以做到的要差。这个指标称作任务级响应时间。最坏情况下的任务级响应时间取决于整个循环的执行时间。因为循环的执行时间不是常数,程序经过某一特定部分的准确时间也是不能确定的。进而,如果程序修改了,循环的时序也会受到影响。

这种系统是在我们上学时和做小项目时经常用到,很多工程师称这种方式为“裸奔”。哈哈!我大学毕业后的钱三年写的项目都是在裸奔。

UCOS-II是基于任务运行的。一个任务,也称作一个线程,是一个简单的程序,该程序可以认为 CPU 完全只属该程序自己。实时应用程序的设计过程,包括如何把问题分割成多个任务,每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套 CPU 寄存器和自己的栈空间(如下图所示)。

可以这么理解,UCOS-II的每一个任务都有一个CPU,任务在运行时占用CPU的全部资源,同时拥有自己的一套寄存器,当任务执行完毕后(时间片到),他把自己的CPU寄存器所有内容保存到自己的堆栈中,同时把CPU让给别的任务,那么得到CPU使用权的任务把自己的CPU寄存器从自己的堆栈中放到真正的CPU寄存器中开始运行,就这样周而复始。

大家一定不要把任务的运行当成是函数的调用,这完全是两回事。这个我们到后面的任务调度时在细说。每个任务都是一个无限的循环。每个任务都处在以下 5种状态之一的状态下,这5种状态是休眠态, 就绪态、 运行态、 挂起态(等待某一事件发生)和被中断态(参见下图)   休眠态相当于该任务驻留在内存中,但并不被多任务内核所调度。就绪意味着该任务已经准备好, 可以运行了, 但由于该任务的优先级比正在运行的任务的优先级低, 还暂时不能运行。运行态的任务是指该任务掌握了 CPU 的控制权,正在运行中。挂起状态也可以叫做等待事件态WAITING,指该任务在等待,等待某一事件的发生, (例如等待某外设的 I/O 操作,等待某共享资源由暂不能使用变成能使用状态, 等待定时脉冲的到来或等待超时信号的到来以结束目前的等待,等等) 。最后,发生中断时,CPU提供相应的中断服务,原来正在运行的任务暂不能运行,就进入了被中断状态。如下图表示μC/OS-Ⅱ中一些函数提供的服务,这些函数使任务从一种状态变到另一种状态。

简单的我们可以把每一次任务的切换当成一次中断,这个中断不同于我们在使用前后台模式时的中断,那个中断是硬件中断,中断时需要保存的CPU寄存器是由硬件实现的,而在UCOS中的任务切换是软中断,CPU保存了必要的寄存器后在切换时系统会在保存任务使用的寄存器。

[ 本帖最后由 wstrom 于 2011-3-6 22:29 编辑 ]
 
 
 

回复

463

帖子

0

TA的资源

纯净的硅(中级)

89
 

补充知识-可剥夺型内核和不可剥夺型内核

不可剥夺型内核

不可剥夺型内核要求每个任务自我放弃CPU 的所有权。 不可剥夺型调度法也称作合作型多任务,各个任务彼此合作共享一个 CPU。异步事件还是由中断服务来处理。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。 但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃 CPU 的使用权时,那个高优先级的任务才能获得 CPU的使用权。

不可剥夺型内核允许每个任务运行,直到该任务自愿放弃 CPU的控制权。中断可以打入运行着的任务。 中断服务完成以后将 CPU 控制权还给被中断了的任务。任务级响应时间要大大好于前后系统,但仍是不可知的,商业软件几乎没有不可剥夺型内核。

不可剥夺型内核的工作过程见下图:

可剥夺型内核

 当系统响应时间很重要时,要使用可剥夺型内核。因此,μC/OS-Ⅱ以及绝大多数商业上销售的实时内核都是可剥夺型内核。 最高优先级的任务一旦就绪, 总能得到CPU 的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪态, 当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了 CPU的控制权。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。使用可剥夺型内核,最高优先级的任务什么时候可以执行,可以得到 CPU的控制权是可知的。使用可剥夺型内核使得任务级响应时间得以最优化。

可剥夺型内核的工作过程是这样的:

[ 本帖最后由 wstrom 于 2011-3-6 22:28 编辑 ]
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

90
 

回复 52楼 wstrom 的帖子

收到了 不胜感激!
 
个人签名专主的爱好不分时间与地点!
 
 

回复

107

帖子

0

TA的资源

一粒金砂(中级)

91
 
怎么图片都不可以看到??
 
 
 

回复

862

帖子

2

TA的资源

纯净的硅(初级)

92
 
就是呀,图片看不见.......
 
个人签名水不撩不知深浅 人不拼怎知输赢
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

93
 

回复 92楼

是呀

 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

94
 
楼主我是本科的,老师只介绍了下uC/OS,并没有深入讲解,看了楼主的教程不错的,努力学习知识,也希望楼主给个BC31,希望能赶上楼主的进度
261770876@qq.com
谢啦
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

95
 
收到,谢谢楼主了···
 
 
 

回复

463

帖子

0

TA的资源

纯净的硅(中级)

96
 
我也没有弄清问什么。我这是可以看到图片的。哪位前辈可以指点一下是为什么?
 
 
 

回复

2万

帖子

74

TA的资源

管理员

97
 

回复 88楼 wstrom 的帖子

楼主 图片在本地 以附件形式上传到网上 然后点击“插入”按钮,即可放在指定位置
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复

463

帖子

0

TA的资源

纯净的硅(中级)

98
 

回复 97楼 soso 的帖子

谢谢soso姐。我这就处理这个问题!
 
 
 

回复

463

帖子

0

TA的资源

纯净的硅(中级)

99
 

Re:All

图片的问题我已经修正,不好意思!
 
 
 

回复

2万

帖子

74

TA的资源

管理员

100
 
辛苦啦
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
Microchip 直播|利用motorBench开发套件高效开发电机磁场定向控制方案 报名中!
直播主题:利用motorBench开发套件高效开发电机磁场定向控制方案
直播时间:2025年3月25日(星期二)上午10:30-11:30
快来报名!

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表