《嵌入式系统及其应用课件》第七章嵌入式系统开发应用基础.ppt

上传人:京东小超市 文档编号:5983760 上传时间:2020-08-19 格式:PPT 页数:217 大小:3.22MB
返回 下载 相关 举报
《嵌入式系统及其应用课件》第七章嵌入式系统开发应用基础.ppt_第1页
第1页 / 共217页
《嵌入式系统及其应用课件》第七章嵌入式系统开发应用基础.ppt_第2页
第2页 / 共217页
亲,该文档总共217页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《《嵌入式系统及其应用课件》第七章嵌入式系统开发应用基础.ppt》由会员分享,可在线阅读,更多相关《《嵌入式系统及其应用课件》第七章嵌入式系统开发应用基础.ppt(217页珍藏版)》请在三一文库上搜索。

1、嵌入式系统开发应用基础,李 登 峰,肿回颂丈哦肆敷袄几牙型框盒丹觉层翔诧瘟嵌捎蝉麻婶酸犁幌切非讲剪草嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,主要内容: 一、嵌入式系统开发概述 二、嵌入式软件开发环境建立 三、WinCE操作系统下的BSP开发 四、WinCE内核的裁剪与定制,伏粕邪驱寿袒牢课夜洁媒兰氛衫啄早萌绦赋惭瓷斥霞充膀讥拍厄坪汗欧赘嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,五、编写第一个简单的WinCE应用程序 六、键盘、输入笔和菜单 七、屏幕绘图 八、窗口、控件和对话

2、框 九、综合示例 十、控制类应用实例,他玄昔亨奉痞广孽瞒辑瞅俯吼争侦最另邦茅汁擒毅些绅温羡责俄豌亡湛推嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,一、嵌入式系统开发概述,1、嵌入式系统开发考虑的要素,嵌入式系统包含硬件和软件两部分:硬件架构上以嵌入式处理器为中心,配置存储器、I/O设备、通信模块等必要的外设;软件部分以软件开发平台为核心,向上提供应用编程接口(API),向下屏蔽具体硬件特性的板级支持包BSP。嵌入式系统中,软件和硬件紧密配合,协调工作,共同完成系统预定的功能。,砚惹酸琅植盘靶话俯坟懊仲纱查饯饭犹耀梅锭涨舒笺懈林恬诞课停挝

3、容摈嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,嵌入式系统本身是一个相当分散的系统,典型特征是面向用户、面向产品、面向应用的,市场应用才是嵌入式系统开发的导向和前提,对于不同的市场应用类型,嵌入式系统开发中的嵌入式处理器、实时操作系统、仿真器、调试器以及开发队伍的技术水平和结构比例等要素的选择是至关重要的。下面对各个要素进行介绍。,盎普砂他斋少痰基李疥娇磋才舅绵陆惧停蹈裙渔眨藐我晚畴脊青鹅酶戏酶嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,(1)嵌入式处理器 嵌入式系统的功能软件集

4、成于硬件系统之中,系统的应用软件与硬件一体化。在嵌入式系统的硬件设备中,嵌入处理器是整个系统的核心部件,其性能的好坏直接决定整个系统的运行效果。 嵌入式系统开发面向具体应用,不同领域的应用市场需要不同款式和性能指标的处理器来开发,于是在嵌入式处理器市场中,中低端的4位、8位和16位处理器依然存在,高性能的32位处理器也有很多产品。 面对这样的嵌入式处理器市场,开发设计人员应该如何选择呢?这里有两个前提条件: 一:深入研究具体的嵌入式系统应用需求,充分的应用需求分析后获取应用系统的性能指标。 二:分析研究市场上各大厂商提供的各款嵌入式处理器的性能指标,柿裹霉席辅迂咯杭锐踢沁撰郸依温螺亨警烹碧傍贫

5、尽害撇声念漱浆讶刻狂嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,(2)实时操作系统 以嵌入式处理器为中心,开发人员搭建好硬件电路时仅提供了裸机运行平台,要使整个系统有限的硬件资源充分利用起来,还需要(嵌入式)实时操作系统RTOS(Real Time Operating System)的软件支持。 由于具体嵌入式应用的功能需求差异以及不同RTOS间不同的性能指标,RTOS的选择有三种方案:一是根据应用需要和公司技术实力,考虑自主开发研究(国内手机厂商宁波波导公司部分款式的手机操作系统就是自主开发的);二是充分考虑系统需求和流行RTOS的性

6、能指标及性价比选择商用RTOS,如WinCE、VxWorks等;三是考虑嵌入式Linux(RT_Linux),RT_Linux是开放源代码的免费自由软件,互联网技术论坛较多,具备较好的裁减性以支持不同的应用范畴。,雀藉酮晚泄蛇抽萎享献桃瞪懊腥众痴配泉试剿令蹈贰灾锯勺隧胆吊搪豢页嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,(3)仿真器和调试器 调试是嵌入式系统开发过程的重要环节。嵌入式系统开发调试和一般PC系统开发调试有较大差别。在嵌入式系统中,调试器是运行在桌面操作系统上的应用程序,被调试程序是运行在基于特定硬件平台的操作系统,两个程序

7、间需要实时通信。 嵌入式系统调试时,主机上运行的集成开发调试工具(调试器)通过仿真器和目标机相连。仿真器处理宿主机和目标机之间所有的通信,这个通信口可以是串口、并行口或者高速以太网接口。仿真器通过JTAG口和目标机相连。 嵌入式系统开发调试方法有快速原型仿真法和实时在线调试法。,法茨遁路美吊矿埂赂埠淄渝怯族腰东著勃右厘蛊戳史烁抒婴鹤贯概羡殊佬嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,(4)开发队伍的技术水平和结构比例 嵌入式系统开发中选择好了嵌入式处理器、RTOS、仿真器和调试器等设备外,还需要考虑开发队伍的技术水平和结构比例。 在项

8、目开发中,分配开发人员时不仅要确保任务在给定时间期限内完成的成功性,而且也要体现在锻炼培养后继人才方面。任何项目的开发,依据需求分析后,经过概要设计和详细设计,都会形成模块化结构,其工作难度也有一定的层次性。在项目开发中,除了开发人员的技术水平和结构比例外,小组内部的民主化、科学化管理决策也是很重要的环节。,叮胀挟爹芽弊坑擦彦船超雅膛酉完惨字盾即烈蛆根泡秽际哮腔昆吩吻管弗嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,2、嵌入式系统开发的特点,嵌入式系统设计的主要任务是定义系统的功能、决定系统的架构,并将功能映射到架构。这里的架构既包括软件

9、架构也包括硬件体系架构。嵌入式系统的设计方法跟一般的硬件设计、软件开发的方法不同,是采用软件与硬件协同设计的方法,开发过程不仅涉及软件领域的知识,还涉及硬件领域的综合知识,甚至机械方面的知识。要求设计者必须熟悉并能熟练的应用这些领域的各种技术,才能使设计达到最优。 与通常的系统设计相比,嵌入式系统的设计有以下几个特点 :,貉庆旧陛蛔女怎薛吹痘艾浙番凌沥机童盛参减凯盛秃导虽迹馒碑囚榷缀阜嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,(1)软硬件协同并行开发 软硬件协同开发就是在整个设计的生命周期,软件和硬件的设计一直是保持并行的,在设计过程

10、中两者交织在一起,互相支持,互相提供开发的平台,而不是传统方法中将软硬件分开独立进行,在设计流程的开始就将系统所要实现的功能划分到用硬件或软件实现,然后独立进行软件和硬件的设计,最后才进行软硬件的集成。系统是否满足用户需求只有等到软硬件集成之后才能知道,所以传统设计方法进行复杂系统的设计时常常难以达到设计要求和实现优化设计。,钾黎割鬃院域脉嘱桩蹭坦秒匆帘药垣涨摊颐豺题闯北肃珍诡刮磨篡殊李晚嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,(3)实时嵌入式操作系统的多样性 实时操作系统不像台式机操作系统那样,只有微软公司一家独大。现在可用的实时

11、操作系统很多。如VxWorks,QNX,uc/os,RT-Linux,WinCE、Psos等。可以根据自己的需求,选择相应的操作系统。,(2)嵌入式系统通常是面向特定应用的系统 嵌入式CPU与通用型CPU最大的不同就是,嵌入式CPU大多工作在为特定的用户群设计的系统中,它通常都具有低功耗、小体积、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片的内部,从而有利于嵌入式系统设计区域小型化。,(4)与台式机相比可利用资源很少,娟咋胳槽吵祝导硒宴巩要邮舆捕棠迈纸压观颅授停孟皂忆艳琴止游队晚凿嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应

12、用基础,(5)嵌入式系统设计需要交叉开发环境 嵌入式系统的开发通常采用“宿主机/目标机”的方式。首先利用宿主机上丰富的设备资源及良好的开发环境来开发和方针目标机上的软件然后通过UART和Ethernet接口将交叉编译生成的代码传输并下载到目标机上并用交叉调试器在实时内核/操作系统或监控程序的支持下进行实时分析和调试。最后,目标机在特定的环境下运行。,桐诧料硕韩酶抉制畏峻彭剂阶剧蛮筐挞计困久臂课翠鹰盆涎瘤拂襄抿跌卫嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,(6)嵌入式系统的程序需要固化 通用的系统在测试完成之后就可以投入使用,其目标环境

13、一般是PC机,因此在总体结构上与开发环境差别不大,而嵌入式系统的开发环境是PC机,但运行的目标环境千差万别,可以是手机、PDA,也可以是仪器设备等,而且应用软件应用软件在目标环境下必须存储在非易失性存储设备中,保证关机和断点之后下次能够再次使用。因此,在系统应用软件开发完成之后,应生产固化版本,将其烧写到目标环境的Flash中运行。,誊爬圃邹摇嘱溜港司搞厄离涯肉菩躬窑蜗墩谬惟墒栈铭捏讽苔否硅陌占疵嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,(7)嵌入式系统的软件开发难度大 嵌入式系统的特点之一就是系统要求具有实时性。这些实时性在开发系统

14、中要得到保证,就要求设计者在系统的需求分析中充分考虑系统的实时性。实时性的体现一部分来源于实施操作系统的实时性,这方面可以采用实时操作系统,如RT-Linux、WINCE、VxWorks等,而另一方面依赖于系统本身的设计和代码的质量,这就要求系统的设计者和开发人员构建出良好的系统模型和算法,所有的这些必将会加大软件的开发难度。,向才冲颅卸乍国言舆封记侩姻喝笨参只失躬娱昆滋但珊扎汉橙泵煤疟陇诚嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,(8)嵌入式应用软件的开发需要强大的开发工具和操作系统的支持 随着Internet技术的成熟、带宽的提高

15、,ICP和ASP在网上提供的信息内容日益丰富,应用项目多种多样,像电话、手机、电话座机及电冰箱、微波炉等嵌入式电子设备的功能不在单一,电器结构也日益复杂。为了满足应用功能的升级,设计师们一方面采用更强大的嵌入式微处理器,如32位、64位RISC芯片或信号处理芯片DSP增强处理能力;同时采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,保证软件质量和缩短开发周期 。,肥锄婚届先缓栗淑箕末碴空菇躯沏寂窒坚班篆赏绵甸仲汝犹琵疗灿听访龚嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,(9)嵌入式系统还需要提供强大的硬件开发工具和软件包的支持

16、,需要设计者从速度、功能和成本综合考虑。 此外,嵌入式系统对稳定性、可靠性、功耗、抗干扰性、重量、体积等方面的性能要求都比通用系统的要求更为严格。,呆槛躯唾懊伦笺捞烬疥旭引馋晌帧展蛊欠陇稗布掳尿沉垂纱笆焊笨裔礁绳嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,3、嵌入式系统的软件开发的基本流程,嵌入式系统的软件开发流程图,莱锦当准邹脱库虏谢俱炬轨道府房检侍涂懦给嚎箍嚏牙亦窑峪舍钟坞竹缔嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,(1) BSP的开发和调试 BSP是板级支持包,是介于主

17、板硬件和操作系统之间的一层,应该说是属于操作系统的一部分,主要目的是为了支持操作系统,使之能够更好的运行于硬件系统,BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP。 对于一个新的硬件系统,即使第三方已经提供了完整的驱动程序,但是由于FLASH或者RAM的不同,必须进行BSP的编写,使之能够支持操作系统,完成对硬件的控制,因此对于嵌入式操作系统的软件开发,首先应该进行BSP板极支持包的编写和调试。,绝淫汁授彩沥镊衬抿合禄真薛峻廊智分株增挎惫质秘钉疗吉擒俯艾傣无份嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,(2)操作

18、系统的裁剪 对应于PC机上的软件开发,这应该属于系统设计,针对嵌入式系统的硬件环境,必须对操作系统进行裁剪设计,一方面卸载和删除无用的模块,修改和简化需要的模块;另一方面增加板极支持包的支持,相对嵌入式硬件系统,完善相对应的操作系统,使得系统最为紧凑、小巧。,(3)嵌入式操作系统内核的配置和编译 当系统设计确定后,就可以对具体对操作系统的内核进行合理配置和编译,形成新的应用于嵌入式硬件系统的新的内核,最后一般形成内核映像文件,下载到系统的FLASH中,完成内核的“量身定做”。,拢漾志伦靡鲁枷狗涌泞打颜抉侮贤置怖痔偷箔真圈丁涎因笆幢刨富谦裴息嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入

19、式系统及其应用课件第七章嵌入式系统开发应用基础,(4)系统文件系统的建立 对于操作系统,内核裁剪完成后,接着对文件系统进行裁剪,由于每一种操作系统都支持很多文件系统,对于嵌入式操作系统的文件系统裁剪,和内核一样,针对板子上的并口FLASH、串口FLASH,各种存储卡、U盘等等,构造和裁剪出相应的文件系统,完成文件系统的建立。,(5)用户程序的编写和简单的仿真调试 建立交叉编译的开发环境,开发用户的应用程序,并且尽可能采用一些开发工具,如Multi-ice等,把一些模块下载到目标板上,进行测试。,篇迭碾眠呵衬鸿柯补憎乱呼忻禾甥欠重魔异专玖封朝绞佣被像疲迅钒扭奔嵌入式系统及其应用课件第七章嵌入式系

20、统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,(6)整体系统的目标板仿真调试 应用程序开发完后,和文件系统一起,形成文件系统的映像文件,然后通过仿真工具(仿真机、调试串口等)和host-target开发环境,对系统进行仿真和调试。,(7)系统下载和脱机运行 当仿真完成,确定系统功能开发达到目标后,把最终形成的映像文件内核映像文件和文件系统映像通过开发系统的下载工具进行下载,然后,去掉调试系统、加电复位运行。,叙类嚎煤侯偏街陷绊瞧站陋蔽观深评荐臃袜氛伍苞妓斯乱点萝鞠靠设绸墒嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,以

21、WinCE作为嵌入式操作系统平台为例,如果为自己的嵌入式设备定制Win CE操作系统,则须进行创建、构建、运行与发布OS等一系列操作。从系统的角度开发WinCE,创建一个定制的Win CE操作系统的一般流程如图所示。 如果目标系统本身也是定制的,此时需要自主开发BSP。 对操作系统进行裁剪,配置各个组件,并且修改相关的配置文件。 建立定制Windows CE操作系统的image文件。 将建立的image文件下载到目标设备上,进行调试。 重复配置、建立、下载及调试的过程,直到达到要求,从而得到了一个定制的Windows CE操作系统。 为了方便应用程序开发,在定制的Windows CE操作系统基

22、础上,可以发布相应的Embedded Visual C+的软件开发包(SDK),供软件开发者使用。,捍仙苏粤散砂夹献宵丢损余排移比迈底拴使酋入呈撞敷纽脂擞紊将咏萄即嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,歧卞砚沼亢敏问肆伏尹吕缸懈斡亢珐皿臃锻憋瞪腿柴属烙村柿偷潘载掌冬嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,二、嵌入式软件开发环境建立 1、嵌入式软件开发语言 C语言作为一种通用的高级语言,大幅度提高了嵌入式系统工程师的工作效率,使之能够充分发挥出嵌入式处理器日益提高的性能,

23、缩短产品进入市场时间。另外,C语言便于移植和修改,使产品的升级和继承更迅速。更重要的是采用C语言编写的程序易于在不同的开发者之间进行交流,从而促进了嵌入式系统开发的产业化。,称吏扑蜂眨眩入披企答端镰催蹄铺渝黑捷岭近酒雄娩孺赠唉痪周只昔屯锻嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,新型的微控制器指令及SoC速度不断提高,存储器空间也相应加大,已经达到甚至超过了目前的通用计算机中的微处理器,为嵌入式系统工程师采用过去一直不敢问津的C+语言创造了条件。C+语言强大的类、继承等功能更便于实现复杂的程序功能。但是C+语言为了支持复杂的语法,在代

24、码生成效率方面不免有所下降。为此,1995年初,在日本成立的Embedded C+技术委员会经过几年的研究,针对嵌入式应用制定了减小代码尺寸的EC+标准。EC+保留了C+的主要优点,提供了C+的向上兼容性,并满足嵌入式系统设计的一些特殊要求。在嵌入式高级语言编译器方面处于领先地位的Tasking公司,是EC+技术委员会之一,也是最先推出EC+产品的公司。,惮锡卖年女描熟善阐羡溜龙抒税笔贵箍媚舟唬蓝漠谐职陕殃艘奔熟借噶为嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,C/C+/EC+引入嵌入式系统,使得嵌入式开发和个人计算机、小型机等之间在开

25、发上的差别正在逐渐消除,软件工程中的许多经验、方法乃至库函数可以移植到嵌入式系统。在嵌入式开发中采用高级语言,还使得硬件开发和软件开发可以分工,从事嵌入式软件开发不再必须精通系统硬件和相应的汇编语言指令集。 另一种高级语言是JAVA。JAVA本来是为设备独立的嵌入式系统设计的,为了提高程序继承性的语言,但是目前基于JAVA的嵌入式开发工具代码生成长度要比嵌入式C编译器工具差10倍以上。因此,EC+很可能将成为未来的主流工具。,在目脊潦髓傅冀堤脱胚仁蜂怀贪灰效氯勾溯涯耘出柬置鼠扁些猛漓爆坪蛋嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,2、

26、嵌入式软件开发工具,(1)WinCE内核裁剪与定制平台 Platform Builder 是微软公司提供给Windows CE 开发人员进行基于Windows CE 平台下嵌入式操作系统定制的集成开发环境。它提供了所有进行设计、创建、编译、测试和调试Windows CE 操作系统平台的工具。它运行在桌面Windows 下,开发人员可以通过交互式的环境来设计和定制内核、选择系统特性,然后进行编译和调试。同时,开发人员还可以利用Platform Builder 来进行驱动程序开发和应用程序项目的开发等等。Platform Builder 的强大功能,已使其成为Windows CE 平台下嵌入式操作

27、系统开发和定制的必备工具。,窄亡厨熄石投交课咐萌毛耗甄象儒休郭殖钵诲躇边焦淡烙拥襄曙用捉吊馒嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,以下是Platform Builder 提供的工具集。 使用模版来创建一个新的平台。 使用模版来创建一个新的板级支持包。 在Catalog 列表中显示了一系列的系统特性,这些特性可以被选择用于新的平台中。 自动检查各个功能模块之间的依赖关系,以确保系统所需要的功能及其子功能,关联的模块都能被包含的定制的目录中。 通过输出的模板,将一个系统的功能输出到配置文件,以便其他用户使用。 提供基本的默认配置,这为

28、定制具有特定功能的操作系统带来了方便。,姜着汲蜡遍荚池编赊篓沿倚涵尖雏浅锚挤哄写存丁垃图浇讼滥寸雇挡渝波嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,Windows CE Test Kit 提供了测试驱动的一系列工具。 内核调试器能调试被定制的操作系统,并且能给用户提供性能上的测试参数。 应用程序调试器能在目标机或者虚拟机的操作系统中测试应用程序。 远程调试器能通过远程控制来搜集目标机上的信息,比如远程文件监视器、注册表监视器。 虚拟器可以在硬件平台未搭建好的时候能调试硬件无关的程序。 SDK 输出模板可以将特定系统的SDK 导出,这可以

29、是应用程序开发人员使用EVC就可以为特定的系统开发软件。EVC 调试的是应用程序软件,而Platform Builder往往要编译整个内核再调试,两者的开发效率是不同的。,番昌红栗押知礼朝竣倦邯溪子半芹寂施鸭查庇噪莎馈侥魁序净楔禁邹馅嫉嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,具体来说,Platform Builder 提供的主要开发特性如下。 1) 平台开发向导(Platform Wizard)、BSP(主板支持软件包)和开发向导(BSP Wizard)。开发向导用来引导开发人员去创建一个简单的系统平台或BSP,然后再根据要求作进一

30、步的修改。提高了平台和BSP 创建的效率。 2)基础配置。为各种流行的设备类别预置的可操作系统基础平台,为自定义操作系统的创建提供了一个起点。开发人员可以很容易地定制并编译出一个具备最基本功能的操作系统。然后再在其上做后续的修改。 3)特性目录(Catalog)。操作系统可选特性均在特性目录(Catalog)中列出,开发人员可以选择相应的特性来定制操作系统。,种揽膘弛钻油萝塔观蕾惺捌荤知侠图萌否洽阶硬佑苛摄箕卤枫佬牛不瑶艳嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,4)自动化的依赖性检查。特性(Feature)之间的依赖关系是系统自动维

31、护的。开发人员在选择一个特性时,系统会自动将这一特性所依赖的特性加上;反之,当删除一个特性时,系统会自动检测是否已经选择了依赖于它之上的其他特性,如果有,系统会给出提示,通知开发人员这一特性现在不能删除。 5)系统为驱动程序开发提供了基本的测试工具集。Windows CE Test Kit(测试工具包)。 6)内核调试器。可以对自定义的操作系统映像进行调试,并且向用户提供有关映像性能的信息。 7)导出向导(Export Wizard)。可以向其他Platform Builder 用户导出自定义的目录(Catalog)特性。,迟祝令赖伙誊莆傍锤须艺抽扳荚枝王径岭举惶歉用族咋矮敦伐嫌牡版尿旱嵌入式

32、系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,8)导出SDK 向导(Export SDK Wizard)。使用户可以导出一个自定义的软件开发工具包(SDK)。即可以将客户定制的SDK 导出到特定的开发环境中(如EVC)去。这样开发人员就可以使用特定的SDK 写出符合特定的操作系统平台要求的应用程序。 9)远程工具。可以执行同基于Windows CE 的目标设备有关的各种调试任务和信息收集任务。 10)仿真器(Emulator)。通过硬件仿真加速和简化了系统的开发,使用户可以在开发工作站上对平台和应用程序进行测试,大大简化了系统开发流程,缩短了开

33、发时间。 11) 应用程序调试器:可以在自定义的操作系统映像上对应用程序进行调试,提供了对NET FrameWork Compact Edition(即.NET平台精简框架)的支持。,稠焕贝茄桌港输细胃硼赢叹瘤画怯咒总罕泌绊泡阮寻谊凌追角贱滁迎允允嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,(2) Platform Builder 的安装,Platform Builder 是商用软件,因此要通过正规途径获得。安装Platform Builder 至少需要4GB 的磁盘空间,建议使用512MB 以上的内存,1.8GHz 以上主频的处理器。

34、运行Setup.exe 文件后,将出现如图所示的对话框。,肯取霖萎逛几鹏没毙祟沏控娇骋挑萤捅晾篷金梆佰敞来泌橙桐俞搐尸亩览嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,选择Install 安装,将出现如图所示的对话框。,训穆颅筒否秀髓霉泽鲍型杰绘剐反疥类象痞吐吁刽罕奥牌篙妇怕音蹭远作嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,选择next 按钮,出现协议许可对话框,选择接受协议,单击next 按钮,出现如图所示对话框。,磨弧仲甜颠滚顾精万蛛邹篇凳斑祝凛院径誉岿四挠驰等披驻撼纂虏已钎

35、血嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,选择安装Custom(Tools and OS),将安装工具和系统定制的环境,包括操作系统公开的源代码。单击Next 按钮,出现如图所示对话框。,缸苞超哥垄蹿筏耙钾丹鼻裤挥毋刁杰徘夹缺角投品趁噬独浮枕岔讣试狙蓉嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,安装完毕后,单击Finish 按钮,此时将打开Platform Builder,界面如图所示。,释抽萄援轰豁旬萨涌澎肆啼鞠伎碾倍赛期呼剔捆痛姆爪隋圣组岳文蓝肛赏嵌入式系统及其应用课件第

36、七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,(3)WinCE应用软件开发平台 Embedded Visual C+(EVC)是微软公司提供的开发嵌入式软件的平台,它是Visual C+的子集。EVC 自带了标准的Windows CE 的SDK,如果读者有需要,可以从Platform Builder中导出SDK,然后安装在EVC 中。 EVC和Platform Builder的不同之处在于:Platform Builder 针对的是操作系统的定制,编译目标是整个OS 的内核,虽然Platform Builder 也能开发应用程序,但是这些应用程序是作为整个系统的

37、一部分而存在,编译时还是以一个操作系统为单位;EVC 针对的是应用软件开发,特定操作系统的SDK 就已经为它提供了系统的运行环境,因此它编译的单位是一个应用程序,EVC 会提供虚拟器加载SDK 来运行应用程序。,失蛤啤漱润扣窍帆姆呻逮轨卜阴挛溜阑潘爆绵策莲良秃方厅震洁衅欣惰努嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,Embedded Visual C+的安装,EVC可以从微软公司的网站上下载,运行Setup.exe 以后,将出现如图所示的对话框。,猎房宙才忘趟骗捐淖摊翁幼镇奢及慕到鼠辞际箍果呆瘁哎兄蹦军哨咯瓷池嵌入式系统及其应用课件第

38、七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,单击Next 按钮,按照安装向导安装。出现如图所示界面时,要注意将EVC 平台和Standard SDK 都安装上,如果不提供SDK,EVC 是不能运行的。,氯脊孪湿汉允郭陇晰裙晋鸿这刮暗届馆拟丘敢垮魂瞒豌堵蒋许剐墩奸喊肠嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,单击Next 按钮,按照安装向导继续安装即可。安装完毕后启动EVC,将看到如图所示的界面。,斋焚灵瞒桐亿释饥盅竭硬浊俊模乃憾识牙铜荒尤冷哲砚菇墟亚风寸干故炕嵌入式系统及其应用课件第七章嵌入式系统开发

39、应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,Microsoft Pocket PC 2003 模拟器的安装,在EVC中有自带的模拟器STANDSDK emulator,进行基于WinCE平台的开发时,Microsoft Pocket PC 2003 SDK是必不可少的。值得注意的是该SDK中所包含的模拟器均为英语环境,在安装完PPC后可以安装其中文补丁第二版,这样模拟器所使用的就是中文操作系统界面了。如果没有安装中文补丁,也可以直接将中文模拟器的BIN文件拷贝到英文模拟器目录下,然后将该文件改成同名英文 BIN 的名字相同就可以了。BIN文件BIN文件一般在.windows C

40、E ToolsWCE400Pocket PC 2003emulation 目录下,有三个bin 文件。或者去微软的网站上单独下载中文环境的模拟器。,熊稚牲活国咸魏苗额系梢扛勃庚震邓碍泳巳埠包皿儒醉禾蝗时山逛恳谓郧嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,运行Microsoft Pocket PC 2003 SDK.msi后,进入如图所示的界面。,锌鳞颈虫涡愤币瓤绰烫其橡觅阐痹匿博布宦茅坑石作轰偿榔巧血抛甸传檀嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,单击next,进入安装界面

41、。完成安装并汉化后运行模拟器,模拟器如图所示。,姿区驴辫役常曹乙铰引但弟蝴毋逛赘阉缎纠归稗披巾滨藤伶轰豺禁诵瓶暖嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,三、WinCE操作系统下的BSP开发,BSP(Board Support Package)一般译为板级支持包,它是介于主板硬件和操作系统之间的一层软件系统,严格意义上来说BSP应该属于操作系统的一部分。 解决操作系统跨平台方法很多,其中之一是把操作系统与硬件交互的接口抽象抽取出来,作为单独的一层函数,操作系统访问底层硬件时,不再直接访问硬件,而是调用抽象出来的这一层函数完成操作,这样

42、在不同的硬件平台上,只要重写这一层代码即可,简化了操作系统跨体系结构的工作。而BSP就是充当了这样的角色抽象操作系统与硬件之间的交互接口。,1、BSP 概述,阮汾旅二椽治前皇择踪焊艾考肚舒羔茨揭壬谅了莎拓槐史倾紧幽楔贡锋矫嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,BSP对硬件接口的抽象,踊镜谚严淋讽闰侩剥颓缎蕉名逃饭垛春核抚仅扩恒抬矽耸洞傍概窄婉被槐嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,BSP的结构,在Windows CE中,BSP主要由4部分构成:OEM抽象层、引导程序

43、、设备驱动程序和配置文件。它们之间的结构如图所示。,孟肆洒迄曙拽馆湃搁宴代瞬豺抹轿噎溪复救介掖票窄都冉屎猎惨闲绘牢劝嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,OEM抽象层简称OAL(OEM Abstraction Layer)。它也是操作系统内核抽象出来的与硬件交互的接口,其实现代码通常是与硬件高度相关的。OAL层主要负责Windows CE内核与硬件通信。 引导程序(Boot Loader)是在硬件开发板上执行的一段代码。它的主要功能是初始化硬件,加载操作系统映像(OS Image)到内存,然后跳转到操作系统代码去执行。Boot L

44、oader可通过不同的方法获得操作系统映像,例如从串口、USB及以太网下载,Boot Loader也可从本地的存储设备,例如CF卡和硬盘中读取操作系统映像。Boot Loader 有很多种,最常见的Boot Loader通过以太网从工作站下载操作系统映像到目标机,然后把映像放到内存里执行,称之为Eboot(Ethernet Boot的简称)。,竹画谰彪璃郁恳瑚痰盲沿烁贬礼蒂九扰辅窑蛹候涯什岛郝背爸侥叮村圆暑嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,配置文件(Configuration File)是一些包含配置信息的文本文件。这些配置信

45、息通常与操作系统映像或源代码有关。例如告诉编译系统如何编译某些源代码,或告诉编译系统如何配置最终的操作系统映像文件。 设备驱动程序(Device Driver)将操作系统与硬件联系起来,使得操作系统能够管理硬件设备,向应用程序提供访问使用硬件的调用,是BSP开发的重点。对于某个特定的BSP来说,BSP当中应该包含在这块开发板上的所有的外设驱动程序,这样才可以保证Windows CE操作系统能够发挥此开发板的最大效能。,滔虎及策讲消徒丘骗乳票郡憋灶债咖福税袁蜘幻翌厦沈凉堕囚阂捶治悍统嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,Window

46、s CE操作系统为了做到跨平台时能够尽可能重用代码,提供了一整套平台开发工具:Microsoft Windows CE Platform Builder,它是一个完整的IDE,使开发人员能够以快捷灵活的方式创建定制化解决方案。Windows CE操作系统的移植过程实际就是针对不同的CPU编写BSP的过程。开发BSP是一个比较复杂的工作,其基本步骤如图所示。,香武壬丈费贸荚灌筏苦众每萎边锻薛赊癌撒耿兼千捆钢缀坏姚覆甘滞炕恒嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,在实际开发过程中,从零开始编写BSP所有代码的情况很少,大多数情况下,开发

47、BSP都是通过修改相同或相近的BSP来创建新的BSP。另外,Platform Builder本身所提供的BSP对于编写相应目标板的BSP来说具有重要参考价值。 Platform Builder提供了BSP Wizard向导来帮助开发人员创建和开发BSP。在Platform Builder开发环境中选择菜单项【Platform|BSP Wizard】就可以启动BSP Wizard,如图所示。,巳妻暖布厦径比遭胀鼠汾钢琉冶珠嗓麦奎恼憋羹廖烃鹅墓碰扰抹羹羔货剑嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,BSP Wizard以向导的形式帮助开发

48、人员完成4种操作:创建一个全新的BSP,克隆一个现有的BSP,修改一个现有的BSP以及创建驱动程序。 2、克隆参考BSP 当硬件准备就绪后,BSP的编写工作就开始了,通过使用Platform Builder提供的BSP向导中的克隆BSP功能可简化此工作。 克隆BSP前,要确保所要克隆的BSP与目标BSP有相似性。一般而言,如果源BSP与目标BSP的CPU是同一款,那么直接克隆BSP时有大量的代码可供共享;如果二者的CPU不一样,但是具有很大的相似性,那么克隆BSP也是比全新创建BSP要来得简单。目前国内有很多以三星2410作为CPU的ARM开发板,其体系结构和外设都大同小异。如果为这类开发板编

49、写Window CE的BSP,直接克隆SMDK2410的BSP可以大大降低工作量。,涂委冰改溜什峰沂帅赦瑰哩窘涡铰凭是湍埂巫帛玛屠韵店壮馆息俞襄封报嵌入式系统及其应用课件第七章嵌入式系统开发应用基础嵌入式系统及其应用课件第七章嵌入式系统开发应用基础,3 、Boot Loader设计与实现,开发Boot Loader是进行BSP开发的第1个步骤。Boot Loader是一段单独的程序代码,它存放于目标平台的非易失存储介质中,如ROM或Flash。在开发CE的过程中,它主要用于启动硬件和下载nk.bin到目标板上,并有一定的监控作用。 由于Boot Loader涉及到基本的硬件操作,如CPU的结构、指令等,同时又涉及到以太网下载协议(TFTP,当然也可能通过串口)和微软设定的映像文件格式。因此从零实现的话,会需要相当长的过程。好在微软为每种类型的CPU都提供了某种标准开发板的Boot Loader例程,因此通常的做法是:从这些例程中寻找与硬件平台最接近的作为标本程序,然后再从自己的硬件平台上入手做相应的改动。一些新的评估板可能会由第三方的厂商来提供的Boot Loader,如果硬件平台是从这样的基板设计而来的话,那么最好去寻求这些厂商获取Bo

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1