基于uCOS-II的嵌入式应用程序开发

上传人:xu****iu 文档编号:253239378 上传时间:2024-12-09 格式:PPT 页数:44 大小:762.50KB
收藏 版权申诉 举报 下载
基于uCOS-II的嵌入式应用程序开发_第1页
第1页 / 共44页
基于uCOS-II的嵌入式应用程序开发_第2页
第2页 / 共44页
基于uCOS-II的嵌入式应用程序开发_第3页
第3页 / 共44页
资源描述:

《基于uCOS-II的嵌入式应用程序开发》由会员分享,可在线阅读,更多相关《基于uCOS-II的嵌入式应用程序开发(44页珍藏版)》请在装配图网上搜索。

1、,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,Click to edit Master title style,XUPT,嵌入式系统,原理与应用,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Click to edit Master title style,Click to edit Master text styles,Second level,Th

2、ird level,Fourth level,Fifth level,Click to edit Master title style,*,第八章,基于,C/OS-II,的嵌入式应用程序开发,目 录,8.1,嵌入式应用程序开发的特点,8.2 C/OS-II,应用程序结构分析,8.3 C/OS-II,程序设计技术,8.4 C/OS-II,在,ARM,微处理器上的移植,8.5,应用程序设计及实例,2,8.1,嵌入式应用程序开发的特点,8.1.1,开发调试环境的建立,在嵌入式系统开发中,典型的调试环境一般通常由三部分构成:一是通用计算机(用来运行调试软件,称为调试主机);二是协议转换器(连接调试主机

3、发出的高级命令与微处理器,JTAG,接口的低级命令之间的接口);三是调试目标。硬件调试环境如下图:,3,8.1,嵌入式应用程序开发的特点,8.1.2,基于嵌入式处理器的直接编程技术,如果针对硬件电路直接设计应用程序,那么应用程序的代码必须包括以下几个部分:,启动部分:硬件加电后首先运行(硬件检测和资源分配),处理器管理部分:实现处理器状态转换和寄存器使用等,外围设备访问部分:外围设备(如串口)的初始化等,程序功能部分:实现程序所要完成的具体功能,这样设计程序对设计人员的能力要求是很高的。,4,8.1,嵌入式应用程序开发的特点,8.1.3,基于嵌入式操作系统的编程技术,随着嵌入式微处理器和程序设

4、计技术的发展,人们把一个大的程序从功能上可划分为三个部分:,板级支持包(,BSP,):其目的是屏蔽下层硬件,主要由,Boot Loader,和,Drivers,两部分构成。,嵌入式实时操作系统(,RTOS,)。,应用程序:基于相应操作系统、在相应开发环境下设计的并最终运行在相应目标机上的程序。,这里,可由掌握不同技术的人去设计不同的部分,并在三部分之间设计相应的接口以供三部分之间相互调用。,5,8.2 C/OS-II,应用程序结构分析,下面以一个简单实例来说明基于,C/OS-II,操作系统设计的嵌入式应用程序的结构。,程序清单,8.1,两个,LED,交替闪烁,#include“config.h

5、”(1),#define LED1 (118)/,定义,LED1,,,P1.18,控制,LED1(2),#define LED2 (119)/,定义,LED2,,,P1.19,控制,LED2(3),#define TASK_STACK_SIZE 128 /,定义用户任务的堆栈长度,(4),OS_STK task1StkTASK_STACK_SIZE;/,定义任务,LED1,的堆栈,(5),OS_STK task2StkTASK_STACK_SIZE;/,定义任务,LED2,的堆栈,(6),void task1(void*pdata);/LED1,任务函数声明,(7),void task2(vo

6、id*pdata);/LED2,任务函数声明,(8),6,8.2 C/OS-II,应用程序结构分析,7,int main(void)/,主函数,(9),OSInit();/,初始化,C/OS-II(10),OSTaskCreate(task1,(void*)0,/,创建,LED1,任务,/,优先级为,4 (11),OSTaskCreate(task2,(void*)0,/,创建,LED2,任务,/,优先级为,5 (12),OSStart();/,启动,C/OS-II,任务开始执行,(13),return(0);(14),/main,函数中所调用的,OSInit,、,OSTaskCreate,和

7、,OSStart,,,是,/C/OS-II,操作系统提供的,API,函数。,/main,函数并没有直接调用,task1,和,task2,,只是在,main,中调用,/OSTaskCreate,创建两个任务时分别把,task1,和,task2,作为参数。,8.2 C/OS-II,应用程序结构分析,8,void task1(void*pdata)/,任务,LED1,函数定义,(15),pdata=pdata;/,防止出现编译警告,(16),TargetInit();/,目标板初始化,包括初始化中断系统,(17),PINSEL2&=,0 x08;/,选择管脚,P1.18,25,为,GPIO(18),

8、IO1DIR|=0 x0318;/,设置,LED(P1.18,、,P1.19),为输出,(19),IO1SET=0 x03=0 x1fc,INFO 1,nThe data at 0 x000001fc must be 0 x87654321.nPlease delete some source before this line.,ENDIF,CrpData,WHILE.0 x1fc,NOP ;,循环用,NOP,填充,直到,0 x1fc,WEND,CrpData1,DCD 0 x87654321 ;,当此数为,0 x87654321,时,用户程序被保护,ENDIF,40,8.5,应用程序设计及实

9、例,;,各模式堆栈空间分配,AREA MyStacks,DATA,NOINIT,ALIGN=2;,通过分散加载文件定位,SvcStackSpace SPACE SVC_STACK_LEGTH*4 ;,管理模式堆栈空间,IrqStackSpace SPACE IRQ_STACK_LEGTH*4 ;,中断模式堆栈空间,FiqStackSpace SPACE FIQ_STACK_LEGTH*4 ;,快速中断模式堆栈空间,AbtStackSpace SPACE ABT_STACK_LEGTH*4 ;,中止模式堆栈空间,UndtStackSpace SPACE UND_STACK_LEGTH*4 ;,未

10、定义模式堆栈空间,AREA Heap,DATA,NOINIT ;Heap,通过分散加载文件定位,bottom_of_heap SPACE 1,AREA Stacks,DATA,NOINIT ;Stacks,通过分散加载文件定位,StackUsr,END,41,8.5,应用程序设计及实例,从前面知道,,ARM,芯片复位后,系统进入管理模式、,ARM,状态,此时,PC,寄存器的值为,0 x00000000,系统就从,0 x00000000,处开始执行程序。而,0 x00000000,处放置着异常向量表,程序将根据异常向量表进行跳转。其执行过程如下:,芯片根据异常处理程序地址表,得到复位处理程序(,

11、ResetInit,)的地址,并跳转到复位处理程序(,ResetInit,)处去执行。,调用,InitStack(),函数,初始化,ARM,处理器各工作模式的堆栈。,调用目标板初始化函数(在,TARGET.C,中定义),初始化目标板。,跳转到用户,C,程序入口,main(),处,执行用户程序。,在芯片启动过程中,在堆栈初始化(,InitStack(),函数)的末尾,处理器切换到系统模式,因而用户程序是在系统模式下运行的。,42,8.5,应用程序设计及实例,目标板初始化(,TARGET.C,),目标板初始化代码文件是用,C,语言编写的,其内容主要包括:启动代码调用的初始化函数、用户调用的初始化函

12、数、一些异常处理函数以及一些系统库函数的实现等。,有关的头文件(*,.H,),要设计一个系统,为了进行必要类型定义、常量与变量声明以及函数声明等,会有各种各样的头文件。如下:,用户配置文件(,config.h,):包含一些类型定义和系统时钟定义。,target.h,文件:包含一些特殊定义和开,/,关,IRQ,中断、,FIQ,中断的函数声明。根据所用的目标板和编译器的要求来修改该文件。,LPC2294.h,文件:包含,LPC2000,系列芯片的特殊寄存器定义文件,其中包含特殊寄存器的定义及固件程序函数的声明。,43,8.5,应用程序设计及实例,44,分散加载文件(*,.scf,),有时候希望把不同的代码放在不同的存储空间上,也就是生成的映像文件需要包含多个域,每个域在加载和运行时可以有不同的地址。要生成这样的映像文件,必须通过某种方式告诉连接器相关的地址映射关系。在,ADS,中,可以通过分散加载机制实现。,8.5.2,应用程序设计,(参考书中相关实例),(完),

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

相关资源

更多
正为您匹配相似的精品文档
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  sobing.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!