uCOS-II操作系统简介及实验课件.ppt

  1. 1、本文档共85页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7.3 ?C/OS-II在S3C2410上的移植 设置OS_CPU.H中与处理器和编译器相关的代码 用C语言编写六个操作系统相关的函数(OS_CPU_C.C) 用汇编语言编写四个与处理器相关的函数(OS_CPU.ASM) 设置与处理器和编译器相关的代码 OS_CPU.H中定义了与编译器相关的数据类型。比如:INT8U、INT16U等。 与 ARM处理器相关的代码,使用 OS_ENTER_CRITICAL() 和 OS_EXIT_CRITICAL() 宏开启/关闭中断 设置堆栈的增长方向 :堆栈由高地址向低地址增长 #define OS_STK_GROWTH 1 (1=向下, 0=向上 ) 用C语言编写六个操作系统相关的函数 void *OSTaskStkInit (void (*task)(void *pd),void *pdata, void *ptos, INT16U opt) void OSTaskCreateHook (OS_TCB *ptcb) void OSTaskDelHook (OS_TCB *ptcb) void OSTaskSwHook (void) void OSTaskStatHook (void) void OSTimeTickHook (void) 后5个函数为钩子函数,可以不加代码 用汇编语言编写四个与处理器相关的函数 OSStartHighRdy() OSCtxSw() OSIntCtxSw() OSTickISR() 关于移植 相对于其他的嵌入式操作系统,uCOS-II的移植虽然是一个很简单的过程,但是,对于不熟悉uCOS-II的开发者,移植还是有一定难度的。 移植工作除了要熟悉μC/OS-Ⅱ的原理外,还要对处理器和C编译器的技术细节有一定程度的理解。 移植要点 定义函数OS_ENTER_CRITICAL和OS_ENTER_CRITICAL。 定义函数OS_TASK_SW执行任务切换。 定义函数OSCtxSw实现用户级上下文切换,用纯汇编实现。 定义函数OSIntCtxSw实现中断级任务切换,用纯汇编实现。 定义函数OSTickISR。 定义OSTaskStkInit来初始化任务的堆栈。 uC/OS的改进 固定的基于优先级的调度,不支持时间片,使用起来不方便。一个任务的基础上增加一个基于时间片的微型调度核 在对临界资源的访问上使用关闭中断实现,没有使用CPU提供的硬件指令,例如测试并置位。 系统时钟中断,没有提供用户使用定时器,可以借鉴linux的定时器加以修改 可以加上文件系统和TCP/IP协议栈 八、 uCOS-II操作系统实验 8.1 实验准备 8.2 uC/OS-II多任务应用程序实验 8.3 uC/OS-II任务间同步实验 8.4 uC/OS-II任务间通讯实验 8.5 uC/OS-II键盘驱动实验 8.1 实验准备-硬件连接 将实验箱配套电源线连接到220V交流插座,并将其与实验箱连接。 关闭实验箱电源开关(在实验箱左侧)。 将实验箱配套串口线连接到计算机串口和实验箱的UART0之间 将实验箱配套的并口延长线一头连接到计算机,另外一头连接到实验箱,有两种连接方式: 连接到上方的并口插座(实为简易JTAG插座,USB插座边上),此时请检查其下方的SIMPLE JTAG跳线,必须用跳线帽短接 连接到ADT1000A仿真器,仿真器接上配套电源,并用配套的20Pin软线连接到上方的JTAG接口,此时请检查其下方的SIMPLE JTAG跳线,跳线帽必须断开 硬件连接注意事项 上述操作必须在实验箱断电状态进行,否则,容易将实验箱或者计算机的并口芯片烧坏 如果SIMPLE JTAG跳线短接此时使用实验箱内部的简易JTAG接口(ARM9Simple) 如果SIMPLE JTAG跳线断开此时使用外置高级仿真器(ARM9Lpt) 连接正确后将实验箱上电,观察LCD,等待程序启动到如下界面(LCD显示为绿色底白色字的界面)时开始后面的操作 JX2410 # 8.2 uC/OS-II多任务应用程序实验 实验目的:掌握uC/OS-II下基本多任务应用程序的编写。 实验内容:实现跑马灯和数码管显示的功能。 实验方法: 1、调用函数ARMTargetInit初始化ARM处理器; 2、调用OSInit进行操作系统初始化; 3、调用OSTaskCreate创建任务 TaskLED和TaskSEG; 4、调用ARMTargetStart函数启动时钟节拍中断; 5、调用OSStart启动系统任务调度。 实验步骤 1、创建好的模板工程Eg1,并修改相应的设置。 2、新建一个文件Eg1.c,并将其添加到Eg1工程的App文件夹中。 3、添加两个任务,TaskLED和Ta

文档评论(0)

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

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

1亿VIP精品文档

相关文档