下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、专业实验报告实验名称嵌入式实时操作系统实验实验时间2010-06-05 到 2010-06-20学生姓名丁代荣学号20091213012指导老师王韬实验进度安排:第一次实验2010-06-05( 第 13 周日 ) 下午 3:00-6:00 分组一 (晚上 7:00-10:00 分组二 );实验内容为1.调试多任务创建程序理解多任务调度算法。2.任务间通信:调试提供的参考程序,改写为客户机服务器模型3.任务间同步:调试提供的参考程序,改写为单向同步,考虑同步丢失的现象,将二进制信号量换为计数式信号量观察程序执行结果。第二次实验2010-06-06( 第 14 周六 ) 晚上 7:00-10:0
2、0 分组一 (周日晚上7:00-10:00 分组二 );实验内容为1.多任务间互斥操作,理解互斥信号量的使用,以及优先级翻转现象及优先级继承算法。2.嵌入式系统的开发流程:基于ppc860( 或者 s3c4510 实验板 )和 VxWorks 的嵌入式系统软件开发流程第三次实验2010-06-19 (第 15 周周六)晚上7:00-10:00 分组一 (周日晚上7:00-10:00 分组二 );实验内容为1.中断服务程序及中断控制器初始例程设计:理解ISR 的设计约束,以及中断控制器的初始化,调试提供的参考实验例程2.定时器驱动程序设计:掌握看门狗定时器的使用方法,理解辅助时钟定时器的工作原理
3、,掌握驱动程序设计方法及应用程序中使用定时器的方法第四次实验2010-06-20 (第 16 周周六)晚上7:00-10:00 分组一 (周日晚上7:00-10:00 分组二 );实验内容为:1. IO 设备驱动程序设计:2. 嵌入式系统交叉编译 -makefile 文件的编写与使用3. 嵌入式系统的交叉调试 -browser,windsh,debuger 工具使用第五次实验 最后一次实验(评定成绩)2010-06-20 (第 16 周周日)晚上7:00-10:00 分组二一检查前几次实验,重点检查以下实验1.嵌入式系统开发流程2.嵌入式系统交叉编译makefile 文件编写综合实验课题二综合
4、实验题目(任选一个)1. 编写程序,实现以下功能系统包含三个任务, 一个初始化任务 (tInitTask) ,一个生产者任务 (tSendTask),一个消费者任务 (tReceiveTask); 要求 tSendTaskt 与 ReceiveTask 之间使用消息队列传递数据;要求 tInitTask 能设置 tSendTask 和 tReceiveTask 的优先级,要求 tInitTask 能设置传递消息的数量和消息队列的大小。2. 编写程序,实现以下功能要求系统具有两个任务,两个任务之间使用二进制信号和计数式信号量实现同步当在 windSh 下执行 semTest b 使用二进制信号量
5、实现任务之间的同步执行 semTest c 使用计数式信号量实现任务之间的同步3. 编写程序,实现以下功能使用二进制信号量实现辅助时钟定时器服务程序与任务之间的同步;当按下 R2 按钮 (irq5 中断按钮 )时,停止定时器工作。4. 编写程序,实现以下功能1当执行 timerTestStart w 时,使用看门狗定时器实现信息的周期打印当执行 timerTestStart a时,使用辅助时钟实现信息的周期打印当执行 timerTestStopw时,停止看门定时器当执行 timerTestStopa时,停止辅助时钟5. 编写程序,实现以下功能系统有两个任务 tTaskA,tTaskB ;当 t
6、TaskA 执行时点亮发光二极管LED3 ,当 tTaskB 执行时点亮发光二极管LED4 ;当按下 R2,熄灭 LED3 与 LED4 ,并删除掉tTaskA 与 tTaskB6. 编写程序,实现以下功能系统有两个任务, tClientTask 和 tServerTask;它们之间使用消息队列实现任务间的通信,tClientTask 发送消息 (函数名, 如 add 和参数 ),tServerTask 接收消息,在服务器任务上执行函数(如实现加法运算),将执行的结果通过另一个消息队列返回给tClientTask任务, tClientTask 打印结果。7. 编写程序,实现以下功能编写辅助时钟
7、驱动程序 (1 分钟中断一次 ),每隔一分钟点亮一次发光二极管, 点量发光二极管要求用字符型 IO 设备驱动程序实现 (如使用 ioctl 函数,或者 write 函数 )。8. 编写程序实现以下功能:系统有两个任务,分别为tTaskA 和 tTaskB:当 tTaskA 执行时,发光二极管LED3 点亮 5 秒,当 tTaskB 执行时,发光二极管LED4 点亮 5 秒;点亮发光二极管均使用设备驱动程序(如使用 ioctl 函数,或者write 函数) ,时间 5s 使用 taskDelay 函数实现,要求独占访问发光二极管(使用互斥信号量实现)。9. 编写程序实现以下功能:要求系统中有三个
8、任务,tTaskA 和 tTaskB,以及tTaskC,要求实现独立型同步或关联型同步;(可使用二进制信号量或者事件机制)2实验报告主题部分一实验目的1.熟悉任务创建使用与删除,2.掌握中断的使用,理解中断服务程序,中断向量等概念,3.掌握 led 的初始化和点亮方法。二实验内容选择综合实验5:编写程序,实现以下功能系统有两个任务tTaskA,tTaskB ;当 tTaskA 执行时点亮发光二极管LED3 ,当 tTaskB 执行时点亮发光二极管LED4 ;当按下 R2,熄灭 LED3 与 LED4 ,并删除掉 tTaskA 与 tTaskB 三实验步骤1.连接好开发板,创建bootable
9、工程,生成vxWorks 映像文件,2.创建 downloadable 工程,3.添加源文件,编译、下载并调试应用程序,4.启动 WindShell, 在 -提示符下,输入应用程序中的函数,观察开发板上LED 的点亮情况,按下R2 键后观察中断服务程序执行的结果。四实验源程序/* 头文件 */#include vxWorks.h#include stdio.h#include taskLib.h#include vxWorks.h#include intLib.h#include logLib.h#include stdlib.h#include iv.h#include drv/multi/
10、ppc860siu.h#include drv/intrctl/ppc860Intr.h#include kernelLib.h/* 全局变量 */int taskIdA;int taskIdB;/* 函数声明 */void taskcreat(void);void taskOne(void);void taskTwo(void);void ledInit(void);void TestIsr(void);/* 创建任务TaskA TaskB*/void taskcreat(void)printf(nnnnn);/*Spawn the two tasks*/3if(taskIdA=taskSp
11、awn(taskA,100,0x100,20000,(FUNCPTR)taskOne,0,0,0,0,0,0,0,0,0,0)=ERROR) printf(taskSpawn taskA failedn);if(taskIdB=taskSpawn(taskB,100,0x100,20000,(FUNCPTR)taskTwo,0,0,0,0,0,0,0,0,0,0)=ERROR) printf(taskSpawn taskB failedn);/*Taskone*/void taskOne(void)while(1)*PBDAT(vxImmrGet() &= 0xfffffcff;*PBDAT(
12、vxImmrGet() |= 0x00000200;/*Tasktwo*/void taskTwo(void)while(1)*PBDA T(vxImmrGet() &= 0xfffffcff;*PBDA T(vxImmrGet() |= 0x00000100;/*LED 初始化LedInit*/void ledInit(void)*PBODR(vxImmrGet() &= 0xfcff;*PBPAR(vxImmrGet() &= 0xfffffcff;*PBDIR(vxImmrGet() |= 0x00000300;/* 中断服务程序*/void TestIsr(void)*SIPEND(v
13、xImmrGet() |=0x00200000;/*?*/taskSuspend(taskIdA);taskSuspend(taskIdB);taskDelete(taskIdA);taskDelete(taskIdB);*PBDA T(vxImmrGet() &= 0xfffffcff;logMsg(Interrupt is OK n,0,0,0,0,0,0);4/* 主函数 Vx_main*/void vx_main(void)printf(this is ISR test programn);KernelTimeSlice(5*sysClkRatGet();ledInit();taskcreat();*SIEL(vxImmrGet() |=0x00200000;intConnect(IV_IRQ5, (VOIDFUNCPTR)TestIsr, 0);intEnable(IV_IRQ5);五实验结果在 Winshell 下输入 -vx_main 后开发板上的LED3 、 LED4 交替点亮,每次一个LED 点亮 5 秒,当按下R2 后两个 LED 熄灭。六分析及总结1、交替点亮发光二极管我们采用的相同优先级任务的轮循执行机制,具体操作可设置TaskA 和 TaskB 的优先级相同,在此都设置为 100,在主函数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理专业论文题目参考大全
- 浅论Should Be Cost理念在汽车制造业成本控制中的应用
- 企业存货管理中的问题与对策开题报告
- 申论答题常见弊病大集合
- 会计学专业论文题目
- 理工科本科毕业论文写作格式要求(模版)
- 工程合同书样本公司印(3篇)
- 成人汉语言文学论文2000字-成人汉语言文学毕业论文范文模板
- 毕业论文工作进度如何合理安排和控制
- 会计学毕业论文选题依据
- 初中物理课程标准(2022版)测试题库附答案(物理新课程标准试题教师资格考试教师招聘考试试卷)
- 真菌性鼻鼻窦炎课件
- 既有线路基帮宽施工方案(锦承-改)
- ZZ024 美术造型赛题-2023年全国职业院校技能大赛拟设赛项赛题完整版(10套)
- 115个低风险病种ICD-10(2019 v2.0)编码表、专科医院单病种(术种)目录
- xx县副科选拔真题(干部选拔)
- GA 254-2022警服内穿衬衣
- 电力设备预防性试验规程
- GB 2758-2012食品安全国家标准发酵酒及其配制酒
- 高中数学《基于问题链的数学教学探索》课件
- 新视野大学英语(第三版)读写教程Book4-Unit1-Section-A-Love-and-logic-The-story-of-a-fallacy课件
评论
0/150
提交评论