东软ucos-ii教程-07-移植

东软ucos-ii教程-07-移植

ID:5373438

大小:2.75 MB

页数:61页

时间:2017-12-08

东软ucos-ii教程-07-移植_第1页
东软ucos-ii教程-07-移植_第2页
东软ucos-ii教程-07-移植_第3页
东软ucos-ii教程-07-移植_第4页
东软ucos-ii教程-07-移植_第5页
资源描述:

《东软ucos-ii教程-07-移植》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、七、uCOS-II的移植东软IT人才实训中心3Sept.2008Copyright2008ByNeusoftGroup.AllrightsreservedConfidential1第七章:uCOS-II的移植目标:学时:7.0学时本章旨在向学员介绍uC/OS-II的移植,通过本章的学习,学员应该掌握如下知识:教学方法:讲授ppt+上机练X移植uC/OS-II的一般性问题习+点评+案例分析X在MCS-51系统上移植uC/OS-II时的堆栈设计X移植的测试3Sept.2008Confidential7.1uc/os-II操作系统的移植ß所谓操作系统的移植,是

2、指使一个实时操作系统能够在某个特定的微处理器平台上运行。ßμCOS-II的主要代码都是由标准的C语言写成的,移植方便。但仍需要用汇编语言写一些与处理器相关的代码,这是因为µC/OS-Ⅱ在读写处理器寄存器时只能通过汇编语言来实现。ß移植的主要工作是修改部分与处理器硬件相关的代码。3Sept.2008Confidential7.1.1移植uC/OS-II满足的条件ß处理器的C编译器能产生可重入代码。ß在程序中可以打开或者关闭中断。ß处理器支持中断,并且能产生定时中断(通常在10-100Hz之间)。ß处理器支持能够容纳一定量数据的硬件堆栈(可能达几KB)ß处理

3、器有将堆栈指针和其他CPU寄存器存储和读出到堆栈(或者内存)的指令。3Sept.2008Confidential7.1.2什么是可重入代码∑可重入的代码指的是一段代码(比如:一个函数)可以被多个任务同时调用,而不必担心会破坏数据。∑也就是说,可重入型函数在任何时候都可以被中断执行,过一段时间以后又可以继续运行,而不会因为在函数中断的时候被其他的任务重新调用,影响函数中的数据。∑可重入的代码的实现主要是编程技术,所有嵌入式集成开发环境都能产生可重入的代码。inttemp;voidSwap(int*x,int*y){temp=*x;*x=*y;*y=temp

4、;}3Sept.2008Confidential7.1.3系统栈与任务栈的关系有些处理器对于堆栈的设置有特殊的要求,即要求堆栈必须设置在一个特定的区域,比如片内RAM。由于片内的RAM极其有限,不可能把应用程序中所有任务的堆栈都设置在片内RAM中,所以就只能把应用程序中各个任务堆栈的内容存放在片外RAM中,而只在片内RAM中设置一个公用的堆栈。CPU系统堆栈被中止运行的任……SP务堆栈……片外的RAM用来存放任务堆栈,片内RAM中是系统的公共堆栈,当系统运行某个任务时,就要把该任务的堆栈映像复制到系统……被运行的任务堆栈堆栈中;而在中止这个任务时,再把系

5、统堆栈中的内容复制回任务堆栈映像中。图7-1系统栈与任务栈的关系3Sept.2008Confidential7.1.4uC/OS-II文件结构图7-2uC/OS-II的文件结构3Sept.2008Confidential7.1.5需要修改的关键函数和宏定义名称函数/宏定义所在文件语言功能OS_CRITICAL_METHOD宏定义OS_CPU.HC语言处理临界段方式选择OS_STK_GROWTH宏定义OS_CPU.HC语言堆栈增长方向OS_ENTER_CRITICAL()宏定义OS_CPU.HC语言进入临界区OS_EXIT_CRITICAL()宏定义OS_

6、CPU.HC语言退出临界区OSStartHighRdy()函数OS_CPU_A.ASM汇编就绪态最高优先级任务运行OSCtxSw()函数OS_CPU_A.ASM汇编任务级任务切换OSIntCtxSw()函数OS_CPU_A.ASM汇编中断级任务切换OSTickISR()函数OS_CPU_A.ASM汇编时钟节拍OSTaskStkInit()函数OS_CPU_C.CC语言任务堆栈初始化表7-1需要修改的关键函数和宏定义3Sept.2008Confidential7.1.6INCLUDES.H∑使得项目中的每个.c文件不用分别考虑它实际上需要那些头文件。∑它会

7、包含一些不相关的头文件∑INCLUDES.H是一个头文件,它在所有的.c文件的第一行被包含。∑#include“includes.h”/****************************************************************************uC/OS-II实时内核*(c)Copyright1992-1998,JeanJ.Labrosse,Plantation,FL*版权所有*MCU-51专用代码KEILC51大模式编译**文件名:INCLUDES.H*作者:JeanJ.Labrosse***********

8、****************************************

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。