网站大量收购独家精品文档,联系QQ:2885784924

μC-OS系统移植实验预习报告.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
μC-OS系统移植实验预习报告

实验一:uC/OS-II在ARM平台的移植 实验目的 1.了解uC/OS-II 内核的主要结构。 2.掌握将uC/OS-II 内核移植到ARM9 处理器上的基本方法。 二、实验内容 1.将uCOS-II 内核移植到ARM920T 微处理器上。 2.编写两个简单任务,在超级终端上观察两个任务的切换。 实验原理 所谓移植,指的是一个操作系统可以在某个微处理器或者微控制器上运行。虽然 uCOS-II 的大部分源代码是用 C 语言写成的,仍需要用 C 语言和汇编语言完成一些与处理器相关的代 码。比如:uCOS-II 在读写处理器、寄存器时只能通过汇编语言来实现。因为 uCOS-II 在设 计的时候就已经充分考虑了可移植性,所以,uCOS-II 的移植还是比较容易的。 要使 uCOS-II 可以正常工作,处理器必须满足以下要求: 1.处理器的 C 编译器能产生可重入代码。 可重入的代码指的是一段代码(如一个函数)可以被多个任务同时调用,而不必担心会破坏数据。也就是说,可重入型函数在任何时候都可以被中断执行,过一段时间以后又可以继续运行,而不会因为在函数中断的时候被其他的任务重新调用,影响函数中的数据。下面的两个例子可以比较可重入型函数和非可重入型函数: 程序 1:可重入型函数 void swap int *x, int *y int temp; temp *x; *x *y; *y temp; 程序 2:非可重入型函数 int temp; void swap int *x, int *y temp *x; *x *y; *y temp; 程序 1 中使用的是局部变量 temp 作为变量。通常的 C 编译器,把局部变量分配在栈中。 所以,多次调用同一个函数,可以保证每次的 temp 互不受影响。而程序 2 中 temp 定义的是 全局变量,多次调用函数的时候,必然受到影响。 代码的可重入性是保证完成多任务的基础,除了在 C 程序中使用局部变量以外,还需要 C 编译器的支持。笔者使用的是 ARM ADS 的集成开发环境,均可以生成可重入的代码。 2.在程序中可以打开或者关闭中断。 在 uCOS-II 中,可以通过 OS_ENTER_CRITICAL 或者 OS_EXIT_CRITICAL 宏来控制系统 关闭或者打开中断。这需要处理器的支持,在 ARM920T 的处理器上,可以设置相应的寄存器 来关闭或者打开系统的所有中断。 3.处理器支持中断,并且能产生定时中断(通常在 10Hz~1000Hz 之间)。 uCOS-II 是通过处理器产生的定时器的中断来实现多任务之间的调度的。在 ARM920T 的 处理器上可以产生定时器中断。 4.处理器支持能够容纳一定量数据的硬件堆栈。 5.处理器有将堆栈指针和其它 CPU 寄存器存储和读出到堆栈(或者内存)的指令。 uCOS-II 进行任务调度的时候,会把当前任务的 CPU 寄存器存放到此任务的堆栈中,然 后,再从另一个任务的堆栈中恢复原来的工作寄存器,继续运行另一个任务。所以,寄存器 的入栈和出栈是 uCOS-II 多任务调度的基础。 图 4-1 说明了 uC/OS 的结构以及它与硬件的关系。 ARM920T 处理器完全满足上述要求。接下来将介绍如何把 uCOS-II 移植到 Samsung 公司 的一款 ARM920T 的嵌入式处理器——S3C2410X 上。 实验设备 硬件:ARM 嵌入式开发平台、用于 ARM920T 的 JTAG 仿真器、PC 机 Pentium100 以上。 软件:PC 机操作系统 Win2000 或 WinXP、ARM ADS1.2 集成开发环境、仿真器驱动程序、 超级终端通讯程序 四、实验步骤 1.该实验的文件分为两类,其一是STARTUP 目录下的系统初始化、配置等文件,其二 是uCOS-II 的全部源码,arch 目录下的3 个文件是和处理器架构相关的。 2.设置os_cpu.h 中与处理器和编译器相关的代码 3.用C 语言编写6 个操作系统相关的函数(OS_CPU_C.C) 1)OSTaskStkInit 2)OSTaskCreateHook 3)OSTaskDelHook 4)OSTaskSwHook 5)OSTaskStatHook 6)OSTimeTickHook 4.用汇编语言编写4 个与处理器相关的函数(OS_CPU.ASM) 1)OSStartHighRdy ;运行优先级最高的就绪任务 2)OS_TASK_SW ; 任务级的任务切换函数 3)OSIntCtxSw ;中断级的任务切换函数 4)OSTickISR ;时钟节拍中断 5. 编写一个简单的多任务程序来测试一下移植是否成功。

文档评论(0)

gangshou + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档