嵌入式系统基础.docx

上传人:b****6 文档编号:16524136 上传时间:2023-07-14 格式:DOCX 页数:77 大小:493.72KB
下载 相关 举报
嵌入式系统基础.docx_第1页
第1页 / 共77页
嵌入式系统基础.docx_第2页
第2页 / 共77页
嵌入式系统基础.docx_第3页
第3页 / 共77页
嵌入式系统基础.docx_第4页
第4页 / 共77页
嵌入式系统基础.docx_第5页
第5页 / 共77页
嵌入式系统基础.docx_第6页
第6页 / 共77页
嵌入式系统基础.docx_第7页
第7页 / 共77页
嵌入式系统基础.docx_第8页
第8页 / 共77页
嵌入式系统基础.docx_第9页
第9页 / 共77页
嵌入式系统基础.docx_第10页
第10页 / 共77页
嵌入式系统基础.docx_第11页
第11页 / 共77页
嵌入式系统基础.docx_第12页
第12页 / 共77页
嵌入式系统基础.docx_第13页
第13页 / 共77页
嵌入式系统基础.docx_第14页
第14页 / 共77页
嵌入式系统基础.docx_第15页
第15页 / 共77页
嵌入式系统基础.docx_第16页
第16页 / 共77页
嵌入式系统基础.docx_第17页
第17页 / 共77页
嵌入式系统基础.docx_第18页
第18页 / 共77页
嵌入式系统基础.docx_第19页
第19页 / 共77页
嵌入式系统基础.docx_第20页
第20页 / 共77页
亲,该文档总共77页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

嵌入式系统基础.docx

《嵌入式系统基础.docx》由会员分享,可在线阅读,更多相关《嵌入式系统基础.docx(77页珍藏版)》请在冰点文库上搜索。

嵌入式系统基础.docx

嵌入式系统基础

1嵌入式系统开发基础1

1.1.嵌入式Linux系统开发模式2

1.1.1嵌入式系统设计的特点3

1.1.2嵌入式系统的设计流程4

1.1.3嵌入式系统的软硬件划分7

1.1.4嵌入式系统的产品硬件详细设计8

1.2嵌入式系统的软件设计9

1.3嵌入式开发电路基础12

1.3.1电路原理图设计12

1.3.2电路PCB设计基础13

1.3.3电子电路抗干扰技术18

1.3.4PCB设计中常用定义、符号和缩略语介绍20

1.3.5PCB工艺设计要考虑的基本问题22

1.3.6印制板常用基板设计要求22

1.3.7PCB制造一般技术要求23

1.3.8PCB设计基本工艺要求24

1.3.9拼板设计27

1.3.10元件的选用原则30

1.3.11组装方式30

1.3.12元件布局31

1.3.13布线要求34

1.3.14焊盘与线路的连接35

1.3.15大面积电源区和接地区的设计36

1.3.16通孔插装元件焊盘设计36

1.3.17导通孔的设计38

1.3.18阻焊层设计40

1.3.19字符图40

1.3.20元器件的表示方法41

1嵌入式系统开发基础

对于嵌入式系统(EmbeddedSystem)电气工程师协会的定义如下:

嵌入式系统是用来控制或者监视机器、装置、工厂等大规模系统的设备。

嵌入式系统的定义通常如下:

嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。

嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序4个部分组成,用于实现对其他设备的控制、监视或管理等功能。

图1-1嵌入式系统的构成

嵌入式系统同PC系统相比有以下特点:

(1)嵌入式系统功耗低、体积小,专用性强。

嵌入式系统与PC的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,能够把PC中许多由板卡完成的任务集成在芯片内部,从而使系统设计趋于小型化。

(2)为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身。

(3)嵌入式系统的硬件和软件都必须高效率地设计,系统要精简。

操作系统一般和应用软件集成在一起。

(4)对软件代码质量要求高。

(5)嵌入式系统开发需要专门的开发工具和开发环境。

1.1.嵌入式Linux系统开发模式

嵌入式系统通常为一个资源受限的系统。

直接在嵌入式系统的硬件平台上编写软件比较困难,有时甚至是不可能的。

目前通常的开发步骤先在通用计算机上编写程序,然后,通过交叉编译,生成目标平台上可运行的二进制代码格式,最后下载到目标平台上的特定位置上运行,具体步骤如下。

           

第一步,建立嵌入式Linux交叉开发环境。

目前,常用的交叉开发环境主要有开放和商业两种类型。

开放的交叉开发环境的典型代表是GNU工具链,目前已经能够支持x86、ARM、MIPS、PowerPC等多种处理器。

商业的交叉开发环境主要有MetrowerksCodeWarrior、ARMSoftwareDevelopmentToolkit、SDSCrosscompiler、WindRiverTornado、MicrosoftEmbeddedVisualC等。

交叉开发环境是指编译、链接和调试嵌入式应用软件的环境。

与运行嵌入式应用软件的环境有所不同,交叉开发通常采用宿主机/目标机模式.

  第二步,交叉编译和链接。

在完成嵌入式软件的编码之后,就是进行编译和链接,以生成可执行代码。

由于开发过程大多是在Intel公司x86系列CPU的通用计算机上进行的,而目标环境的处理器芯片却大多为ARM、MIPS、PowerPC、DragonBall等系列的微处理器,这就要求在建立好的交叉开发环境中进行交叉编译和链接。

  例如,在基于ARM体系结构的gcc交叉开发环境中,arm-linux-gcc是交叉编译器,arm-linux-ld是交叉链接器。

通常情况下,并不是每一种体系结构的嵌入式微处理器都只对应于一种交叉编译器和交叉链接器。

如对于M68K体系结构的gcc交叉开发环境而言,就对应于多种不同的编译器和链接器。

假如使用的是COFF格式的可执行文件,那么在编译Linux内核时,需要使用m68k-coff-gcc和m68k-coff-ld,而在编译应用程序时则需要使用m68k-coff-pic-gcc和m68k-coff-pic-ld。

编写好的嵌入式软件经过交叉编译和交叉链接后,通常会生成两种类型的可执行文件:

用于调试的可执行文件和用于固化的可执行文件。

  第三步,交叉调试。

  ①硬件调试。

假如不采用在线仿真器,可以让CPU直接在其内部实现调试功能,并通过在开发板上引出的调试端口,发送调试命令和接收调试信息,完成调试过程。

目前,Motorola公司提供的开发板上使用的是DBM调试端口,而ARM公司提供的开发板上使用的则是JTAG调试端口。

使用合适的软件工具与这些调试端口进行连接,可以获得与ICE类似的调试效果。

  ②软件调试。

在嵌入式Linux系统中,Linux系统内核调试可以先在Linux内核中设置一个调试桩(debugstub),用作调试过程中和宿主机之间的通信服务器。

然后,在宿主机中通过调试器的串口与调试桩进行通信,并通过调试器控制目标机上Linux内核的运行。

  嵌入式上层应用软件的调试可以使用本地调试和远程调试两种方法。

假如采用的是本地调试,首先要将所需的调试器移植到目标系统中,然后就可以直接在目标机上运行调试器调试应用程序;假如采用的是远程调试,则需要移植调试服务器到目标系统中,并通过与宿主机上的调试器共同完成应用程序的调试。

在嵌入式Linux系统的开发中,远程调试时目标机上使用的调试服务器通常是gdbserver,而宿主机上使用的调试器则是gdb。

两者相互配合共同完成调试过程。

  第四步,系统测试。

整个软件系统编译过程,嵌入式系统的硬件一般采用专门的测试仪器进行测试,而软件则需要有相关的测试技术和测试工具的支持,并要采用特定的测试策略。

测试技术指的是软件测试的专门途径,以及能够更加有效地运用这些途径的特定方法。

在嵌入式软件测试中,经常要在基于目标机的测试和基于宿主机的测试之间做出折衷。

基于目标机的测试需要消耗较多的时间和经费,而基于宿主机的测试虽然代价较小,但是在仿真环境中进行的,因此难以完全反映软件运行时的实际情况。

这两种环境下的测试可以发现不同的软件缺陷,要害是要对目标机环境和宿主机环境下的测试内容进行合理取舍。

嵌入式软件测试中经常用到的测试工具主要有:

内存分析工具、性能分析工具、覆盖分析工具、缺陷跟踪工具等。

以下即为一个典型开发工具的使用流程:

①写入或植入引导码;

②向串口打印字符串的编码;

③将gdb目标码移植工作串口,可与另一台运行gdb程序的Linux主机系统对话;

④利用gdb让硬件和软件初始化码在Linux内核启动时工作;

⑤Linux内核启动,串口成为Linux控制口并可用于后续开发;

⑥假如在目标硬件上已运行了完整的Linux内核,即可调试用户的应用进程。

   

1.1.1嵌入式系统设计的特点

嵌入式系统设计的主要任务是定义系统的功能、决定系统的架构,并将功能映射到架构。

这里的架构既包括软件系统架构也包括硬件系统架构。

嵌入式系统的设计方法跟一般的硬件设计、软件开发的方法不同,是采用硬件和软件协同设计的方法,开发过程不仅涉及软件领域的知识,还涉及硬件领域的综合知识,甚至还涉及机械等方面的知识。

要求设计者必须熟悉并能自如地运用这些领域的各种技术,才能使设计的系统达到最优。

与通常的系统设计相比,嵌入式系统的设计具有以下几个特点:

(1)软/硬件协同并行开发。

软/硬件协同并工开发就是在整个设计的生命周期,软件和硬件的设计一直是保持并行的,在设计过程中两者交织在一起,互相支持,互相提供开发的平台,而不是传统方法中将软/硬件的设计分开独立进行,在设计流程的开始就将系统所要实现的功能划分到用硬件或软件实现,然后独立进行硬件和软件设计,最后才进行软硬件的集成。

系统是否满足用户需求只有等到软硬件集成之后进行测试才能知道,所以传统设计方法进行复杂系统的设计时,常常难以达到设计要求和实现优化设计。

(2)嵌入式系统面向特定应用的系统。

嵌入式CPU与通用型的CPU最大不同就是,嵌入式CPU大多工作在为特定用户群设计的系统中,通常具有低功耗、小体积、高集成度等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化。

因此,元件的移动能力大大增强,同时跟网络的耦合也越来越紧密。

(3)嵌入式操作系统的多样性(RTOS)。

嵌入式操作系统不像台式机操作系统那样,只有微软公司一家独大。

现在可用的嵌入式操作系统很多。

如Vxworks,QNX,uc/os,Linux,WinCE等。

可以根据具体的需求选择相应的操作系统。

(4)嵌入式系统设计交叉开发环境。

嵌入式系统的开发通常采用“宿主机/目标机”交叉开发方式(如图1-2所示)。

首先,利用宿主机上丰富的资源以及良好的开发环境来开发和仿真调试目标机上的软件。

生成编译好的目标文件,再通过JTAG口、UTAR接口或者以太网接口将交叉编译生成的目标代码传输并下载到目标板上,并用交叉调试器在实时内核/操作系统或监控程序的支持下进行实时分析和调试。

最后,目标机在目标环境下运行。

宿主机(Host)是一台通用计算机,一般由PC机承担。

它通过串行接口或网络连接与目标机进行通信。

宿主机上的软/硬件资源比较丰富,以及各种各样的开发调试工具,如GNU的嵌入式开发工具套件等。

这些辅助的开发工具和丰富的硬件资源能够保证系统的开发效率。

目标机(Target)常在嵌入式系统的开发过程期间。

目标机可以是嵌入式系统的实际运行环境,也可以是能替代实际环境的仿真系统。

通常目标机的体积较小,集成度高,外围设备丰富,具备有键盘,触摸屏等;输出设备有LCD,LED等输入/输出设备。

由于目标机的硬件资源有限,嵌入式系统目标机上运行的软件通常需要根据具体应用进行裁减和配置。

图1-2宿主机/目标机开发方式

(5)嵌入式系统需要提供强大的硬件开发工具和软件包的支持,需要设计者从效率和成本综合考虑。

此外,嵌入式系统对稳定性、可靠性、功耗、抗干扰性、重量体积等方面的性能要求都比通用系统的要求更为严格。

1.1.2嵌入式系统的设计流程

电子信息产品的设计和开发将集中所有的硬件、软件、人力资源等,进行适当组合,以实现目标系统对性能和功能等各方面的需求。

在电子信息产品的开发过程当中,实时性、可靠性、功耗等都与功能一样重要,这就使嵌入式系统开发关注的方面更广泛,要求的精度也更高。

嵌入式系统的设计开发流程一般分为以下几个阶段:

产品定义(即系统需求分析阶段、规格说明阶段)、硬件和软件划分、迭代与实现、详细的硬件与软件设计、硬件与软件集成、系统测试和系统维护与升级。

各个阶段通常需要不断的反复和修改,直到完成最终设计目标。

电子信息产品系统设计的流程及过程生成的文档体系关系如图1-3a、图1-3b所示。

对于嵌入式产品的开发与研制可以完全按照电子产品的开发流程进行,通过图1-3b的文档管理体系实现产品开发的嵌入式系统的设计过程在各阶段内部及各阶段之间会发生大量的迭代与优化,前一步的设计缺陷会直接导致后面阶段设计任务无法完成,从而必须重新进行产品定义设计,这就会造成生产成本的提高,增加产品的开发时间。

主要原因在于前期的需求分析工作一定要精细,确保准确无误,尽量减少开发过程中的需求变更。

下面对各阶段给出具体的描述。

(1)项目论证阶段

项目论证阶段需要完成项目的可行性分析形成可行性研究报告,

(2)系统方案阶段

通过项目论证评审后进入系统方案阶段,本阶段对产品需求加以分析、细化,并抽象出需要完成的功能列表,明确定义所要完成的任务。

由于嵌入式设计分为硬件与软件设计两个部分,设计人员必须确定系统的哪些功能由硬件完成,那些功能由软件完成,这种选择成为“划分决策”,即软件与硬件的划分。

最终形成产品研发的系统方案、研制规范、需求分析说明和系统方案论证报告。

产品功能包括系统的基本功能,如输入输出、操作方式等;产品的性能相对于一般软件工程的非功能性需求,它包括系统性能、成本、功耗、体积、重量等因素。

为了使产品定义更加清晰明确,可以使用一个产品定义表格(如表1-2所示),它将系统的功能和性能需求综合起来。

表1-2需求分析表格

项目

描述

名称

对于所完成项目的总体描述

目的

满足系统要求的描述

输入输出

系统输入输出的数据类型、数据特征和输入输出的设备类型

功能

对于系统要完成工作的详细描述,系统数据的流向等

性能

系统所要求处理的速度,实时性和实用性

生产成本

主要是硬件构件和人员的花费

功耗

嵌入式系统有些设备依靠电池供电,所以必须考虑功耗问题

物理尺寸和重量

最终的产品因为使用的领域不同而大不相同,对系统的物理尺寸和重量有一定的了解有助于对系统体系结构的设计

本阶段需求分析工作对于产品的开发成败至关重要,因此必须严格控制产品需求变更,任何的需求变更都可能导致研发周期和研发成本巨大增大。

(3)系统设计阶段

在通过系统方案评审后,进入系统设计阶段,进入该阶段,软件开发部分需要进行软件需求分析。

形成软件需求分析说明书。

经过软件概要设计后,形成软件总体设计方案、软件开发接口规范等文档。

硬件部分需要形成硬件总体设计方案(包括产品可信性设计)、系统内外接口定义及说明和单板设计规范(复杂产品)等。

(4)产品详细设计阶段

在产品设计阶段完成软硬件的详细设计,编制代码,形成软件个模块设计说明;硬件部分各单板的原理图、PCB和料单。

同时还要完成产品的结构设计。

(5)制造联试阶段

完成产品详细设计后,进入产品制造联试阶段,本阶段完成产品的系统调试和可靠性测试,并形成相应的系统调试报告和可靠性测试报告。

完成以上阶段产品样机研制即完成。

将进入产品的小批量生产和中试阶段,进入产品的生产流程,这不再是本书的研究内容。

图1-3a嵌入式系统的设计流程

1-3b电子信息产品研发流程

1-3c

电子信息产品研发过程文档体系

1.1.3嵌入式系统的软硬件划分

随着芯片设计和制造技术水平的发展,微处理器的运算速度得到很大提高,因此很多传统上必须由硬件实现的功能现在可以使用软件实现。

与此同时,近年来,FPGA技术的提高和大容量、低成本的新型FPGA的出现,为高性能的数字控制系统提供了新的实现方法。

有软硬件划分需要的功能都是那些既可以用软件实现又可以用硬件实现的功能,具体到实际的物理系统中,就是那些既可以用微处理器系统实现也可以用FPGA或模拟元件实现的功能。

在软硬件划分的问题上,一般遵循以下几个原则:

(1)性能原则

不管使用软件还是硬件实现特定的功能,首先要满足性能要求。

(2)性价比原则

对于嵌入式系统产品,很大比例的产品为成本敏感型的消费类电子,对于该系统来说,最重要的是分析对于同一个功能,实现低成本产品开发以满足市场竞争的需要。

(3)资源利用率原则

目前新型的微处理器往往集成了大量的外围元件,如串行接口、计数器、PWM和AD等,也就常说的片上系统SOC(systemonchip),在性能相同的情况下,价格比分立系统低廉。

因此,很多系统面临的情况是使用了SOC芯片以后,不但可以实现那些符合高性价比原则的功能,还会有一些剩余的资源,由于微处理器所运行的控制软件的性能与微处理器的使用率有关,当使用率越低时,软件的相应速度会越快,或者可以以较低速度来运行微处理器。

而且FPGA的运行速度与逻辑资源也有关系,逻辑资源利用率越低,可以运行的速度越快。

而数字系统的运行速度与可靠性是有直接关系的。

当运行速度接近极限速度时,可靠性就会降低,因此适当保留一定设计冗余对提高系统的可靠性是有很大帮助的,同样也有利于将来的性能升级和维护。

这3个原则之间不是相互独立的,而是互相影响的,当具体实施时要综合考虑这几个原则,从而做出最优的选择。

1.1.4嵌入式系统的产品硬件详细设计

硬件是嵌入式系统运行的载体也是嵌入式系统的基础,嵌入式系统硬件为嵌入式系统软件的运行环境,限定了嵌入式系统软件的资源。

体现嵌入式系统所能完成的功能。

嵌入式系统的硬件设计是在嵌入式系统软硬件划分的基础上,对划分为硬件部分的功能单元所进行的设计。

通常,嵌入式系统的产品硬件详细设计包含以下几个部分。

1.嵌入式系统硬件选择

嵌入式系统硬件的选择包括硬件平台和嵌入式处理器的选择、外围设备的选择和接口电路的选择。

l)选择硬件平台

(1)重用已有的系统已实现的接近或相似的功能模块。

(2)考虑是否能用单处理器实现。

(3)如果需要用多个处理器,选用能够满足需求的最少数量实现。

(4)在多处理器设计中,控制和管理用一个处理器实现,简化操作。

系统中其他处理器分别处理系统中的工作负载(例如数字信号处理)

2)选择处理器

嵌入式系统硬件的核心部件是嵌入式微处理器。

在选择处理器时主要考虑以下几方面的因素:

(1)处理器性能

处理器的性能取决于多个方面的因素,如处理器的时钟频率,内部寄存器的大小,指令字的长度等。

对于许多需要使用处理器的嵌入式系统设计来说,目标不是在于挑选速度最快的处理器,而是在于选取能够满足系统要求的处理器。

(2)处理器技术指标

目前许多嵌入式处理器都集成了外围设备的功能,减少了芯片的数量,增强了系统的功能,降低了整个系统的开发费用。

必须首先考虑的是,系统所要求的硬件能否较容易连接到处理器。

其次是考虑该处理器的一些支持芯片,如DMA控制器,内存管理器,中断控制器,串行设备和时钟等的配置。

(3)处理器功耗

嵌入式微处理器最大并且增长最快的市场是手持设备、电子记事本、PDA、手机、GPS导航器、智能家电等消费类电子产品。

这些产品中应用的微处理器的典型特点是要求高性能、低功耗。

这也是嵌入式系统重要的特点,要求具有较强的续航能力。

如果用于工业控制,则对这方面的考虑较弱。

(4)软件支持工具

选择合适的软件开发工具对系统的开发效率会起到很重要的作用。

(5)处理器是否内置调试工具

处理器如果内置调试工具可以大大缩小调试周期,降低调试的难度。

2.硬件功能模块划分

完成嵌入式系统硬件选择之后,进行系统硬件功能模块的划分,主要是对系统硬件资源进行合理的布局。

硬件布局是针对于不同的硬件模块、硬件模块与嵌入式处理器之间的连接关系和模块之间的连接关系对硬件位置所做的调整。

具体布局原则及模块化分原则在后面详细描述。

3.硬件的可信性设计

系统的相当一部分可靠性体现在硬件设计的可信性上,如果硬件不能可靠稳定的运行,会影响整个嵌入式系统的稳定运行。

因此人为地加入硬件保护电路,硬件检测电路,或硬件复位电路来保证硬件可靠的运行。

1.2嵌入式系统的软件设计

嵌入式系统的软件设计不同于Windows环境下的软件编程流程,在嵌入式软件开发交叉开发过程中有主机和目标机。

主机是执行编译、链接、定址过程的计算机;目标机是指运行嵌入式软件的硬件平台。

首先须把应用程序转换成可以在目标机上运行的二进制代码。

这一过程包含3个步骤:

编译、链接、定址。

编译过程内交叉编译器实现。

所谓交叉编译器就是运行在一个计算机平台上并为另一个平台产生代码的编译器。

编译过程产生的所有目标文件被链接成一个目标文件,称为链接过程。

定址过程会把物理存储器地址指定给目标文件的每个相对偏移处。

该过程生成的文件就是可以在嵌入式平台上执行的二进制文件。

在软硬件划分阶段之后,就进入到了软硬件分别实现阶段。

嵌入式软件设计是实现嵌入式系统功能的关键,根据嵌入式软件的特点和实际当中嵌入式系统的具体要求,在进行嵌入式系统软件设计时。

通常要考虑以下几个方面因素或达到其提出的要求。

1.嵌入式软件平台的选择

1)平台选择

●该平台实时性要求。

●该平台的开发工具支持。

●平台的设备驱动程序支持(是否能够提供用户开发的设备驱动程序)。

●平台对通信协议支持,如平台是否支持TCP/IP、HTTP、UDP等。

2)操作系统选择

硬件方案确定完成之后,操作系统的选择就相对容易。

硬件的不同会影响操作系统的选择。

通常操作系统的选择需要考虑到以下几个方面:

(1)操作系统本身所提供的开发工具。

有些实时操作系统(RTOS)只支持该系统供应商的开发工具,必须从操作系统供应商获取编译器和调试器;而有些操作系统使用广泛,且有第三方工具可用,可选择余地大。

(2)操作系统向硬件接口移植工作量考虑。

操作系统移植是一个重要的问题,是关系到整个产品工作量的关键因素。

因此,选择可移植性好的操作系统加快整个系统的开发进度。

(3)操作系统对内存等硬件资源的要求。

(4)开发人员是否熟悉此操作系统及其提供的系统API。

(5)操作系统是否提供硬件的驱动程序,如同卡驱动程序等。

(6)操作系统的是否具有可剪裁性。

3)编程语言的选择

编程语言的选择主要考虑以下因素:

(1)通用性。

不同种类的微处理器都有专用的汇编语言。

采用汇编进行系统编程较困难,软件重用性差。

而高级语言如C一般和具体机器的硬件结构联系较少,多数微处理器都有良好的支持,通用性较好。

(2)可移植性程度。

汇编语言和具体的微处理器密切相关,为某个微处理器设计的程序不能直接移植到另一个不同种类的微处理器上使用,移植性差;而高级语言对所有微处理器都是通用的,程序可以在不问的微处理器上运行,可移植性较好。

(3)执行效率。

一般来说,越是高级的语言,其编译器和开销就越大,应用程序也就越大、执行效率越低;但低级语言如汇编语言应用程序的开发,编程复杂、开发周期长。

因此必须权衡一个开发时间和运行性能。

(4)可维护性。

低级语言如汇编语言,可维护性不高。

采用模块化设计高级语言程序各个模块之间的接口是固定的。

当出现问题可以很快地定位问题。

另外,模块化设计也便于系统功能的扩充和升级。

4)集成开发环境考虑的因素

集成开发环境(IDE)应考虑以下因素:

(1)系统调试器的功能。

如是否支持远程调试。

(2)支持库函数。

能否提供大量使用的库函数和模板代码,例如大家比较熟悉的C+十编译器就带有标准的模板库。

它提供了一套用于定义各种有用的集装、存储、搜寻、排序对象。

与选择硬件和操作系统的原则一样:

除非必要,尽量采用标准的glibc。

(3)编译器开发商是否具备持续升级编译器能力。

(4)连接程序对多种文件格式和符号格式的支持能力。

5)硬件调试工具的选择

好的软件调试工具可以有效地发现大多数的错误,常用的硬件调试工具有以下几种:

(1)实时在线仿真器(ICE)。

用户从仿真插头向ICE看,ICE应是一个可被控制的MCU。

ICE是通过一根短电缆连接到目标系统上的。

该电缆的一端有一个插件,插到处理器的插座上,而处理器则插到这个插件上。

ICE支持常规的调试操作,如单步运行、断点、反汇编、内存检查、源程序级的调试等。

(2)驻留监控软件。

驻留监控程序运行在目标板上,PC机端调试软件可以通过并口,串行接口、网口与之交互,以完成程序执行、存储器及寄存器读写、断点设置等任务。

(3)ROM仿真器。

ROM仿真器用于插入目标上的ROM插座中的元件,用于仿真ROM芯片。

可以将程序下载到ROM仿真器中,然后调试目标上的程序,就好像程序烧结在PROM中一样,从而避免了每次修改程序后直接烧结的麻烦。

(4)JTAG仿真器。

通过ARM芯片的JTAG边界扫描口与ARM核进行通信,不占用

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

当前位置:首页 > 成人教育 > 远程网络教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2