《嵌入式系统及其应用课件》第七章嵌入式系统开发应用基础.ppt
-
资源ID:52873230
资源大小:3.28MB
全文页数:217页
- 资源格式: PPT
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
《嵌入式系统及其应用课件》第七章嵌入式系统开发应用基础.ppt
嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院嵌入式系统及其应用课件第七章嵌入式系统开发应用基础 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院主要内容主要内容:一、嵌入式系统开发概述一、嵌入式系统开发概述二、嵌入式软件开发环境建立二、嵌入式软件开发环境建立三、三、WinCE操作系统下的操作系统下的BSP开发开发四、四、WinCE内核的裁剪与定制内核的裁剪与定制嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院五、编写第一个简单的五、编写第一个简单的WinCE应用程序应用程序六、键盘、输入笔和菜单六、键盘、输入笔和菜单七、屏幕绘图七、屏幕绘图八、窗口、控件和对话框八、窗口、控件和对话框九、综合示例九、综合示例十、控制类应用实例十、控制类应用实例嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院一、嵌入式系统开发概述一、嵌入式系统开发概述1、嵌入式系统开发考虑的要素嵌入式系统开发考虑的要素嵌入式系统包含硬件和软件两部分:硬件架构上以嵌嵌入式系统包含硬件和软件两部分:硬件架构上以嵌入式处理器为中心,配置入式处理器为中心,配置存储器存储器、I/O设备、通信模块等设备、通信模块等必要的外设;软件部分以软件开发平台为核心,向上提供必要的外设;软件部分以软件开发平台为核心,向上提供应用编程接口(应用编程接口(API),向下屏蔽具体硬件特性的板级支),向下屏蔽具体硬件特性的板级支持包持包BSP。嵌入式系统中,软件和硬件紧密配合,协调工。嵌入式系统中,软件和硬件紧密配合,协调工作,共同完成系统预定的功能。作,共同完成系统预定的功能。嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院嵌入式系统本身是一个相当分散的系统,典型特征是嵌入式系统本身是一个相当分散的系统,典型特征是面向用户、面向产品、面向应用的,市场应用才是嵌入式面向用户、面向产品、面向应用的,市场应用才是嵌入式系统开发的导向和前提,对于不同的市场应用类型,嵌入系统开发的导向和前提,对于不同的市场应用类型,嵌入式系统开发中的嵌入式处理器、实时操作系统、仿真器、式系统开发中的嵌入式处理器、实时操作系统、仿真器、调试器以及开发队伍的技术水平和结构比例等要素的选择调试器以及开发队伍的技术水平和结构比例等要素的选择是至关重要的。下面对各个要素进行介绍。是至关重要的。下面对各个要素进行介绍。嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院(1)嵌入式处理器)嵌入式处理器嵌入式系统的功能软件集成于硬件系统之中,系统的嵌入式系统的功能软件集成于硬件系统之中,系统的应用软件与硬件一体化。在嵌入式系统的硬件设备中,嵌应用软件与硬件一体化。在嵌入式系统的硬件设备中,嵌入处理器是整个系统的核心部件,其性能的好坏直接决定入处理器是整个系统的核心部件,其性能的好坏直接决定整个系统的运行效果。整个系统的运行效果。嵌入式系统开发面向具体应用,不同领域的应用市场嵌入式系统开发面向具体应用,不同领域的应用市场需要不同款式和性能指标的处理器来开发,于是在嵌入式需要不同款式和性能指标的处理器来开发,于是在嵌入式处理器市场中,中低端的处理器市场中,中低端的4位、位、8位和位和16位处理器依然存在,位处理器依然存在,高性能的高性能的32位处理器也有很多产品。位处理器也有很多产品。面对这样的嵌入式处理器市场,开发设计人员应该如面对这样的嵌入式处理器市场,开发设计人员应该如何选择呢?这里有两个前提条件:何选择呢?这里有两个前提条件:一:深入研究具体的嵌入式系统应用需求,充分的应一:深入研究具体的嵌入式系统应用需求,充分的应用需求分析后获取应用系统的性能指标。用需求分析后获取应用系统的性能指标。二:分析研究市场上各大厂商提供的各款嵌入式处理二:分析研究市场上各大厂商提供的各款嵌入式处理器的性能指标器的性能指标嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院(2)实时操作系统)实时操作系统以嵌入式处理器为中心,开发人员搭建好硬件电路时以嵌入式处理器为中心,开发人员搭建好硬件电路时仅提供了裸机运行平台,要使整个系统有限的硬件资源充仅提供了裸机运行平台,要使整个系统有限的硬件资源充分利用起来,还需要(嵌入式)实时操作系统分利用起来,还需要(嵌入式)实时操作系统RTOS(RealTimeOperatingSystem)的软件支持。)的软件支持。由于具体嵌入式应用的功能需求差异以及不同由于具体嵌入式应用的功能需求差异以及不同RTOS间间不同的性能指标,不同的性能指标,RTOS的选择有三种方案:一是根据应的选择有三种方案:一是根据应用需要和公司技术实力,考虑自主开发研究(国内手机厂用需要和公司技术实力,考虑自主开发研究(国内手机厂商宁波波导公司部分款式的手机操作系统就是自主开发的)商宁波波导公司部分款式的手机操作系统就是自主开发的);二是充分考虑系统需求和流行;二是充分考虑系统需求和流行RTOS的性能指标及性价的性能指标及性价比选择商用比选择商用RTOS,如,如WinCE、VxWorks等;三是考虑嵌等;三是考虑嵌入式入式Linux(RT_Linux),),RT_Linux是开放源代码的免是开放源代码的免费自由软件,费自由软件,互联网互联网技术论坛较多,具备较好的裁减性以技术论坛较多,具备较好的裁减性以支持不同的应用范畴。支持不同的应用范畴。嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院(3)仿真器和调试器)仿真器和调试器调试是嵌入式系统开发过程的重要环节。嵌入式系统调试是嵌入式系统开发过程的重要环节。嵌入式系统开发调试和一般开发调试和一般PC系统开发调试有较大差别。在嵌入式系系统开发调试有较大差别。在嵌入式系统中,调试器是运行在桌面操作系统上的应用程序,被调统中,调试器是运行在桌面操作系统上的应用程序,被调试程序是运行在基于特定硬件平台的操作系统,两个程序试程序是运行在基于特定硬件平台的操作系统,两个程序间需要实时通信。间需要实时通信。嵌入式系统调试时,主机上运行的集成开发调试工具嵌入式系统调试时,主机上运行的集成开发调试工具(调试器)通过仿真器和目标机相连。仿真器处理宿主机(调试器)通过仿真器和目标机相连。仿真器处理宿主机和目标机之间所有的通信,这个通信口可以是串口、并行和目标机之间所有的通信,这个通信口可以是串口、并行口或者高速以太网接口。仿真器通过口或者高速以太网接口。仿真器通过JTAG口和目标机相连。口和目标机相连。嵌入式系统开发调试方法有快速原型仿真法和实时在嵌入式系统开发调试方法有快速原型仿真法和实时在线调试法。线调试法。嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院(4)开发队伍的技术水平和结构比例)开发队伍的技术水平和结构比例嵌入式系统开发中选择好了嵌入式处理器、嵌入式系统开发中选择好了嵌入式处理器、RTOS、仿、仿真器和调试器等设备外,还需要考虑开发队伍的技术水平真器和调试器等设备外,还需要考虑开发队伍的技术水平和结构比例。和结构比例。在项目开发中,分配开发人员时不仅要确保任务在给在项目开发中,分配开发人员时不仅要确保任务在给定时间期限内完成的成功性,而且也要体现在锻炼培养后定时间期限内完成的成功性,而且也要体现在锻炼培养后继继人才人才方面。任何项目的开发,依据需求分析后,经过概方面。任何项目的开发,依据需求分析后,经过概要设计和详细设计,都会形成模块化结构,其工作难度也要设计和详细设计,都会形成模块化结构,其工作难度也有一定的层次性。在项目开发中,除了开发人员的技术水有一定的层次性。在项目开发中,除了开发人员的技术水平和结构比例外,小组内部的民主化、科学化管理决策也平和结构比例外,小组内部的民主化、科学化管理决策也是很重要的环节。是很重要的环节。嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院2、嵌入式系统开发的特点嵌入式系统开发的特点嵌入式系统设计的主要任务是定义系统的功能、决嵌入式系统设计的主要任务是定义系统的功能、决定系统的架构,并将功能映射到架构。这里的架构既包定系统的架构,并将功能映射到架构。这里的架构既包括软件架构也包括硬件体系架构。嵌入式系统的设计方括软件架构也包括硬件体系架构。嵌入式系统的设计方法跟一般的硬件设计、软件开发的方法不同,是采用软法跟一般的硬件设计、软件开发的方法不同,是采用软件与硬件协同设计的方法,开发过程不仅涉及软件领域件与硬件协同设计的方法,开发过程不仅涉及软件领域的知识,还涉及硬件领域的综合知识,甚至机械方面的的知识,还涉及硬件领域的综合知识,甚至机械方面的知识。要求设计者必须熟悉并能熟练的应用这些领域的知识。要求设计者必须熟悉并能熟练的应用这些领域的各种技术,才能使设计达到最优。各种技术,才能使设计达到最优。与通常的系统设计相比,嵌入式系统的设计有以下与通常的系统设计相比,嵌入式系统的设计有以下几个特点几个特点:嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院(1)软硬件协同并行开发)软硬件协同并行开发软硬件协同开发就是在整个设计的生命周期,软件和硬软硬件协同开发就是在整个设计的生命周期,软件和硬件的设计一直是保持并行的,在设计过程中两者交织在一起,件的设计一直是保持并行的,在设计过程中两者交织在一起,互相支持,互相提供开发的平台,而不是传统方法中将软硬互相支持,互相提供开发的平台,而不是传统方法中将软硬件分开独立进行,在设计流程的开始就将系统所要实现的功件分开独立进行,在设计流程的开始就将系统所要实现的功能划分到用硬件或软件实现,然后独立进行软件和硬件的设能划分到用硬件或软件实现,然后独立进行软件和硬件的设计,最后才进行软硬件的集成。系统是否满足用户需求只有计,最后才进行软硬件的集成。系统是否满足用户需求只有等到软硬件集成之后才能知道,所以传统设计方法进行复杂等到软硬件集成之后才能知道,所以传统设计方法进行复杂系统的设计时常常难以达到设计要求和实现优化设计。系统的设计时常常难以达到设计要求和实现优化设计。嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院(3)实时嵌入式操作系统的多样性)实时嵌入式操作系统的多样性实实时时操操作作系系统统不不像像台台式式机机操操作作系系统统那那样样,只只有有微微软软公公司司一一家家独独大大。现现在在可可用用的的实实时时操操作作系系统统很很多多。如如VxWorks,QNX,uc/os,RT-Linux,WinCE、Psos等等。可可以以根根据据自自己己的的需需求,选择相应的操作系统。求,选择相应的操作系统。(2)嵌入式系统通常是面向特定应用的系统)嵌入式系统通常是面向特定应用的系统嵌入式嵌入式CPU与通用型与通用型CPU最大的不同就是,嵌入式最大的不同就是,嵌入式CPU大多工作在为特定的用户群设计的系统中,它通常都具有低大多工作在为特定的用户群设计的系统中,它通常都具有低功耗、小体积、集成度高等特点,能够把通用功耗、小体积、集成度高等特点,能够把通用CPU中许多由中许多由板卡完成的任务集成在芯片的内部,从而有利于嵌入式系统板卡完成的任务集成在芯片的内部,从而有利于嵌入式系统设计区域小型化。设计区域小型化。(4)与台式机相比可利用资源很少)与台式机相比可利用资源很少嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院(5)嵌入式系统设计需要交叉开发环境)嵌入式系统设计需要交叉开发环境嵌入式系统的开发通常采用嵌入式系统的开发通常采用“宿主机宿主机/目标机目标机”的方式。的方式。首先利用宿主机上丰富的设备资源及良好的开发环境来开首先利用宿主机上丰富的设备资源及良好的开发环境来开发和方针目标机上的软件然后通过发和方针目标机上的软件然后通过UART和和Ethernet接口接口将交叉编译生成的代码传输并下载到目标机上并用交叉调将交叉编译生成的代码传输并下载到目标机上并用交叉调试器在实时内核试器在实时内核/操作系统或监控程序的支持下进行实时分操作系统或监控程序的支持下进行实时分析和调试。最后,目标机在特定的环境下运行。析和调试。最后,目标机在特定的环境下运行。嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院(6)嵌入式系统的程序需要固化)嵌入式系统的程序需要固化通用的系统在测试完成之后就可以投入使用,其目标通用的系统在测试完成之后就可以投入使用,其目标环境一般是环境一般是PC机,因此在总体结构上与开发环境差别不大,机,因此在总体结构上与开发环境差别不大,而嵌入式系统的开发环境是而嵌入式系统的开发环境是PC机,但运行的目标环境千差机,但运行的目标环境千差万别,可以是手机、万别,可以是手机、PDA,也可以是仪器设备等,而且应,也可以是仪器设备等,而且应用软件应用软件在目标环境下必须存储在非易失性存储设用软件应用软件在目标环境下必须存储在非易失性存储设备中,保证关机和断点之后下次能够再次使用。因此,在备中,保证关机和断点之后下次能够再次使用。因此,在系统应用软件开发完成之后,应生产固化版本,将其烧写系统应用软件开发完成之后,应生产固化版本,将其烧写到目标环境的到目标环境的Flash中运行。中运行。嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院(7)嵌入式系统的软件开发难度大)嵌入式系统的软件开发难度大嵌嵌入入式式系系统统的的特特点点之之一一就就是是系系统统要要求求具具有有实实时时性性。这这些些实实时时性性在在开开发发系系统统中中要要得得到到保保证证,就就要要求求设设计计者者在在系系统统的的需需求求分分析析中中充充分分考考虑虑系系统统的的实实时时性性。实实时时性性的的体体现现一一部部分分来来源源于于实实施施操操作作系系统统的的实实时时性性,这这方方面面可可以以采采用用实实时时操操作作系系统统,如如RT-Linux、WINCE、VxWorks等等,而而另另一一方方面面依依赖赖于于系系统统本本身身的的设设计计和和代代码码的的质质量量,这这就就要要求求系系统统的的设设计计者者和和开开发发人人员员构构建建出出良良好好的的系系统统模模型型和和算算法法,所所有有的的这这些必将会加大软件的开发难度。些必将会加大软件的开发难度。嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院(8)嵌嵌入入式式应应用用软软件件的的开开发发需需要要强强大大的的开开发发工工具具和操作系统的支持和操作系统的支持随随着着Internet技技术术的的成成熟熟、带带宽宽的的提提高高,ICP和和ASP在在网网上上提提供供的的信信息息内内容容日日益益丰丰富富,应应用用项项目目多多种种多多样样,像像电电话话、手手机机、电电话话座座机机及及电电冰冰箱箱、微微波波炉炉等等嵌嵌入入式式电电子子设设备备的的功功能能不不在在单单一一,电电器器结结构构也也日日益益复复杂杂。为为了了满满足足应应用用功功能能的的升升级级,设设计计师师们们一一方方面面采采用用更更强强大大的的嵌嵌入入式式微微处处理理器器,如如32位位、64位位RISC芯芯片片或或信信号号处处理理芯芯片片DSP增增强强处处理理能能力力;同同时时采采用用实实时时多多任任务务编编程程技技术术和和交交叉叉开开发发工工具具技技术术来来控制功能复杂性,保证软件质量和缩短开发周期控制功能复杂性,保证软件质量和缩短开发周期。嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院(9)嵌嵌入入式式系系统统还还需需要要提提供供强强大大的的硬硬件件开开发发工工具具和和软软件件包包的的支支持持,需需要要设设计计者者从从速速度度、功功能能和和成成本本综合考虑。综合考虑。此此外外,嵌嵌入入式式系系统统对对稳稳定定性性、可可靠靠性性、功功耗耗、抗抗干干扰扰性性、重重量量、体体积积等等方方面面的的性性能能要要求求都都比比通通用用系系统统的的要要求求更更为为严严格。格。嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院3、嵌入式系统的软件开发的基本流程嵌入式系统的软件开发的基本流程嵌入式系统的软件开发流程图嵌入式系统的软件开发流程图嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院(1)BSP的开发和调试的开发和调试BSP是板级支持包,是介于主板硬件和操作系统之间的一是板级支持包,是介于主板硬件和操作系统之间的一层,应该说是属于操作系统的一部分,主要目的是为了支持操层,应该说是属于操作系统的一部分,主要目的是为了支持操作系统,使之能够更好的运行于硬件系统,作系统,使之能够更好的运行于硬件系统,BSP是相对于操作是相对于操作系统而言的,不同的操作系统对应于不同定义形式的系统而言的,不同的操作系统对应于不同定义形式的BSP。对于一个新的硬件系统,即使第三方已经提供了完整的驱对于一个新的硬件系统,即使第三方已经提供了完整的驱动程序,但是由于动程序,但是由于FLASH或者或者RAM的不同,必须进行的不同,必须进行BSP的的编写,使之能够支持操作系统,完成对硬件的控制,因此对于编写,使之能够支持操作系统,完成对硬件的控制,因此对于嵌入式操作系统的软件开发,首先应该进行嵌入式操作系统的软件开发,首先应该进行BSP板极支持包的板极支持包的编写和调试。编写和调试。嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院(2)操作系统的裁剪)操作系统的裁剪对应于对应于PC机上的软件开发,这应该属于系统设计,针对嵌机上的软件开发,这应该属于系统设计,针对嵌入式系统的硬件环境,必须对操作系统进行裁剪设计,一方面入式系统的硬件环境,必须对操作系统进行裁剪设计,一方面卸载和删除无用的模块,修改和简化需要的模块;另一方面增卸载和删除无用的模块,修改和简化需要的模块;另一方面增加板极支持包的支持,相对嵌入式硬件系统,完善相对应的操加板极支持包的支持,相对嵌入式硬件系统,完善相对应的操作系统,使得系统最为紧凑、小巧。作系统,使得系统最为紧凑、小巧。(3)嵌入式操作系统内核的配置和编译)嵌入式操作系统内核的配置和编译当系统设计确定后,就可以对具体对操作系统的内核进行当系统设计确定后,就可以对具体对操作系统的内核进行合理配置和编译,形成新的应用于嵌入式硬件系统的新的内核,合理配置和编译,形成新的应用于嵌入式硬件系统的新的内核,最后一般形成内核映像文件,下载到系统的最后一般形成内核映像文件,下载到系统的FLASH中,完成内中,完成内核的核的“量身定做量身定做”。嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院(4)系统文件系统的建立)系统文件系统的建立对对于于操操作作系系统统,内内核核裁裁剪剪完完成成后后,接接着着对对文文件件系系统统进进行行裁裁剪剪,由由于于每每一一种种操操作作系系统统都都支支持持很很多多文文件件系系统统,对对于于嵌嵌入入式式操操作作系系统统的的文文件件系系统统裁裁剪剪,和和内内核核一一样样,针针对对板板子子上上的的并并口口FLASH、串串口口FLASH,各各种种存存储储卡卡、U盘盘等等等等,构构造造和和裁裁剪剪出出相应的文件系统,完成文件系统的建立。相应的文件系统,完成文件系统的建立。(5)用户程序的编写和简单的仿真调试)用户程序的编写和简单的仿真调试建立交叉编译的开发环境,开发用户的应用程序,并且尽建立交叉编译的开发环境,开发用户的应用程序,并且尽可能采用一些开发工具,如可能采用一些开发工具,如Multi-ice等,把一些模块下载到等,把一些模块下载到目标板上,进行测试。目标板上,进行测试。嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院(6)整体系统的目标板仿真调试)整体系统的目标板仿真调试应用程序开发完后,和文件系统一起,形成文件系统的映应用程序开发完后,和文件系统一起,形成文件系统的映像文件,然后通过仿真工具(仿真机、调试串口等)和像文件,然后通过仿真工具(仿真机、调试串口等)和host-target开发环境,对系统进行仿真和调试。开发环境,对系统进行仿真和调试。(7)系统下载和脱机运行)系统下载和脱机运行当仿真完成,确定系统功能开发达到目标后,把最终形成当仿真完成,确定系统功能开发达到目标后,把最终形成的映像文件的映像文件内核映像文件和文件系统映像通过开发系统的内核映像文件和文件系统映像通过开发系统的下载工具进行下载,然后,去掉调试系统、加电复位运行。下载工具进行下载,然后,去掉调试系统、加电复位运行。嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院以以WinCE作为嵌入式操作系统平台为例,如果为自己的嵌作为嵌入式操作系统平台为例,如果为自己的嵌入式设备定制入式设备定制WinCE操作系统,则须进行创建、构建、运行与操作系统,则须进行创建、构建、运行与发布发布OS等一系列操作。从系统的角度开发等一系列操作。从系统的角度开发WinCE,创建一个定,创建一个定制的制的WinCE操作系统的一般流程如图所示。操作系统的一般流程如图所示。l如果目标系统本身也是定制的,此时需要自主开发如果目标系统本身也是定制的,此时需要自主开发BSP。l对操作系统进行裁剪,配置各个组件,并且修改相关的配置对操作系统进行裁剪,配置各个组件,并且修改相关的配置文件。文件。l建立定制建立定制WindowsCE操作系统的操作系统的image文件。文件。l将建立的将建立的image文件下载到目标设备上,进行调试。文件下载到目标设备上,进行调试。l重复配置、建立、下载及调试的过程,直到达到要求,从而重复配置、建立、下载及调试的过程,直到达到要求,从而得到了一个定制的得到了一个定制的WindowsCE操作系统。操作系统。l为了方便应用程序开发,在定制的为了方便应用程序开发,在定制的WindowsCE操作系统操作系统基础上,可以发布相应的基础上,可以发布相应的EmbeddedVisualC+的软件开的软件开发包(发包(SDK),供软件开发者使用。),供软件开发者使用。嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院二、嵌入式软件开发环境建立二、嵌入式软件开发环境建立1、嵌入式软件开发语言嵌入式软件开发语言C语言作为一种通用的高级语言,大幅度提高了嵌入式系语言作为一种通用的高级语言,大幅度提高了嵌入式系统工程师的工作效率,使之能够充分发挥出嵌入式处理器日统工程师的工作效率,使之能够充分发挥出嵌入式处理器日益提高的性能,缩短产品进入市场时间。另外,益提高的性能,缩短产品进入市场时间。另外,C语言便于语言便于移植和修改,使产品的升级和继承更迅速。更重要的是采用移植和修改,使产品的升级和继承更迅速。更重要的是采用C语言编写的程序易于在不同的开发者之间进行交流,从而语言编写的程序易于在不同的开发者之间进行交流,从而促进了嵌入式系统开发的产业化。促进了嵌入式系统开发的产业化。嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院新型的微控制器指令及新型的微控制器指令及SoC速度不断提高,存储器空间速度不断提高,存储器空间也相应加大,已经达到甚至超过了目前的通用计算机中的微也相应加大,已经达到甚至超过了目前的通用计算机中的微处理器,为嵌入式系统工程师采用过去一直不敢问津的处理器,为嵌入式系统工程师采用过去一直不敢问津的C+语言创造了条件。语言创造了条件。C+语言强大的类、继承等功能更便于实语言强大的类、继承等功能更便于实现复杂的程序功能。但是现复杂的程序功能。但是C+语言为了支持复杂的语法,在语言为了支持复杂的语法,在代码生成效率方面不免有所下降。为此,代码生成效率方面不免有所下降。为此,1995年初,在日本年初,在日本成立的成立的EmbeddedC+技术委员会经过几年的研究,针对技术委员会经过几年的研究,针对嵌入式应用制定了减小代码尺寸的嵌入式应用制定了减小代码尺寸的EC+标准。标准。EC+保留保留了了C+的主要优点,提供了的主要优点,提供了C+的向上兼容性,并满足嵌入的向上兼容性,并满足嵌入式系统设计的一些特殊要求。在嵌入式高级语言编译器方面式系统设计的一些特殊要求。在嵌入式高级语言编译器方面处于领先地位的处于领先地位的Tasking公司,是公司,是EC+技术委员会之一,技术委员会之一,也是最先推出也是最先推出EC+产品的公司。产品的公司。嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院C/C+/EC+引入嵌入式系统,使得嵌入式开发和个引入嵌入式系统,使得嵌入式开发和个人计算机、小型机等之间在开发上的差别正在逐渐消除,软人计算机、小型机等之间在开发上的差别正在逐渐消除,软件工程中的许多经验、方法乃至库函数可以移植到嵌入式系件工程中的许多经验、方法乃至库函数可以移植到嵌入式系统。在嵌入式开发中采用高级语言,还使得硬件开发和软件统。在嵌入式开发中采用高级语言,还使得硬件开发和软件开发可以分工,从事嵌入式软件开发不再必须精通系统硬件开发可以分工,从事嵌入式软件开发不再必须精通系统硬件和相应的汇编语言指令集。和相应的汇编语言指令集。另一种高级语言是另一种高级语言是JAVA。JAVA本来是为设备独立的嵌本来是为设备独立的嵌入式系统设计的,为了提高程序继承性的语言,但是目前基入式系统设计的,为了提高程序继承性的语言,但是目前基于于JAVA的嵌入式开发工具代码生成长度要比嵌入式的嵌入式开发工具代码生成长度要比嵌入式C编译器编译器工具差工具差10倍以上。因此,倍以上。因此,EC+很可能将成为未来的主流工很可能将成为未来的主流工具。具。嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用嵌入式系统及其应用第七章第七章第七章第七章 嵌入式系嵌入式系嵌入式系嵌入式系统统开开开开发应发应用基用基用基用基础础CHANGANUNIVERSITYCHANGANUNIVERSITY长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院长安大学电子与控制工程学院2、嵌入式软件开发工具、嵌入式软件开发工具(1)WinCE内核裁剪与定制平台内核裁剪与定制平台PlatformBuilder是微软公司提供给是微软公司提供给WindowsCE开发开发人员进行基于人员进行基于WindowsCE平台下嵌入式操作系统定制的集成平台下嵌入式操作系统定制的集成开发环境。它提供了所有进行设计、创建、编译、测试和调试开发环境。它提供了所有进行设计、创建、编译、测试和调试WindowsCE操作系统平台的工具。它运行在桌面操作系统平台的工具。它运行在桌面Windows下,开发人员可以通过交互式的环境来设计和定制内核、选择下,开发人员可以通过交互式的环境来设计和定制内核、选择系统特性,然后进行编译和调试。同时,开发人员还可以利用系统特性,然后进行编译和调试。同时,开发人员还可以利用PlatformBuilder来进行驱动程