实时操作系统uC/OS一Ⅱ在ARM上的移植—软件仿真.docx

实时操作系统uC/OS一Ⅱ在ARM上的移植—软件仿真.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实时操作系统 uC /OS 一Ⅱ在 ARM 上的移植—软件仿真 实时操作系统 uC / OS 一Ⅱ在 ARM 上的移植—软件仿 真 摘 要:介绍了实时操作系统 uC / OS — II 的特点 ,讨论了其在 LPC2106 上移植的可能性, 成功通过软件仿真地将 uC /OS — II 移植到 LPC2106 上, 并通过例程验证了移植代码的正确性。 注:本文是引用期刊“实时操作系统的移植,作者:王晓鸣、王树新序实现了对系统移植的软件仿真。  uC /OS — II 在 ARM 上 、张宏伟”结合了网上的程 0:引 言 目前嵌入式系统在家电、 移动电话、 PDA 等各种领域的应用 日益广泛,程序设计也越来越复杂,这就需要采用一个通用 的嵌入式操作系统来对其进行管理和控制。移植 了操作系 统 的嵌入式系统开发,可大大减 轻程序员的负担,操作系 统提供了多任务的管理功能, 只需专注于每个任务的管理。 对于不同的应用,可以按照相同的步骤完成系统设计。如果 更换硬件平台,则只需要对操作系统进行少量的移植工作, 与硬件无关的应用代码完全无需修改,同时,可增强代码的 可读性、可维护性和可扩展性。 uC / OS — II 是一个可裁减 的、源代码开放 的、结构小巧、可剥夺型的实时多任务内 核,它提供任务调度、 任务间的通信与同步、 任务管理、 时 间管理和内存管理 等基本功能。 将 uC / OS —II 移植到嵌入 式处理器上, 对于提高产品质量、 缩短开发周期和降低 成本等方面有着重 要的意 义。本 文主要介 绍 uC /OS — II 在飞利浦的一款 AR M7TDMI 的嵌入式处理器 LPC2106 应 用。 嵌入式操作系统 uC /OS —II . 1uC /OS — II 简介 uC /OS — II 是一种性能优良源码公开且被广泛应用的免费 嵌入式操作系统,它结构小巧、具有基于优先级的抢占式实 时多任务内核,绝大部分代码是用 ANSI C 语言编写的,与 硬件相关部分用汇编语言编写,使之可供不同构架的微处理 器使用。只要有标准的 ANSI C 交叉编译器,有汇编器、链 接器等软件工具,就可以将 uC / OS —II 嵌入到开发的产品 中。 uC /OS — II 是面向中小型嵌入式系统,具有执行效率高、 占用空间小、实时性能优良和可扩展性强等特点,包含全部 功能模块的内核大约为 10kB 。如果经过裁减只保留核心代 码,则可压缩到 3kB 左右。严格地 说 uC / OS — II 只是一 个实时操作系统内核,它仅仅包含了任务调度、任务管理、 时间管理、内存管理和任务间的通信和同步等基本功能,没 有提供输入输出管理、文件系统、网络等额外的服务。但由 于 uC /OS — II 良好的可扩展性和源码开放,这些非必需的功能完全可以由用户自己根据需要分别实现。 1. 2 uC /OS — II 的工作原理 uC /OS — II 的工作流程如图 1 所示:首先进行操作系统初 始化,主要完成任务控制块 (TCB) 初始化;然后就可以开始 创建新任务、初始化任务堆栈区;最后调用 OSSTART() 函数, 启动多任务调度 。在多任务调度开始后,启动时钟节拍源开始计时。此节拍源为系统提供周期性的时钟中断信号、实现延时和超时确认。当时钟中断来临时,系统把当前正在 执行的任务挂起,保护现场,进行中断处理,判断有无任务延时到期。若有,则使该任务进入就绪态,并对所有进入就绪态的任务的优先级进行比较,通过任务切换去执行最高优先级的任务。若没有别的任务进入就绪态,则恢复现场继续执行原任务 。另一种调度方式是任务级的调度,即通过发软中断命令或依靠处理器在任务执行中调度。如任务要等待信号量或一个正在执行的任务被挂起时,就需要在此任务中调度,找出目前处于就绪态的优先级最高的任务去执行。当没有任何任务进入就绪态时,就去执行空任务。 1.3 UC/OS 的移植要求 UC/OS 的正常运行需要处理器平台满足以下要求: 处理器的 C 编译器能产生可重入代码。 用 C 语言就可以打开和关闭中断。 c) 处理器支持中断,并且能产生定时中断 (通常在 10 至 100Hz 之间 )。 处理器支持能够容纳一定量数据 (可能是几千字节 )的硬件堆栈。 处理器有将堆栈指针和其它 CPU 寄存器读出和存储到堆栈或内存中的指令。 我们的 KEIL 和 ADS 均支持 UC/OS 的要求。因此可以在 LPC2000 系列上移值。 2 基于 LPC1602 的软件仿真电路 LPC1602 是 PHILIPS 公司推出的一款功能强大、超低功耗且具有 ARM7TDMI 内核的 32 位微控制器。 它具有丰富的片上资源,完全可以满足一般的工业控制需要,同时还可

文档评论(0)

187****4751 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档