嵌入式系统第五章嵌入式系统软件开发环境分解_第1页
嵌入式系统第五章嵌入式系统软件开发环境分解_第2页
嵌入式系统第五章嵌入式系统软件开发环境分解_第3页
嵌入式系统第五章嵌入式系统软件开发环境分解_第4页
嵌入式系统第五章嵌入式系统软件开发环境分解_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章嵌入式系统软件及开发调试方法

5.1嵌入式系统软件结构5.2嵌入式系统软件开发过程5.3ADS集成软件开发环境5.5嵌入式Linux系统开发环境15.1嵌入式系统软件结构图2DDI层硬件层与软件层之间为中间层,也称为BSP(BoardSupportPackage,板级支持包),将系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关,一般应具有相关硬件的初始化、数据的输入/输出操作和硬件设备的配置等功能。BSP是主板硬件环境和操作系统的中间接口,是软件平台中具有硬件依靠性的那一部分,主要目的是为了支持操作系统,使之能够更好地运行于硬件主板上。纯粹的BSP所包含的内容一般说来是与系统有关的驱动程序,如网络驱动程序和系统中的网络协议有关,串口驱动程序和系统的下载调试有关,等等。离开这些驱动程序系统就不能正常工作。3系统软件层主要是操作系统,有的还包括文件系统、图形用户接口和网络系统等。操作系统是嵌入式应用软件的基础和开发平台,事实上是一段程序,系统复位后首先执行,相当于用户的主程序,用户的其他应用程序都建立在操作系统之上。操作系统是一个标准的内核,将中断、I/O、定时器等资源都封装起来,以便利用户运用。操作系统的引入大大提高了嵌入式系统的功能,便利了应用软件的设计,但同时也占用了珍贵的嵌入式系统资源。一般在大型的或须要多任务的应用场合才考虑运用嵌入式操作系统。4应用层由基于操作系统开发的应用程序组成,用来完成对被控对象的限制功能。应用层是面对被控对象和用户的,为了便利用户操作,往往须要具有友好的人机界面。对于一些困难的系统,在系统设计的初期阶段就要对系统的需求进行分析,确定系统的功能,然后将系统的功能映射到整个系统的硬件、软件和执行装置的设计过程中,这个过程称为系统的功能实现。55.2嵌入式系统开发工具1.嵌入式系统开发工具:硬件开发工具,软件开发工具两类。2.软件开发工具编译器,汇编器,连接器,调试器,嵌入式操作系统,函数库,评估板,在线仿真器等。3.市场上的软件开发工具类型:目前世界上有四十多家公司供应不同类型的产品。从软件开发角度讲,至少须要编辑器,编译器,连接器,调试器和工程管理工具,也就是软件集成开发环境。5.ARM公司供应的ADS集成开发环境。这种一套运行在windows环境下的ARM公司开发继承开发环境ADS,该公司还新退出了RVDS.65.3嵌入式系统开发过程概要设计:描述系统如何实现所述的需求,包括软件模块的划分、系统的软件开发工具选择以及关键问题的论证等。具体设计:具体描述各个模块的实现方法与过程,模块间接口等问题,以作为编码人员的编码准则。编码单元调试:编码完成后,对各个模块进行单元调试,以保证模块正常工作。集成调试集成调试,产品测试,产品发布7嵌入式系统软件的开发特点

接受宿主机/目标机交叉开发方法:嵌入式系统本身不具备自举开发实力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的。嵌入式软件以宿主机/目标机模式开发,所须要的开发环境称为交叉开发环境,分为宿主机部分和目标机部分,两者以统一的通信协议进行通信,宿主机向目标机发送叮嘱,目标机接收、执行叮嘱并将结果返回宿主机,从而实现两机之间的交互限制。8嵌入式系统软件交叉开发方式95.4嵌入式系统软件调试技术1.模拟器方式调试工具和待调试的嵌入式软件都在主机上运行,通过软件手段模拟执行为某种嵌入式处理器编写的源程序。简洁的模拟器可以通过指令说明方式逐条执行源程序,支配虚拟存储空间和外设,进行语法和逻辑上的调试。102.在线仿真器方式在线仿真器ICE是一种完全仿造调试目标CPU设计的仪器,目标系统对用户来说是完全透亮的、可控的。仿真器与目标板通过仿真头连接,与主机有串口、并口、以太网口或USB口等连接方式。该仿真器可以真正地运行全部的CPU动作,并且可以在其运用的内存中设置特殊多的硬件中断点,可以实时查看全部须要的数据,从而给调试过程带来很多便利。由于仿真器自成体系,调试时可以连接目标板,也可以不接目标板。运用ICE同运用一般的目标硬件一样,只是在ICE上完成调试后,须要把调试好的程序重新下载到目标系统上而已。由于ICE价格昂贵,而且每种CPU都须要一种与之对应的ICE,使得开发成本特殊高。11。主机和目标板通过某种接口(通常是串口)连接,主机上供应调试界面,被调试程序下载到目标板上运行,通过与监控运行于目标机上的监控程序通信,获得调试信息。3.监控器方式12监控程序监控程序是一段运行于目标机上的可执行程序,主要负责监控目标机上被调试程序的运行状况,与宿主机端的调试器一起完成对应用程序的调试。监控程序包含基本功能的启动代码,并完成必要的硬件初始化,等待宿主机的叮嘱。被调试程序通过监控程序下载到目标机,就可以起先进行调试。监控器方式操作简洁易行,功能强大,不须要特地的调试硬件,适用面广,能提高调试的效率,缩短产品的开发周期,降低开发成本。正因为以上缘由,监控器方式才能够广泛应用于嵌入式系统的开发之中。13监控器调试方法的局限性:只能调试运行在目标机操作系统上的应用程序,不适宜用来调试目标操作系统。有的微处理器须要在目标板工作正常的前提下,事先烧制监控程序,而且功能有限,特殊是硬件调试实力较差。14

运用ICD和目标板的调试端口连接,发送调试叮嘱和接收调试信息,可以完成必要的调试功能。一般状况下,在ARM芯片的开发板上接受JTAG边界扫描口进行调试。摩托罗拉公司接受专用的BDM调试接口。运用合适的开发工具可以利用这些接口。例如,ARM开发板,可以将JTAG调试器接在开发板的JTAG口上,通过JTAG口与ARM处理器核进行通信。由于JTAG调试的目标程序是在目标板上执行,仿真更接近于目标硬件,因此很多接口问题,如高频操作限制、电线长度的限制等被最小化了。该方式是目前接受最多的一种调试方式。4.JTAG仿真器调试155.6嵌入式软件开发类型无操作系统的软件开发(单片机软件开发)启动代码应用程序基于操作系统的软件开发bootloader操作系统移植BSP板级支持包应用程序开发16无操作系统软件开发-启动代码开发启动代码功能和特征功能硬件初始化引导C代码特征通常用汇编语言编写程序复位运行入口点代码量特殊小17无操作系统软件开发-启动代码启动代码程序流程设置中断、异样入口关中断硬件寄存器初始化(GPIO配置、总线配置、PLL时钟)初始化栈指针数据区初始化C入口函数调用BLMain18无操作系统软件开发-应用软件开发应用软件功能和特征功能硬件驱动应用特征通常用C语言或者嵌入式汇编语言编写程序较困难,代码量较大19基于操作系统的软件开发-bootloader开发Bootloader功能和特征功能硬件初始化引导操作系统下载程序(串口、网口、USB)烧写flash特征程序复位运行入口点通常用汇编语言+C语言编写代码量较小20基于操作系统的软件开发-嵌入式操作系统移植LinuxWindowsCEuC/OSIIuClinuxNucleus21基于操作系统的软件开发-BSP设计BSP功能和特征功能为应用程序供应统一的硬件操作接口,主要是为操作系统运用。特征高度硬件相关高度依靠于具体硬件平台各种操作系统各异22基于操作系统的软件开发-应用程序设计应用程序功能功能GUI图形、人机交互限制算法特征硬件依靠

温馨提示

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

评论

0/150

提交评论