uCOS-Ⅱ移植实验.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
uCOS-Ⅱ移植实验

《DSP技术与应用: μC/OS-Ⅱ移植实验 系(院): 计算机工程学院 专 业: 计算机科学与技术(嵌入式系统软件设计) 班 级: 计算机1073 姓 名: 学 号: 指导教师: 学年学期: 2009 ~ 2010 学年 第 2 学期 2010 年 6 月 12 日 设计任务书 课题 名称 Ucos-的移植实验 设计 目的 了解嵌入式操作系统的一些基本概念 了解汇编相关知识 学习并了解μC/OS-Ⅱ在DPS处理器上的移植过程 由CCS软件将μC/OS-Ⅱ操作系统移植到DPS试验箱上并实现部分功能 实验 环境 1.Windows 2000以上操作系统; 2. CCS环境; 任务 要求 利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求,注意材料收集与整理; 在第14周末之前完成预设计,并请指导教师审查。通过后方可进行下一步工作; 按指导书要求设计软件,实现设计的功能,并显示正确的结果; 要求形成稳定的程序软件,可以运行,方可申请参加答辩; 工作进度计划 序号 起止日期 工 作 内 容 1 2010.6.12~2010.6.13 在预设计的基础上,进一步查阅资料,完成硬件电路设计和焊接。 2 2010.6.13~2010.6.14 编写软件代码, 调试与完善。 3 2010.6.15~2010.6.17 测试程序,优化代码,增强功能,撰写课程设计报告。 4 2010.6.17~2010.6.18 提交软件代码、硬件电路成果和设计报告,参加答辩。 指导教师(签章): 年 月 日 摘要: 这次实验是将μC/OS-Ⅱ移植到DSP处理器上。μC/OS-Ⅱ系统其主要特点有公开源代码,代码结构清晰、明了,注释详尽,组织有条理,可移植性好,可裁剪,可固化。内核属于抢占式,最多可以管理60个任务。1.μC/OS-Ⅱ操作系统与DSP芯片简介 1 1.1μC/OS-Ⅱ简介 1 1.2μC/OS-Ⅱ工作原理 1 1.3 DSP芯片简介 2 2.任务分配说明 2 3 OS-CPU.H的移植 4 3.1定义数据类型 4 3.2 DSP相关宏定义 4 3.3堆栈增长方向和任务切换函数 4 4 OS-CPU.c的移植 4 4.1 OS-CPU.c移植简介 5 4.2堆栈初始化的汇编代码 6 5. OS-CPU-ASM的移植 6 5.1 OSStartHighRdy() 7 5.2 OSCtxSw() 7 5.3 OSIntCtxSw() 7 5.4 OSTickISR() 8 6 程序调试结果和分析 8 总结 9 参考文献 10 1.μC/OS-Ⅱ操作系统与DSP芯片简介 1.1μC/OS-Ⅱ简介 u C / O S 是一种公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统,商业应用需要付费。μC/OS-II 是专门为计算机的嵌入式应用设计的, 绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌人到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点, 最小内核可编译至 2KB 。μC/OS-II 已经移植到了几乎所有知名的CPU 上。uC/OS-II是一种基于优先级的可抢先的硬实时内核。 要实现多任务机制,那么目标CPU必须具备一种在运行期更改PC的途径,否则无法做到切换。不幸的使,直接设置PC指针,目前还没有哪个CPU支持这样的指令。但是一般CPU都允许通过类似JMP,CALL这样的指令来间接的修改PC。我们的多任务机制的实现也正是基于这个出发点。事实上,我们使用CALL指令或者软中断指令来修改PC,主要是软中断。但在一些CPU上,并不存在软中断这样的概念,所以,我们在那些CPU上,使用几条PUSH指令加上一条CALL指令来模拟一次软中断的发生。 在uC/OS-II里,每个任务都有一个任务控制块(Task Control Block),这是一个比较复杂的数据结构。在任务控制快的偏移为0的地方,存储着一个指针,它记录了所属任务的专用堆栈地址。事实上,再uC/OS-II内,每个任务都有自己的专用堆栈,彼此之间不能侵犯。这点要求程序员再他们的程序中保证。一般的做法是把他

您可能关注的文档

文档评论(0)

feixiang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档