欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年实验报告——嵌入式实时操作系统实验.docx

    • 资源ID:27238571       资源大小:77.03KB        全文页数:9页
    • 资源格式: DOCX        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年实验报告——嵌入式实时操作系统实验.docx

    精选学习资料 - - - - - - - - - 专 业 实 验 报 告试验名称嵌入式实时操作系统试验试验时间2022-06-05 到 2022-06-20王韬同学姓名丁代荣学号20221213012 指导老师试验进度支配:第一次试验 2022-06-05 第 13 周日 下午 3:00-6:00 分组一 晚上 7:00-10:00 分组二 ;试验内容为 1.调试多任务创建程序懂得多任务调度算法;2.任务间通信:调试供应的参考程序,改写为客户机服务器模型 3.任务间同步:调试供应的参考程序,改写为单向同步,考虑同步丢失的现象,将二进制信号量换为计数 式信号量观看程序执行结果;其次次试验2022-06-06 第 14 周六 晚上 7:00-10:00 分组一 周日晚上7:00-10:00 分组二 ;试验内容为1.多任务间互斥操作,懂得互斥信号量的使用,以及优先级翻转现象及优先级继承算法;2.嵌入式系统的开发流程:基于 ppc860或者 s3c4510 试验板 和 VxWorks 的嵌入式系统软件开发流程 第三次试验2022-06-19 (第 15 周周六)晚上7:00-10:00 分组一 周日晚上7:00-10:00 分组二 ;试验内容为1.中断服务程序及中断掌握器初始例程设计:懂得 的参考试验例程ISR 的设计约束,以及中断掌握器的初始化,调试供应2.定时器驱动程序设计:把握看门狗定时器的使用方法,懂得帮助时钟定时器的工作原理,把握驱动程序设计方法及应用程序中使用定时器的方法第四次试验2022-06-20 (第 16 周周六)晚上 7:00-10:00 分组一 周日晚上 7:00-10:00 分组二 ;试验内容为:1. IO 设备驱动程序设计:2. 嵌入式系统交叉编译-makefile 文件的编写与使用3. 嵌入式系统的交叉调试-browser,windsh,debuger 工具使用第五次试验 最终一次试验(评定成果)2022-06-20 (第 16 周周日)晚上 7:00-10:00 分组二一检查前几次试验 ,重点检查以下试验1.嵌入式系统开发流程2.嵌入式系统交叉编译makefile 文件编写综合试验课题二综合试验题目(任选一个)1.编写程序,实现以下功能tInitTask ,一个生产者任务tSendTask,一个消费者任务tReceiveTask; 系统包含三个任务, 一个初始化任务要求 tSendTaskt 与 ReceiveTask 之间使用消息队列传递数据;要求 tInitTask 能设置 tSendTask 和 tReceiveTask 的优先级,要求 tInitTask 能设置传递消息的数量和消息队列的大小;2. 编写程序,实现以下功能要求系统具有两个任务,两个任务之间使用二进制信号和计数式信号量实现同步当在 windSh 下执行 semTest b使用二进制信号量实现任务之间的同步执行 semTest c使用计数式信号量实现任务之间的同步3. 编写程序,实现以下功能使用二进制信号量实现帮助时钟定时器服务程序与任务之间的同步;当按下 R2 按钮 irq5 中断按钮 时,停止定时器工作;4. 编写程序,实现以下功能1 名师归纳总结 - - - - - - -第 1 页,共 5 页精选学习资料 - - - - - - - - - 当执行 timerTestStart w 时,使用看门狗定时器实现信息的周期打印当执行 timerTestStart a 时,使用帮助时钟实现信息的周期打印当执行 timerTestStop w 时,停止看门定时器当执行 timerTestStop a 时, 停止帮助时钟5. 编写程序,实现以下功能系统有两个任务 tTaskA,tTaskB ;当 tTaskA 执行时点亮发光二极管 LED3 ,当 tTaskB 执行时点亮发光二极管 LED4 ;当按下 R2,熄灭 LED3 与 LED4 ,并删除掉 tTaskA 与 tTaskB 6. 编写程序,实现以下功能系统有两个任务,tClientTask 和 tServerTask;它们之间使用消息队列实现任务间的通信,tClientTask 发送消息 函数名, 如 add 和参数 ,tServerTask 接收消息,在服务器任务上执行函数照实现加法运算,将执行的结果通过另一个消息队列返回给tClientTask任务, tClientTask 打印结果;7. 编写程序,实现以下功能编写帮助时钟驱动程序 1 分钟中断一次 ,每隔一分钟点亮一次发光二极管,点量发光二极管要求用字符型IO 设备驱动程序实现 如使用 ioctl 函数,或者 write 函数 ;8. 编写程序实现以下功能:系统有两个任务,分别为 tTaskA 和 tTaskB:当 tTaskA 执行时,发光二极管 LED3 点亮 5 秒,当 tTaskB 执行时,发光二极管 LED4 点亮 5 秒;点亮发光二极管均使用设备驱动程序 如使用 ioctl 函数,或者 write 函数,时间 5s 使用 taskDelay 函数实现,要求独占拜访发光二极管 使用互斥信号量实现 ;9. 编写程序实现以下功能:要求系统中有三个任务,tTaskA 和 tTaskB,以及 tTaskC,要求实现独立型同步或关联型同步;可使用二进制信号量或者大事机制 2 名师归纳总结 - - - - - - -第 2 页,共 5 页精选学习资料 - - - - - - - - - 试验报告主题部分一试验目的1.熟识任务创建使用与删除,2.把握中断的使用,懂得中断服务程序,中断向量等概念,3.把握 led 的初始化和点亮方法;二试验内容 挑选综合试验 5:编写程序,实现以下功能 tTaskA,tTaskB ;系统有两个任务 当 tTaskA 执行时点亮发光二极管 LED3 ,当 tTaskB 执行时点亮发光二极管 LED4 ;当按下 R2,熄灭 LED3 与 LED4 ,并删除掉 tTaskA 与 tTaskB 三试验步骤1.连接好开发板,创建bootable 工程,生成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/ppc860siu.h" #include "drv/intrctl/ppc860Intr.h" #include "kernelLib.h" /* 全局变量 */ int taskIdA; int taskIdB; /* 函数声明 */ void taskcreatvoid; void taskOnevoid; void taskTwovoid; void ledInitvoid; void TestIsrvoid; /* 创建任务 TaskA TaskB*/ void taskcreatvoid printf"nnnnn" /*Spawn the two tasks*/ 3 名师归纳总结 - - - - - - -第 3 页,共 5 页精选学习资料 - - - - - - - - - iftaskIdA=taskSpawn"taskA",100,0x100,20000,FUNCPTRtaskOne,0,0,0,0,0,0,0,0,0,0=ERROR printf"taskSpawn taskA failedn" iftaskIdB=taskSpawn"taskB",100,0x100,20000,FUNCPTRtaskTwo,0,0,0,0,0,0,0,0,0,0=ERROR printf"taskSpawn taskB failedn" /*Taskone*/ void taskOnevoid while1 *PBDATvxImmrGet &= 0xfffffcff; *PBDATvxImmrGet |= 0x00000200; /*Tasktwo*/ void taskTwovoid while1 *PBDA TvxImmrGet &= 0xfffffcff; *PBDA TvxImmrGet |= 0x00000100; /*LED 初始化 LedInit*/ void ledInitvoid *PBODRvxImmrGet &= 0xfcff; *PBPARvxImmrGet &= 0xfffffcff; *PBDIRvxImmrGet |= 0x00000300; /* 中断服务程序 */ void TestIsrvoid *SIPENDvxImmrGet |=0x00200000; taskSuspendtaskIdA; taskSuspendtaskIdB; taskDeletetaskIdA; taskDeletetaskIdB; *PBDA TvxImmrGet &= 0xfffffcff; /*.*/ logMsg"Interrupt is OK n",0,0,0,0,0,0; 4 名师归纳总结 - - - - - - -第 4 页,共 5 页精选学习资料 - - - - - - - - - /* 主函数 Vx_main*/ void vx_mainvoid printf"this is ISR test programn" KernelTimeSlice5*sysClkRatGet; ledInit; taskcreat; *SIELvxImmrGet |=0x00200000; intConnectIV_IRQ5, VOIDFUNCPTRTestIsr, 0; intEnableIV_IRQ5; 五试验结果在 Winshell 下输入 -vx_main 后开发板上的LED3 、LED4 交替点亮,每次一个LED 点亮 5 秒,当按下R2 后两个 LED 熄灭;六分析及总结1、交替点亮发光二极管我们采纳的相同优先级任务的轮循执行机制,详细操作可设置 TaskA 和 TaskB 的 优先级相同,在此都设置为 100,在主函数里面我们加入 KernelTimeSlice5*sysClkRatGet; 设置时间片为5 秒 2、试验过程中,修改过三处才运行出结果,第一、把任务删除时,先挂起再删除;其次、初始化 LED ,初始化可写成一个函数在主函数里调用即可;第三、时间片设置,这个不能忘,否就只有一个任务执行;3、通过试验使我对嵌入式的学习提高到了实践的高度,信任这肯定对后续的学习讨论有很大的促进作用;老师签名:考查成果 5 级计分 学分0.5 年月日5 名师归纳总结 - - - - - - -第 5 页,共 5 页

    注意事项

    本文(2022年实验报告——嵌入式实时操作系统实验.docx)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开