嵌入式软件的开发环境1ppt课件_第1页
嵌入式软件的开发环境1ppt课件_第2页
嵌入式软件的开发环境1ppt课件_第3页
嵌入式软件的开发环境1ppt课件_第4页
嵌入式软件的开发环境1ppt课件_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

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

文档简介

1、3 嵌入式软件的开发环境本章主要内容:(1) 嵌入式软件的开发过程(2) 嵌入式软件的建立及其工具(3) 嵌入式软件的下载及其工具(4) 嵌入式软件的调试及其工具(5) 典型的嵌入式软件开发环境13.1 嵌入式软件的开发过程为嵌入式系统开发运用程序的过程与为PC机开发运用软件过程有一定的不同,出现了一些在PC机上不曾有的任务阶段。在同样的一个阶段,详细的任务也有很多的不同。2交叉开发方式运用程序的编辑、编译、链接等过程都在宿主机上完成,而运用程序要在和宿主机有很大差别的目的机上实践运转。运用程序的调试主要是在宿主机上进展,但在很多情况下要借助于目机。3嵌入式软件的开发过程43.2 嵌入式软件的

2、建立及其工具嵌入式软件的建立步骤:源代码编写编译链接定址5嵌入式软件的建立步骤63.2.1 源代码编写源代码编写阶段的任务义务是运用适当的程序设计言语编写程序的源代码。比如说用C言语、C+言语、汇编言语等。就目前的情况来看,运用最多的是C言语。这其中的缘由能够有以下三个:其一,受通用计算机的影响,C言语的运用非常广泛,几乎每一种处置器都支持C言语的编译器,而且有相当多的程序员具有用C言语进展程序开发的丰富阅历。其二,在嵌入式系统领域中,C言语是一种最具一致规范的程序设计言语。其三,C言语是一个非常“低级的言语。它赋于程序员很多直接控制计算机硬件的才干,但又不失去高级言语所固有的益处。它的这种特

3、点对嵌入式系统更为重要。73.2.2 编译编译阶段要做的任务是用交叉编译或汇编工具处置程序的源代码,产生目的文件。当宿主机和目的机采用同样类型的处置器时,没有“交叉的问题,是这一阶段的一个特例。这时编译任务往往简单些。8宿主机目标机DEC Alpha Digital UnixHP 9000/700 HP-UXIBM Power PC AIXIBM RS6000 AIXSGI Iris IRIXSun SPARC SolarisSun SPARC SunOSx86 Windows 95/NTx86 Red Hat LinuxAMD/Intel x86Fujitsu SPARCliteHitach

4、i H8/300、H8/300H、H8/SHitachi SHIBM/Motorola PowerPCIntel i960MIPS R3xxx、R4xx0Mitsubishi D10v、M32R/DMotoroln 68kSun SPARC、MicroSPARCToshiba TX39GNU C/C+编译器支持的宿主机/目的机组合93.2.3 链接交叉编译器所产生的目的文件是不完好的,它里面能够还有未定义的内部变量和函数援用。链接阶段的任务就是用链接工具把这些目的文件组合到一同,使一切未定义的变量和函数在程序库或其它目的文件中找到它的定义。链接阶段得到的结果是一个“可重定位的程序文件。其中包含

5、了来自输入文件的一切代码和数据。链接工具经过合并输入文件里的代码段、数据段来完成这一任务。链接完成后,一切输入文件里的机器言语代码将出如今输出文件的代码段里,一切变量将出如今输出文件的数据段里。103.2.4 定址要使链接工具输出的文件变成可执行的程序文件还必需做一件事,那就是为程序的代码和数据指定存储地址。指定存储地址这项任务是需求在定址阶段经过定址工具来完成的义务。定址工具的输入是“可重定位的程序文件,输出是可执行的二进制文件。它们二者之间的转换,由定址工具自动完成,但运用程序的开发者必需向定址工具提供有关目的机上的存储器的信息。定址工具将用这些信息来为“可重定位程序里的每一个代码段和数据

6、段指定物理存储地址。113.3 嵌入式软件的下载及其工具程序的下载就是把在宿主机上生成的目的机内存映像文件放到目的机的RAM存储器或者Flash ROM上面去,以便进展调试和运转。程序下载的方法主要有以下几种:(1) 运用ROM仿真器(2) 运用在线仿真器ICE(3) 运用片上调试器ICD(4) 运用目的机上的驻留程序12运用目的机上的驻留程序生成了目的机的内存映象文件之后,就可以运用bootloader程序将这个内存映像文件下载到目的机上面去。宿主机端软件和bootloader程序普通是经过串口相互衔接。当然也可以经过以太网相衔接。在运用串口相衔接时,下载程序的任务可分为以下几步进展:(1)

7、 用串口线衔接宿主机和开发评价板的串口。(2) 在宿主机上启动bootloader程序。当运用以Windows为操作系统的PC机做宿主机时,通常以超级终端程序做宿主机端软件。13(3) 在目的机上按复位键,重新启动目的机。目的机被重新启动后,将自动执行驻留在ROM中的bootloader程序。一些开发评价板可以经过跳线选择系统重新启动后从不同的地址开场运转。(4) 将宿主机的串口和目的机的串口设置为一样的传输速率。在设置时应选择尽能够高的速率,以节省程序下载所破费的时间。设置目的机串口传输速率的方法是同过超级终端程序输入相应的命令。(5) 在宿主机上经过超级终端程序输入bootloader程序

8、的命令,将开发评价板设置为等待接纳下载程序形状,并指定程序下载的位置。(6) 在宿主机上发出下载命令。开场进展程序下载。143.4 嵌入式软件的调试及其工具直接测试法驻留程序法插桩法ROM仿真器法在线仿真器法片上调试法模拟器法153.4.1 直接测试法直接测试法是嵌人式系统开展的早期经常采用的一种调试方法。缘由是这种方法需求的调试工具非常简单,比较顺该当时的实践情况。采用这种方式进展软件开发的根本步骤如下:16(1) 在宿主机上编写程序的源代码;(2) 在宿主机上用交叉编译工具对程序的源代码进展编译,生成可执行程序;(3) 将可执行程序固化到EPROM中;(4) 将EPROM插到目的机的插座上

9、;(5) 在目的机上启动程序运转,假设程序正确,那么转到第(8)步;(6) 在在宿主机上修正程序的源代码,纠正错误;(7) 转到第(2)步;(8) 程序开发完成。173.4.2 驻留程序法驻留程序常被称为bootloader程序。它需求有一个与之配合任务的宿主机端软件。宿主机端软件和bootloader可建立起衔接。对目的机来说宿主机端软件好比是一个终端。经过它可以输入针对目的机的控制命令。目的机上的运用程序输出在规范输出设备上的内容可以经过宿主机端软件显示出来。因此,只需在被调试的程序中将一些重要的信息用printf语句显示出来就可以协助程序的调试。18在利用驻留程序法作为调试手段时,程序的

10、开发步骤如下:(1) 在宿主机上编写程序的源代码。在编写源代码时应根据需求参与假设干printf语句,目的是经过宿主机端软件显示某些变量的值,以便协助进展程序调试;(2) 在宿主机上编译程序的源代码,生成可执行程序;(3) 将可执行程序的代码经过bootloader程序提供的功能下载到目的机的RAM上;19(4) 经过bootloader程序提供的功能启动被调试的程序;(5) 假设程序运转正确,那么去掉程序中不用要的printf语句后转到第(9)步;(6) 借助于用printf语句显示的信息,发现程序中的错误;(7) 在宿主机上修正程序的源代码,纠正错误;(8) 转到第(2)步;(9) 用bo

11、otloader程序提供的功能将调试正确的程序固化到目的机上。203.4.3 插桩法21在利用插桩法作为调试手段时,程序的开发步骤如下:(1) 在宿主机上编写程序的源代码;(2) 在宿主机上编译程序的源代码,生成可执行程序;(3) 将可执行程序的代码下载到目的机的RAM上;(4) 运用调试器进展调试;(5) 假设程序正确,那么转到第(9)步;(6) 在调试器的协助下定位错误;(7) 在宿主机上修正程序的源代码,纠正错误;(8) 转到第(2)步;(9) 将可执行程序固化到目的机上。223.4.4 ROM仿真器法ROM仿真器可以以为是一种用于替代目的机上ROM芯片的硬件设备。它本身也是一个嵌入式系

12、统。 23ROM仿真器的衔接方法24ROM仿真器的最主要用途是节省程序开发编辑、编译、下载、调试过程所需的时间。运用插桩法的情况下,在更新ROM中的程序时,普通的过程是从目的机上取下旧的EPROM(或Flash),将其用紫外线照射擦除后放到EPROM编程器中,写入新的程序,然后,再插回到目的机上。反复这样做,EPROM很快就会老化。而运用ROM仿真器时,可将程序用ROM仿真器下载到目的机上运转,并根据程序运转的情况对程序进展修正。253.4.5 在线仿真器法在线仿真器In-Circuit Emulator,ICE是一种用于替代目的机上CPU的设备。对目的机来说,在线仿真器就相当于它的CPU。在

13、线仿真器本身就是一个嵌入式系统,它有本人的CPU、RAM、ROM和软件。在线仿真器可以执行目的机CPU的一切指令,但比普通的CPU有更多的引出线,可以将内部的信号输出到被控制的目的机上。在线仿真器上的存储器也可以被映射到用户的程序空间上。因此即使没有目的机,仅用在线仿真器也可以进展程序的调试。26在线仿真器的衔接方法273.4.6 片上调试法片上调试In Circuit Debugger ICD是CPU芯片内部的一种用于支持调试功能模块。可把它看做是一种廉价的在线仿真器。28按照实现技术,片上调试可分为以下几类:仿调试监控器: Motorola的CPU16、CPU32和ColdFire系列。后

14、台调试方式Backgroud Debugging Mode,BDM: Motorola的MPC 5XX和MPC 8XX系列。衔接测试存取组Joint Test Access Group,JTAG: PPC6XX、PPC4XX、ARM7、ARM9、Intel 1960。片上仿真On Chip Emulation,OnCE: Motorola的DSP芯片系列。29目前运用比较多的是采用后台调试方式的CPU芯片。这种芯片的外面有一些与调试控制有关的管脚。这些管脚在需求的时候可被引出,构成一个用于与外部相连的调试端口。这种CPU具有调试方式和普通方式两种不同的运转方式。当满足了特定的触发条件时CPU就

15、可进入调试方式。在调试方式下,CPU不再从内存中读取指令,而是经过它的调试端口读取指令。经过调试端口还可以控制CPU进入和退出调试方式,这样在宿主机的调试器上就可以经过调试端口直接向目的机发送要执行的指令,使调试器读写目的机的内存和各种存放器,控制目的程序的运转以及完成各种复杂的调试功能。303.4.7 模拟器法模拟器是一个运转于宿主机上的纯软件工具。它经过模拟目的机的指令系统或目的机操作系统的系统调用来到达在宿主机上运转和调试嵌入式程序的目的。模拟器适宜于用来调试“高级的运用程序,比如说一个“通讯簿程序。这种程序与外部设备打交道不多,实时性不强,拿到哪一个计算机上去执行都一样。因此,开发者可

16、以直接在宿主机上验证程序的逻辑。当确认无误之后,将写好的程序移到目的机上面去普通就可以正确地执行。31模拟器有两种主要的类型:一类是在宿主机上模拟目的机指令系统的模拟器,我们称其为指令级的模拟器。另一类是模拟目的机操作系统的系统调用的模拟器,我们称其为系统调用级的模拟器。指令级的模拟器相当于在宿主机上建立了一台虚拟的目的机,该虚拟目的机的CPU的种类可以与宿主机不同。例如,宿主机的CPU是Intel Pentium,而虚拟机是ARM、PowerPC或MIPS等。指令级的模拟器除了能模拟目的机的指令系统之外,视模拟器功能的强弱,还可以模拟目的机的外部设备、中断和定时器。系统调用级的模拟器相当于在

17、宿主机上安装了目的机的操作系统,使得基于目的机的操作系统的运用程序可以在宿主机上运转。被模拟的目的机的操作系统的类型可以与宿主机不同。例如,宿主机的操作系统是Windows 2000,而目的机的操作系统是Hopen。两种类型的模拟器相比,指令级模拟器所提供的运转环境与实践的目的机更接近。而系统调用级的模拟器本身比较容易开发,也容易移植。32我们曾经把直接测试法、驻留程序法、插桩法、ROM仿真器法、在线仿真器法、片上调试法、模拟器法等几种嵌入式软件的调试方法都简单地引见了一遍。从嵌入式软件的开发实际来看,各种调试方法都有一定的适用范围。没有哪一种调试方法可以绝对地说是最好的调试方法。即使是直接测

18、试法在有的时候也是最有效的方法。因此,在嵌入式软件开发的不同阶段运用最适宜的调试方式,不但可以节约开发费用,同时还能大大地加快工程开发的进度。333.5 几种典型的嵌入式软件开发环境嵌入式软件开发环境的种类很多。我们可以把它们分为3类:第一类是与某一种嵌入式操作系统配套的开发环境。属于这一类的开发环境最多。DeltaOS、Hopen、PalmOS、pSOS、THOS、VxWorks、Windows CE等嵌入式操作系统就都有与其相配套的软件开发环境。第二类是与某个芯片系列配套的开发环境。如与爱普生的32位单片机S1C33相配套的开发环境C33、与ARM芯片相配套的UP-NetARM200等。3

19、4第三类是与某种运用平台配套的开发环境。如高通公司的Brew SDK。这里所说的运用平台是一种与操作系统相独立,专门针对某种运用领域的软件系统。Brew就是一个专门针对手机的运用平台。353.5.1 VxWorks的集成开发环境TornadoTornado是WindRiver公司推出的一个集成软件开发环境。它由三个部分所组成:运转在宿主机和目的机上的交叉开发工具和适用程序;运转在目的机上的实时操作系统VxWorks;衔接宿主机和目的机的各种通讯介质。例如,以太网、串口、在线仿真器ICE或ROM仿真器等。36Tornado提供的交叉开发工具和适用程序主要有:源代码编辑工具图形化的交叉调试工具工程

20、配置工具集成仿真工具诊断分析工具C/C+编译工具宿主机目的机衔接配置工具目的机系统形状阅读工具命令行执行工具多言语阅读工具图形化中心配置工具37Tornado环境中宿主机与目的机间的关系381. 图形化的交叉调试工具CrossWind/WDBCrossWind/WDB支持义务级和系统级两种调试方式、混合源代码和汇编代码显示、多目的机同时调试。它具有良好的图形用户界面。经过CrossWind/WDB开发者可以在察看窗口中成组地察看表达式的值,在调试窗口中改动变量、存放器和部分变量的值,经过信息规整和分类的方法有效地提供信息。CrossWind/WDB还提供了GNU/GDB调试器引擎。GNU/GD

21、B调试器引擎采用命令行方式。对于熟习它的用户,运用起来有很强的灵敏性。392. 工程配置工具Project经过Project可以对VxWorks操作系统及其组件进展自动配置,进展依赖性分析和代码容量计算,自动生成Makefile文件。它简化了VxWorks运用程序的组织、配置和建立任务,使工程管理和VxWorks配置的许多方面实现了自动化。这种集成的图形化工程管理环境加强了开发小组的专业化程度,使单独的组件可以各自独立开发,然后由小组的其他成员共享和重用。403. 集成仿真工具VxSimVxSim能提供与真实目的机完全一致的调试和仿真运转环境。经过VxSim,开发者可以在没有板级支持包、目的机

22、操作系统、目的机硬件的情况下,运用Tornado进展开发任务。414. 诊断分析工具WindViewWindView是一个图形化的工具。它的功能主要是向开发者提供在目的机上运转的运用程序的许多的详细情况。这种系统级的诊断分析工具可以与集成仿真器一同运用。嵌入式系统开发者经常由于无法知道程序执行时系统内部的情况和软件的一些随时间变化的特性而感到苦恼。WindView提供了运转在集成仿真器上的VxWorks运用程序的详细的动态行为,用图形化的方法显示出了义务、中断和系统对象之间的复杂关系,为软件开发者处理了许多费事的问题。425. C/C+编译工具Tornado提供以下一些支持C言语和C+言语的工

23、具和类库:Diab C/C+编译器、GNU C/C+编译器、iostreams类库。436. 宿主机目的机衔接配置工具Launcher从开发者的角度看Launcher位于Tornado环境的最上层。经过它开发者可对开发环境进展设置。447. 目的机系统形状阅读工具BrowserBrowser是一个图形化工具。它能随时提供目的系统的全面形状信息。开发者也可以经过它监视义务、信号量、音讯队列、内存分区、定时器、模块、变量、堆栈等系统对象。这些对象的信息将根据开发者的选择进展周期性或条件性的更新。458. 命令行执行工具WindShWindSh是一个命令行解释器。它可以直接解释执行C言语达式、调用目

24、的机上的C函数、访问已在系统符号表中定义的变量。WindSh不仅可以解释几乎一切的C言语表达式,而且还可以经过它执行Tornado中一切的调试功能。例如,下载软件模块、删除软件模块、创建并启动一个义务、删除义务、设置断点、删除断点、运转程序、单步运转程序、继续运转程序、查看内存、查看存放器、查看变量、修正内存、修正存放器、修正变量、查看义务列表、查看内存运用情况、查看CPU利用率、查看特定的对象义务、信号量、音讯队列、内存分区、类、复位目的机等。469. 多言语阅读工具WindNavigator经过WindNavigator可阅读源程序代码,用图形化的方式显示函数调用关系。这样就可快速地进展代

25、码定位。4710. 图形化中心配置工具WindConfig经过WindCgnfig所提供的图形导游,Tornado的用户可以方便地配置VxWorks内核及其组件的参数。483.5.2 Brew SDK49Brew SDK是一个用于开发基于Brew的运用程序的开发环境。运用这个开发环境可在PC机上需求Windows NT或Windows 2000操作系统的支持为无线设备编写和调试运用程序。待程序开发终了后,再下载到无线设备上去。Brew SDK由以下工具和程序所组成:模拟器设备配置器资源编辑器模块信息文件编辑器库函数Brew头文件例如运用程序501. Brew模拟器Brew模拟器用于模拟运转和调

26、试Brew的运用程序。它能提供与被模拟的手机同样的用户界面,好似运用程序真正是在实践的手机上运转一样。Brew SDK提供了一些类型的手机的模拟方案,用户也可以运用Brew的设备配置器建立其它手机的模拟方案。 512. Brew设备配置器Brew设备配置器用于生成新的设备配置文件或编辑现有的设备配置文件。可以经过设备配置文件进展设置的内容有键盘键及其功能、屏幕的尺寸和分辨率、内存的大小等。523. Brew资源编辑器Brew资源编辑器用于建立运用程序的资源,如字符串、图像和对话框等。保管字符串、图像和对话框等资源的文件的后缀为.bar。资源编辑器在产生资源内容的同时,还产生定义资源标识号的.h

27、文件。编译工具在生成运用程序的.dll文件时需求用到这个.h文件。534. Brew模块信息文件MIF编辑器Brew模块信息文件MIF编辑器用来产生模块信息文件。模块信息文件包含以下几方面的内容,模块中运用程序和类的数量、每个运用程序和类的标识号、运用程序的称号、运用程序的图标等。留意,在Brew中,一个模块文件内可以有多个运用程序的信息。模拟器在装入一个模块文件时要用到它的模块信息文件。54用Brew SDK开发运用程序的过程可分为以下5个步骤:(1) 运用模块信息文件编辑器建立模块信息文件.mif文件。(2) 运用Visual C+建立一个新工程,以便建立运用程序模块文件.dll文件。(3

28、) 将运用程序的源码参与到第2步所建立的新工程当中去。(4) 建立运用程序的模块文件。(5) 启动模拟器调试运用程序模块文件。假设有必要,在启动模拟器调试运用程序之前还应该用资源编辑器建立运用程序要用到的资源文件.bar文件,用设备配置器建立起要模拟的设备的设备配置文件.qsc文件。55用Brew SDK开发运用程序的过程563.5.3 C33编程工具包C33是EPSON公司推出的一个专门为基于S1C33系列微控制器芯片的嵌入式系统开发运用程序的软件工具包。这个工具包里面包括多种工具。C33提供的软件工具有:(1) gcc33:C言语编译器;(2) pp33:预处置器,用于处置宏命令;(3)

29、ext33:指令扩展器,用于处置S1C33系列的扩展指令;(4) as33:汇编程序;(5) lk33:链接器,用于建立可执行目的程序;57(6) dis33:反汇编程序;(7) db33:调试器,可经过控制硬件工具或调试监控器进展调试,也可运用模拟程序在宿主机上进展调试;(8) hex33:二进制/十六进制转换工具;(9) lib33:库生成工具;(10) wb33:集成开发平台,包含了上述一切的工具;(11) MON33:调试监控器。调试监控器运转在目的机上,并与宿主机上的调试器相互通讯,到达监控被调试的运用程序的目的。58C33提供的硬件工具有:(1) ICE33:在线仿真器;(2) I

30、CD33:片上调试器;(3) EPOD33:针对不同芯片的仿真器;(4) MEM33:存储仿真器,可仿真ROM、F1ash和RAM。59用C33开发嵌入式软件的过程包括以下6个主要步骤:(1) 建立源程序:建立源程序可以运用普通的编辑器。(2) 建立make文件:在C33的集成开发平台wb33中可方便地建立make文件。经过make文件,预处置、编译、链接等步骤可自动完成。(3) 执行make文件:执行上一步骤生成的make文件生成后缀为.sr的目的文件。(4) 调试目的文件:运用调试器db33调试上一步生成的目的文件。在调试目的文件时有3种不同的方式:运用ICE33,运用ICD33,运用调试

31、监控器MON33。60(5) 反汇编:为验证源程序代码与绝对地址之间的一致性,可利用反汇编工具dis33对一个链接好的目的文件进展反汇编。反汇编程序的输出是后缀为.di的列表文件。(6) 创建ROM数据或掩码数据:利用二进制/十六进制转换工具hex33,将前面生成的目的文件转换为目的ROM数据或/和掩码数据,以便将其固化到基于S1C33芯片的目的机中去。61用C33编程工具包开发运用程序的过程623.5.4 Hopen的运用软件开发环境Hopen是凯思公司研制的一个嵌入式软件系统。它由操作系统、软件开发环境、窗口系统、网络系统、数据库管理系统、Java虚拟机等多个部分所组成。Hopen系统的运

32、用软件开发环境又称为Hopen SDK。633.5.4.1 Hopen SDK的组成64Hopen系统提供的调试工具分别是:仿真调试工具指令级仿真调试工具基于监控器的调试工具仿真调试工具实践上就是我们前面所说的系统调用级的模拟器。由于一个不太规范的习惯,它被称为了如今的名字。在3个工具中它运用的最多。指令级仿真调试工具是一个指令级的模拟器。它的性能虽然强于仿真调试工具,但只能用来调试MC68328上的运用程序。基于监控器的调试工具是一个用插桩法来调试嵌入式运用程序的工具。运用它能察看运用程序在目的机上的运转效果,但其问题同指令级仿真调试工具一样,也只能支持少数几种CPU,包括Motorola

33、MC68328、Winbond 90210/90221和x86系列的芯片。653.5.4.2 用Hopen SDK开发运用软件的过程在运用Hopen系统的系统调用级模拟器作为调试工具时,运用软件的开发过程应分为工程方案、可行性分析、需求分析、概要设计、详细设计、程序建立、程序调试、重新编译、程序下载与固化、程序测试、程序运转等11个阶段。前5个阶段与通常的开发过程相比没有什么变化。不同之处主要表达在程序建立、程序调试、重新编译、程序下载与固化、程序测试、程序运转等几个阶段。661. 程序建立阶段在Hopen系统中可用C和Java两种言语中的任何一种来编写运用程序。但在多数情况下是运用C言语。在

34、此处我们引见的开发过程也是针对C言语的。67为了协助软件开发人员编写运用程序,Hopen系统提供了一整套C言语的API函数,包括操作系统API、窗口系统API、文件系统API、网络系统API等。此外Hopen系统还提供了一个C言语库。程序建立阶段的任务就是利用这些API函数和库函数根据运用的需求编写出运用程序,并编译成可执行的目的码。在编写和编译运用程序的时是用Visual C+5.0或6.0做为开发工具。不过在运用时有几点要特别留意,第一是在编写运用程序的时候应遵照规范的C言语规范;第二是除了Hopen系统提供的API函数和库函数之外不要调用其它的函数,比如Visual C+的函数;第三是工

35、程的类型该当是Hopen AppWizard。682. 程序调试阶段和重新编译阶段由于在调试运用软件之前,不需求将其下载到目的机之上,所以运用软件被编译为宿主机的目的指令后,马上就可以用Hopen系统的仿真调试工具对其进展调试。当运用程序经过反复调试,确认没有错误之后,就可以将其下载并固化到目的机上面去。但要留意,在下载之前还必需将运用程序重新编译成与目的机的CPU相一致的目的码,并对目的码进展重定位。进展这种编译与重定位普通是运用GNU的C/C+编译器gcc或者是某种与目的机相配套的编译器。693. 程序下载与固化阶段由于运用软件在调试之前不需求下载到目的机之上,所以程序下载和程序固化两个阶

36、段已无再划分的必要,可以一致为一个程序下载与固化阶段。这个阶段的任务与目的机有亲密的关系。这里我们所说的目的机指专门为开发任务设计的开发评价板,而不是最终用户所运用的普通硬件设备。这种开发评价板都提供一定的开发功能在软件的支持下。利用这些功能,开发者可以比较方便地把运用程序下载和固化到它上面来。下载和固化的方法对于各种开发评价板是不太一样的,必需详细地参考它们各自的运用手册。704. 程序测试阶段运用程序下载到目的机上面之后,就可以按照一定的测试方案测试它的各种功能。由于在测试阶段Hopen系统没有提供对应的支撑工具,所以只能仔细地逐一确认程序的每一个功能能否正确。但由于这时运转的运用程序曾经

37、在仿真调试工具中调试经过,所以通常不会出现错误。假设有错误,普通都与目的机的硬件环境有关,比如输入输出设备,中断地址等。这些错误普通要借助目的机所提供的功能来排除。715. 程序运转阶段当运用程序在目的机上测试经过之后,整个开发过程就告终了。剩下的事情就是把运用程序放到普通的硬件设备上去,宣告进入运用程序的最终运转阶段。723.5.4.3 用Visual C+编译运用软件的方法当预备用一台PC机充任宿主机,运用它开发Hopen系统的运用软件之前,必需首先在这台PC上安装Visual C+和Hopen SDK。留意安装这两个系统的次序不能颠倒,必需是先安装Visual C+,后安装Hopen S

38、DK。由于在安装Hopen SDK时需求为Visual C+添加两个新的工程类型。这两个工程类型分别是Hopen AppWizard和Hopen DllWizard。 73安装运用软件开发环境后Visual C+新添加的工程类型新添加的工程类型 74在安装了Visual C+和Hopen系统的运用软件开发环境之后,可用Visual C+按照下面的步骤建立和编译运用软件:(1) 启动Visual C+。(2) 在指定的目录中建立一个类型为Hopen AppWizard的工程。(3) 在工程所给出的程序模板中添加程序代码,建立运用软件的源程序。(4) 编译运用软件的源程序。假设编译经过,Hopen AppWizard类型的工程将把运用软件编译为一个.dll文件。在缺省情况下这个.dll文件被保管在开发环境的安装目录的app子目录中。753.5.4.4 用仿真调试工具调试运用软件的方法Hopen系统的仿真调试工具是一个在 Windows操作系统下运转的软件。它对硬件环境的要求不高,在486上有32M内存就可以正常地运转。76仿真调试工具的主窗口仿真调试工具共有“文件、“编辑、“视图、“系统、“调试、“工具和“协助七个菜单。77Hopen系统的运用软件仿真调试工具向运用程序的开发者提供了一个与实践的目的机根本等价的软件

温馨提示

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

评论

0/150

提交评论