- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验一溶解氧模拟采集实验.doc
实验六 uC/OS-II上任务管理实验
实验六 uC/OS-II上任务管理实验
一、实验目的
通过实验掌握uC/OS-II的启动流程。
通过实验掌握uC/OS-II任务的管理。
初步学习使用uC/OS-II系统提供的任务间的通信、同步和存储管理等功能。
二、实验内容
编写程序创建3个任务,分别完成小猪和青蛙图形轮流显示以及含氧量模拟闭环控制,实现在uC/OS-II系统上任务的调度。
三、预备知识
1、JEDIView 调试环境的使用方法。
2、邵贝贝译《嵌入式实时操作系统uC/OS-II》资料。
uC/OS-II实际上是一个实时操作系统内核,只包含了任务调度、任务管理、时间管理、内存管理和任务间的通信与同步等基本功能,没有提供输入/输出管理、文件系统、网络之类的额外服务。但由于它的可移植性和开放性,使得用户可以自己添加所需的各种服务。
uC/OS-II可以管理64个任务,但目前的版本保留8个给系统,应用程序最多可以有56个任务,因此赋予每个任务的优先级必须是不相同的。这意味着uC/OS-II不支持用于调度优先级平等的任务的时间片轮转调度法。
uC/OS-II完全是占先式的实时内核,即它总是运行就绪条件下优先级最高的任务。
每个任务有自己单独的栈,uC/OS-II允许每个任务有不同的栈空间,以便压低应用程序对RAM的需求。使用uC/OS-II的栈空间校验函数,可以确定每个任务到底需要多少栈空间。
uC/OS-II提供很多系统服务,例如邮箱、消息队列、信号量、块大小固定的内存的申请与释放、时间相关函数等。
中断可以使正在执行的任务暂时挂起,如果优先级更高的任务被该中断唤醒,则高优先级的任务在中断嵌套全部退出后立即执行,中断嵌套层数可达255层。
四、实验设备及工具(包括软件调试工具)
硬件:Micetek 44B0 实验系统
JEDI仿真器
PC机 Pentumn100以上
软件:PC机操作系统win98、win2000、winXP
JEDIView集成开发环境
五、程序说明
该实验包括19个程序:start_up.s、44blib.c、main.c和autopwm.c等19个文件。
Start.s为初始化程序,main.c任务管理主程序,autopwm.c为含氧量模拟闭环控制程序。其余的程序为Uc/OS-II内核文件,均为运行次工程所必须的文件。
六、实验步骤
连接EV44B0-II 和PC(JTAG或并口),使用Micetek 44B0实验板附带的串口线连接实验板上的UART0和PC机串口。
打开Micetek 44B0实验箱及JEDI 仿真器电源;
在PC机上运行Windows自带的超级终端串口通信程序(设置波特率为115200b/s,1个停止位,无校验位,无硬件流控制);
4、双击桌面图标,打开JEDIView集成开发环境;
5、新建工程,选择project→new project,并加入19个源文件;
6、基本设置,选择project→Setting...菜单项,在工程设置对话框中,对目标板所用的处理器进行设置,在LINK对话框中,对.data Address、.text Address、.Vector Address进行相应配置;
译生成目标代码:选择project→Rebuild All,生成目标代码;
工具栏,连接软件仿真器;选择,下载程序,并打开寄存器窗口;
运行程序(根据观察结果的需要可采用不同的运行方式:如:断点运行,全速运行等);
PC上观察超级终端程序的主窗口,可以看到超级终端上轮流显示含氧量数据及青蛙和小猪的图形,证明任务调度实现。
超级终端上看到的现象为:
### Main Starts !
@@@ Task1 will starts time ticker !
+++ task 1 running ...
水中含氧量等级为 9:
PWM输出占空比为:90%
+++ task 2 running ...
+++ ╭︿︿︿╮
+++ {/ o o \}
+++ ( (oo) )
+++ ︶
+++
+++ go to sleep 3 time-ticks
+++
@@@
@@@ task 3 running ...
@@@ Q__Q
@@@ /____\
@@@ \____/
@@@ /\/\
@@@ __(\\//)__
@@@ __/w w\__
@@@
文档评论(0)