版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章嵌入式系统及应用开发概述1.1嵌入式系统的定义及特点1.2嵌入式系统的开展及应用1.3嵌入式系统的总体组成1.4常用的嵌入式处理器1.5常用的嵌入式操作系统1.6嵌入式系统的设计方法1.7嵌入式系统的应用开发1.8嵌入式系统的学习探讨习题1第1章嵌入式系统及应用开发概述
本章概括地阐述了嵌入式系统及应用开发的根本概念、根底知识、根本方法等,包括嵌入式系统的定义、开展应用、总体组成、常用的嵌入式处理器、常用的嵌入式操作系统、嵌入式系统的设计方法、嵌入式系统的设计开发和嵌入式系统的学习探讨等内容。2
1.1嵌入式系统的定义及特点1.1.1嵌入式系统的定义IEEE的定义:嵌入式系统是用来控制、监控或者辅助操作机器、装置、工厂等大规模系统的设备。我国通常定义:嵌入式系统〔EmbeddedSystem〕就是嵌入到目标体系中的专用计算机系统。嵌入性、专用性与计算机系统是嵌入式系统的3个根本要素。具体地讲,嵌入式系统是指以应用为中心,以计算机技术为根底,并且软硬件可裁减,适用于应用系统对功能、可靠性、本钱、体积、功耗有严格要求的专用计算机系统。3
1.1.2嵌入式系统的特点1.嵌入式系统是专用的计算机系统2.嵌入式系统须满足系统应用环境的要求3.嵌入式系统需满足对象系统的控制要求4.嵌入式系统是一个知识集成应用系统5.嵌入式系统具有较长的应用生命周期6.嵌入式系统软件固化在非易失性存储器中7.多数嵌入式系统具有实时性要求8.嵌入式系统设计需专用的开发环境和工具41.2嵌入式系统的开展应用1.嵌入式系统开展的4个阶段1〕以单片机为核心的低级嵌入式系统主要特点是系统结构和功能单一,处理效率不高,存储容量较小,用户接口简单或没有用户接口,但它使用简单,本钱低廉。2〕以嵌入式微处理器为根底的初级嵌入式系统主要特点是处理器种类多,通用性较弱;系统效率高,本钱低;操作系统具有兼容性、扩展性,但用户界面简单。3〕以嵌入式操作系统为标志的中级嵌入式系统主要特点是嵌入式系统能运行于各种不同嵌入式处理器上,兼容性好;操作系统内核小、效率高,并且可任意裁剪;具有文件和目录管理、多任务功能,支持网络、具有图形窗口以及良好的用户界面;具有大量的应用程序接口,嵌入式应用软件丰富。1.2.1嵌入式系统的开展54〕以Internet为标志的高级嵌入式系统目前嵌入式系统大多孤立于Intemet,随着网络应用的不断深入,随着信息家电的开展,嵌入式系统的应用必将与Internet有机结合在一起,成为嵌入式系统开展的未来。基于32位/64位微处理器的嵌入式系统的优点:①芯片内外资源丰富,硬件系统简单;②可运行各种操作系统,降低了复杂系统应用程序开发的难度;可运行多种操作系统,应用程序开发难度降低,系统人机界面友好;③系统数据处理能力强,控制精度高;④有成熟的开发工具,丰富的开发资源和资料;⑤32位/64位的嵌入式系统的开发人群不断增多,有助于降低企业工程开发本钱、保持开发的连续性。62.嵌入式系统的开展趋势1〕嵌入式系统结构将更加复杂,硬件向集成化开展,软件将逐渐PC化2〕嵌入式系统的小型化、智能化、网络化、可视化、微功耗和低本钱3〕不断改善人机交互的手段,提供精巧的多媒体人机界面4〕云计算、可重构、虚拟化等技术被进一步应用到嵌入式系统5〕嵌入式软件开发平台化、标准化、系统可升级,代码可复用将更受重视其中:云计算〔Cloud〕是将计算分布在大量的分布式计算机上,这样我们只需要一个终端,就可以通过网络效劳来实现所需要的计算任务,甚至是超级计算任务。可重构性是指在一个系统中,其硬件模块或〔和〕软件模块均能根据变化的数据流或控制流对系统结构或算法进行重新配置〔或重新设置〕。虚拟化是指计算机软件在一个虚拟的平台上而不是一个真实的硬件上运行。7嵌入式系统具有非常广阔的应用领域,是现代计算机技术改造传统产业、提升多领域技术水平的有力主具,可以说嵌入式系统无处不在。其主要应用领域包括智能产品〔智能仪表、智能和信息家电〕、工业自动化〔测控装置、数控机床、数据采集与处理〕、办公自动化〔通用计算机中的智能接口〕、电网平安、电网设备检测、石油化工、商业应用〔电子秤,POS机,条码识别机〕、平安防范〔防火、防盗、防泄漏等报警系统〕、网络通信〔路由器、网关、、PDA、无线传感器网络〕、汽车电子与航空航天〔汽车防盗报警器、汽车和飞行器黑匣子〕以及军事等各个领域,如图1.1所示。1.2.2嵌入式系统的应用8图1.1嵌入式系统的应用领域
91.3嵌入式系统的总体组成图1.2基于控制领域的典型嵌入式系统101.3.1嵌入式系统的硬件图1.3典型的嵌入式系统硬件组成11硬件层由嵌入式微处理器、存储系统、通信模块、人机接口、其他I/O接口(A/D、D/A、通用I/O等)以及电源等组成。嵌入式系统的硬件层以嵌入式微处理器为核心,在嵌入式微处理器根底上增加电源电路、时钟电路和存储器电路(RAM和ROM等),这就构成了一个嵌入式核心控制模块,操作系统和应用程序都可以固化在ROM中。121.中间层程序中间层程序主要为上层软件提供了设备的操作接口,它包括硬件抽象层〔HardwareAbstractionLayer,HAL〕、板级支持包〔BoardSupportPackage,BSP〕以及设备驱动程序。1〕硬件抽象层硬件抽象层〔HAL〕位于操作系统内核与硬件电路之间的接口层,其目的就是将硬件抽象化,即可以通过程序来控制处理器、I/O接口以及存储器等所有硬件的操作,这样使系统的设备驱动程序与硬件设备无关,提高了系统中的移植性。它包括相关硬件的初始化、数据的输入/输出操作、硬件设备的配置等操作。
1.3.2嵌入式系统的软件132〕板级支持包板级支持包〔BSP〕介于嵌入式操作系统中驱动层程序与硬件电路之间,主要实现对嵌入式操作系统的支持,为上层的驱动程序提供访问硬件设备存放器的函数包。BSP实现的功能主要有:①系统启动时对硬件初始化;②为驱动程序提供访问硬件的手段,BootLoader便属于此类。143〕设备驱动程序系统安装的硬件设备必须经过驱动才能被使用,设备的驱动程序为上层软件提供调用的操作接口。驱动程序除了实现根本的功能函数外〔初始化、中断响应、发送、接收等〕,还具备完善的错误处理函数。2.嵌入式操作系统嵌入式操作系统在复杂的嵌入式系统中发挥着非常重要的作用,有了嵌入式操作系统,进程管理、进程间的通信、内存管理、文件管理、驱动程序、网络协议等方可实现。3.应用软件层应用软件是在嵌入式操作系统支持下通过调用API函数,结合实际应用编制的用户软件。如抄表系统的软件、掌上信息查询软件等。15嵌入式微处理器〔EmbeddedMicrocomputerUnit,EMPU〕、嵌入式微控制器〔EmbeddedMicrocontrollerUnit,EMCU〕嵌入式数字信号处理器〔EmbeddedDigitalSignalProcessor,EDSP〕嵌入式片上系统〔SystemOnChip,SOC〕嵌入式可编程片上系统〔SystemOnaProgrammableChip,SOPC)。1.4常用的嵌入式处理器1.4.1嵌入式处理器的种类161.嵌入式微处理器嵌入式微处理器是由PC中的CPU演变而来的,与通用PC的微处理器不同的是,它只保存了与嵌入式应用紧密相关的功能硬件。典型的EMPU有PowerPC、MIPS、MC68000、i386EX、AMDK62E以及ARM等,其中ARM是应用最广、最具代表性的嵌入式微处理器。2.嵌入式微控制器嵌入式微控制器的典型代表是单片机,其内部集成了ROM/EPROM/Flash、RAM、总线、总线逻辑、定时器、看门狗、I/O接口等各种必要的功能部件。典型的EMCU有51系列、MC68系列、PIC系列、MSP430系列等。3.嵌入式数字信号处理器嵌入式数字信号处理器〔DSP〕是专门用于数字信号处理的微处理器,在系统结构和指令算法方面经过特殊设计,因而具有很高的编译效率和指令执行速度。典型的EDSP有TMS32023系列、TMS32023系列等。174.嵌入式片上系统SOC是一个集成的复杂系统,它一般将一个完整的产品的各功能集成在一个芯片上或芯片组上,其中可能包括处理器CPU、存储器、硬件加速单元、与外围设备的接口I/F,模数混合放大电路,甚至延伸到传感器、微机电和微光电单元。SOC最大的特点是成功实现了软硬件无缝结合,直接在处理器的片内嵌入了操作系统。由于片上系统绝大局部系统构件都是在系统内部,整个系统就特别简洁,不仅减小了系统的体积和功耗,而且提高了系统的可靠性和设计生产效率。
185.嵌入式可编程片上系统随着EDA技术的快速开展和VLSI技术的不断进步,出现了SOPC。可编程片上系统SOPC是一种基于FPGA的可重构SOC,它集成了硬IP核或软IP核CPU、DSP、存储器、外围I/O及可编程逻辑,是更加灵活、高效的SOC解决方案。SOC与SOPC的区别:SOC是专用集成系统,设计周期长,设计本钱高,SOPC是基于FPGA的可重构SOC,是一种通用系统,设计周期短,设计本钱低。IP核〔IntellectualPropertyCore〕称为知识产权核,它是经过预先设计、预先验证,且符合产业界普遍认同的设计标准和设计标准,具有相对独立的电路模块或子系统,可以复用于SOC、SOPC或复杂ASIC设计中。它是一种通过知识产权贸易在各设计公司间流通的完成特定功能的电路模块或子系统。19英国ARM〔AdvancedRISCMachines〕公司成立于1990年。在1985年4月26日,第一个ARM原型在英国剑桥的Acorn计算机诞生〔在美国VLSI公司制造〕。目前,ARM架构处理器已在高性能、低功耗、低本钱应用领域中占据领先地位。ARM公司是嵌入式RISC处理器的知识产权IP供给商,它为ARM架构处理器提供了ARM处理器内核〔如ARM7TDMI、ARM9TDMI、ARM10TDMI等〕和ARM处理器宏核〔ARM720T、ARM920T/922T/940T、ARM1020E/1022E等〕,由各半导体公司〔ARM公司合作伙伴〕在上述处理器内核或处理器宏核根底上进行再设计,嵌入各种外围和处理部件,形成各种嵌入式微处理器〔EMPU〕或嵌入式微控制器〔EMCU〕。1.4.2典型ARM微处理器系列2021图5-1ARM的业务模型22ARM处理器目前包括ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、ARM11系列、SecurCore系列、OptimoDE系列、StrongARM系列、XScale系列以及Cortex-A8系列等。ARM7、ARM9、ARM9E及ARM10E为4个通用嵌入式微处理器系列,每个系列提供一套相对独特的性能来满足不同应用领域的要求,有多个厂家生产;SecurCore系列那么是专门为平安性要求较高的场合而设计的;StrongARM是Intel公司生产的用于便携式通信产品和消费电子产品的理想嵌入式微处理器,应用于多家掌上电脑系列产品;Xscale是Intel公司推出的基于ARMv5TE体系结构的全性能、高性价比、低功耗的嵌入式微处理器,应用于数字移动、个人数字助理和网络产品等场合。Cortex-A8处理器是第一款基于下一代ARMv7架构的应用处理器,使用了能够带来更高性能、功耗效率和代码密度的Thumb®-2技术。23图1.4基于ARM核的典型嵌入式处理器系列241.4.3典型ARM微处理器简介1.S3C44B0X微处理器简介S3C44B0X是三星公司专为手持设备和一般应用提供的高性价比、高性能的16/32位RISC型嵌入式微处理器。它使用ARM7TDMI核,工作在75MHz。S3C44B0X采用0.25um制造工艺的CMOS标准宏单元和存储编译器,它耗能低、精简及出色的全静态设计非常适用于对本钱和功耗要求较高的场合。为了降低系统总本钱和减少外围器件,这款芯片中还集成了假设干部件,主要包括8KBCache〔数据/指令〕、内部SRAM、外部储存器控制器、LCD〔LiquidCrystalDisplay〕控制器、4个DMA通道、带自动握手的2通道UART、一个多主I2C〔InterIntegrateCircuit〕总线控制器、1个I2S〔InterIntegrateCircuitSoundBus〕总线控制器、5通道PWM定时器、一个看门狗定时器、71个通用I/O口、8个外部中断源、具有日历功能的实时时钟RTC、8通道10位A/D转化器、1个SIO接口以及PLL〔锁相环〕时钟发生器。S3C44B0X采用新型的总线结构,即三星ARMCPU嵌入式微处理器总线结构SAMBAII。252.S3C2410X/S3C2440X微处理器简介S3C2410X/S3C2440X是三星公司出品的基ARM920T核的嵌入式微处理器,它与基于ARM7的S3C44B0X的最大区别在于,S3C2410X/S3C2440X内部带有全性能的内存管理单元〔MMU〕,适用于设计移动手持设备类产品,具有高性能、低功耗、接口丰富及体积小等优良特性。S3C2410X/S3C2440X提供了丰富的内部设备:如双重别离的16KB的指令缓存和16KB的数据缓存、MMU虚拟存储器管理部件、LCD控制器、支持NAND的Flash系统引导、外部存储控制器、3通道UART、4通道DMA、4通道PWM定时器、I/O端口、定时器、8通道10位A/D转换器、触摸屏接口、I2C总线接口、USB主机、USB设备、SD主卡及MMC卡接口、2通道SPI以及内部PLL时钟倍频器。263.LPC2000系列嵌入式微控制器简介LPC2000系列嵌入式微控制器是基于ARM7TDMI-SCPU内核的,它支持ARM和Thumb指令集,芯片内集成丰富外设,而且具有非常低的功率消耗。该系列微控制特别适用于工业控制、医疗系统、访问控制和POS机等场合。有关其系列产品的主要信息见表1.1。4.AT91系列嵌入式微控制器简介美国AtmelAT91系列微控制器是基于ARM7TDMI〔有的基ARM920T〕的嵌入式微处理器的16/32位微控制器,是目前国内市场应用最广泛的ARM芯片之一。AT91系列微控制器定位在低功耗和实时控制应用领域,它们已成功应用在工业自动化控制、MP3/WMA播放器、数据采集产品、BP机、POS机、医疗设备、GPS和网络系统产品中。AT91系列微控制器为工业级芯片,价格比较廉价。基于ARM技术的Atmel微控制器为AT91系列,其中有几种类型,AT91RXXXX和AT91MXXXX〔内部带有RAM,但没有程序存储器类型〕、AT91RMXXXX〔内部带有RAM,有ROM类型〕,AT91FRXXXX〔内部带有RAM,有Flash程序存储器类型〕。275.XScale微体系结构微处理器简介IntelXScale微体系结构提供了一种全新的、高性价比、低功耗且基于ARMv5TE体系结构的解决方案,支持16位Thumb指令和DSP扩充。基于XScale技术开发的微处理器,可用于、便携式终端〔PDA〕、网络存储设备及骨干网〔BackBone〕路由器等。IntelPXA250微处理器芯片就是一款集成了32位IntelXScale微处理器核的应用处理器。6.STR710F系列嵌入式处理器简介STR710F系列嵌入式处理器产品是意法半导体〔STMicroelectronics〕生产的工业标准的ARM7TDMI32位RISCCPU为内核,特别适用于需要尺寸紧凑、CPU功能强大的嵌入式系统和可升级的解决方案,如用户界面要求高的系统、工厂自动化系统和销售点〔POS〕应用等。28嵌入式操作系统〔OperatingSystem,OS〕是支持嵌入式系统工作的操作系统,它负责嵌入式系统的全部软、硬件资源分配、调度、控制和协调等活动,它是嵌入式应用软件的开发平台,用户的其它应用程序都建立在嵌入式操作系统之上。嵌入式操作系统通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统是嵌入式系统的灵魂,它使得嵌入式系统的开发效率大大提高,系统开发的总工作量大大减少,并且极大地提高了嵌入式软件的可移植性。为了满足嵌入式系统的要求,嵌入式操作系统必须包含操作系统的一些最根本的功能,用户可以通过API函数来使用操作系统。嵌入式操作系统具有编码体积小、面向应用、实时性强、可移植性好、可靠性高以及专用性强等特点。1.5常用的嵌入式操作系统1.5.1嵌入式操作系统及其特点291.LinuxLinux是一种自由和开放源码的类Unix操作系统,它得名于计算机业余爱好者LinusTorvalds。目前存在着许多不同的Linux,,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,从、平板电脑、路由器和视频游戏控制台,到台式计算机、大型机和超级计算机。Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。一些流行的主流Linux发行版,包括Debian〔及其派生物Ubuntu〕,Fedora和openSUSE等。2.μC/OS-IIμC/OS-II是一个可裁剪、源代码开放、结构小巧、抢先式的实时嵌入式操作系统,主要用于中小型嵌入式系统,具有执行效率高、占用空间小、可移植性强、实时性能好和可扩展性强等优点。该操作系统支持多达64个任务,大局部嵌入式微处理器均支持μC/OS-II。1.5.2几种常用嵌入式操作系统303.WindowsCEMicrosoftWindowsCE是Microsoft公司产品,是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。该操作系统的根本内核至少需要200KB的ROM。从游戏机到现在大局部的掌上电脑都采用了WindowsCE作为操作系统,其缺点是系统软件价格过高,影响整个产品的本钱控制。4.VxWorksVxWorks操作系统是美国WindRiver公司于1983年设计开发的一种实时操作系统。VxWorks拥有良好的持续开展能力、高性能的内核以及友好的用户开发环境,在实时操作系统领域内占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高、精、尖技术及实时性要求极高的领域中,如卫星通信、军事演习、导弹制导、飞机导航等。但大多数的VxWorksAPI是专用的,VxWorks的价格昂贵。315.pSOSpSOS是ISI公司研发的产品。pSOS是一个模块化、高性能、完全可扩展的实时操作系统,专为嵌入式微处理器设计,提供了一个完全多任务环境,在定制的或商业的硬件上具有高性能和高可靠性。6.PalmOS3COM公司的PalmOS在掌上电脑和PDA市场上占有很大的市场份额。它有开放的操作系统应用程序接口,开发商可以根据需要自行开发所需的应用程序。在开发环境方面,可以在Windows和Macintosh下安装PalmPilotDesktop。7.QNXQNX是由加拿大QSSL公司开发的分布式实时操作系统。该操作系统既能运行于以IntelX86、Pentium等CPU为核心硬件环境下,也能运行于以PowerPC、MIPS等CPU为核心的硬件环境。它广泛应用于自动化、控制、机器人科学、电信、数据通信、航空航天、计算机网络系统、医疗仪器设备、交通运输、平安防卫系统、POS机、零售机等任务关键型应用领域。328.苹果iOSiOS是由苹果公司为iPhone开发的操作系统。它是以Darwin为根底的,主要是给iPhone、iPodtouch以及iPad使用。原本这个系统名为iPhoneOS,直到2023年6月7日WWDC大会上宣布改名为iOS。iOS的系统架构分为四个层次:核心操作系统层、核心效劳层、媒体层、可轻触层。系统操作占用大概240MB的存储器空间。9.AndroidAndroid是一种以Linux为根底的开放源码操作系统,主要使用于便携设备。Android操作系统最初由AndyRubin开发,最初主要支持。2005年由Google收购注资,并拉拢多家制造商组成开放联盟开发改进,逐渐扩展到平板电脑及其他领域上。2023年末数据显示,仅正式推出两年的操作系统的Android已经超越称霸十年的诺基亚Symbian系统,跃居全球最受欢送的智能平台。33
1.6嵌入式系统的设计方法1.嵌入式微处理器及操作系统的选择嵌入式微处理器可谓多种多样,品种繁多,而且都在一定领域应用广泛。在嵌入式系统上运行的操作系统也有不少,如VxWorks、Linux,Nuc1ears、WindowsCE等,即使在一个公司之内,也会同时使用好几种处理器,甚至几种嵌入式操作系统。2.开发工具的选择目前用于嵌入式系统设计的开发工具种类繁多,不仅各种操作系统有各自的开发工具,在同一系统下开发的不同阶段也使用不同的开发工具。3.对目标系统的观察与控制要使系统能正常工作,软件开发者必须要对目标系统具有完全的观察和控制能力,如硬件的各种存放器、内存空间,操作系统的信号量、消息队列、任务、堆栈等。1.6.1嵌入式系统的总体考虑341.6.2嵌入式系统的设计步骤图1.5嵌入式系统设计的一般流程351.6.3嵌入式系统的设计方法图1.6单片机系统和嵌入式系统的开发流程比较36图1.7传统嵌入式系统设计方法和嵌人式系统的软硬件协同设计方法的比较软硬件协同设计方法与传统设计相比有2个显著的特点:①描述软、硬件使用统一的表示形式;②硬、软件划分可以选择多种方案,直到满足要求。37嵌入式系统的开发环境一般由三个局部组成:宿主机、调试仿真器和目标机。其中宿主机用来完成源代码编辑、编译、显示一局部运行结果等,操作系统可以是UNIX、Linux和Windows等,硬件可以是PC和工作站等。目标机就是用户嵌入式程序的运行环境,CPU可能是任何CPU,常用的有ARM、MIPS、PowerPC、DrangonBall等。操作系统常用的有Linux、μC/OS-II、WindowsCE、Vxworks、等,或者根本没有操作系统。使用集成开发软件开发基于ARM的应用软件,可以完成系统软件的编辑、编译、汇编和链接等工作;通过调试仿真器可以在PC上实现对应用软件的调试;再使用烧写软件,将开发成功的应用系统从宿主机向目标机下载移植,从而完成整个开发过程。1.7嵌入式系统的应用开发1.7.1嵌入式系统的开发环境38图1.8嵌入式系统的开发与调试环境示意图391.指令集模拟器局部嵌入式系统集成开发环境提供了指令集模拟器,可方便用户在PC上完成一局部简单的调试工作,但是由于指令集模拟器与真实的硬件环境相差很大,因此即使用户是用指令集模拟器调试通过的程序也有可能无法在真实的硬件环境下运行,用户最终必须在硬件平台上完成整个应用的开发。2.驻留监控软件驻留监控软件〔ResidentMonitors〕是一段运行在目标板上的程序,集成开发环境中的调试软件通过以太网口、并行端口、串行端口等通信端口与驻留监控软件进行交互,由调试软件发布命令,通知驻留监控软件控制程序执行、读/写储存器、读/写存放器和设置断点等。驻留监控软件是一种比较低廉有效的调节方式,不需要任何其它的硬件调试和仿真设备。驻留监控软件的不便之处在于它对硬件设备的要求比较高。1.7.2嵌入式系统的调试工具403.JTAG仿真器JTAG仿真器也称为JTAG调试器,是通过ARM芯片的JTAG边界扫描口进行调试的设备。JTAG仿真器比较廉价,连接比较方便,通过现有的JTAG边界扫描口与ARMCPU核通信,它无需目标储存器,不占用目标端口的任何端口。另外,由于JTAG调试的目标程序是在目标板上执行的仿真更接近于目标硬件,因此,许多接口问题,如高频操作限制、AC和DC参数不匹配、电线长度的限制等被最小化了。使用集成开发环境配合JTAG仿真器进行开发是目前采用最多的一种调节方式。4.在线仿真器在线仿真器使用仿真头完全取代目标板上的CPU,可以完全仿真ARM芯片的行为,提供更加深入的调试功能。但这类仿真器为了能够全速仿真时钟速度高于100MHz的处理器,通常必须采用极其复杂的设计和工艺,因而价格比较昂贵。在线仿真器常用在ARM的硬件开发中,在软件的开发中使用较少,其价格昂贵也是在线仿真器难以普及的因素。411.非操作系统层次的应用非操作系统层次的应用,主要是在一些结构简单的系统中或在实时性要求非常高的系统中,许多时候用于代替原来8位/16位单片机的应用。随着32位单片机本钱的不断降低,其本钱已与8位单片机相差无几。因此,非操作系统层次的应用也越来越广泛。2.操作系统非GUI层次的应用操作系统非GUI层次的应用,主要是指其应用程序建立在操作系统根底上,是为了实现程序的多任务及实时性,此类应用在人机交互方面没有很高的要求,可选择的操作系统有许多。3.操作系统GUI层次的应用操作系统GUI层次的应用,主要是为了方便实现人机交互功能、网络功能、数据库功能以及其它更复杂的应用。GUI层次的开发,除了借助于操作系统及GUI库强大的功能,更重要的是可以让程序开发人员把关注点集中在高层的目标与任务的实现中,使嵌入式系统应用的开发更简单,让开发速度及开发效率更高1.7.3嵌入式系统的应用模式421.需要交叉编译工具嵌入式系统采用的处理器一般与PC不同,结构较简单,功耗较低。由于嵌入式系统目标机上的资源较为有限〔内存外存容量小,显示功能弱〕,直接在目标机上开发和调试应用软件几乎不可能。因此,目标机的嵌入式应用软件开发需要放在高性能计算机上的集成开发环境上进行,由于PC的大量普及和使用,现在的嵌入式集成开发环境也大多运行在PC上。需要交叉编译工具的另一个原因是嵌入式系统处理器芯片的指令系统与PC处理器芯片的指令系统不同。一般情况下,PC的处理器芯片是X86芯片,使用的指令系统是X86指令系统,而ARM9芯片运行的是ARM指令系统,两者有很大差异。因此,用ARMADS集成开发环境编写的C语言程序需要经过交叉编译器才能生成运行在目标机上的ARM9机器语言程序。1.7.4嵌入式应用软件的开发432.通过仿真手段进行调试目标机执行程序经过交叉编译后,还要经过调试排错,确认能够正常运行才能使用。那么如何进行调试排错呢?显然在目标机上调试排错是非常困难的。原因是输入输出方式较少,多数嵌入式系统显示面积小,甚至没有显示屏,从而无法显示调试信息;调试工具需要较大存储空间,对嵌入式系统来说,比较困难。但对于台式机而言,这些条件很容易满足。因此,通常的调试也是在PC上完成的,方式就是仿真调试。3.目标机是最终的运行环境对嵌入式应用程序来说,其开发、调试往往是在PC上完成的,但它最终的运行环境是目标机。嵌入式应用程序开发调试完成后,要下载到目标机上运行,正确无误运行后才表示成功。如果不成功或需要进一步完善,那么需重新回到PC上运行修改调试。444.执行应用程序的指令通常写入操作系统
在常用的嵌入式系统中,应用程序的启动执行指令通常需要预先写入操作系统的任务调度程序里,编辑在目标程序中。因此,嵌入式应用程序许与操作系统有一定联系,开发者不仅要了解应用程序,也要了解操作系统,知道如何让一个应用程序执行。5.系统资源有限
在进行嵌入式应用软件的开发时,就必须考虑可用资源问题。以存储容量为例,嵌入式系统的ROM容量一般只有几兆字节,对目标程序有严格的长度限制,这样程序员在编程时就必须考虑这个限制。6.控制特定部件
在嵌入式应用软件开发过程中,程序员往往需要针对特定的部件做更加细致的编写作业。45嵌入式系统的设计与开发,就是利用嵌入式微处理器/微控制器内部的特定资源和扩展的外部资源,来设计和开发特定的目标系统。对于基于ARM+Linux嵌入式系统的学习,初步具备从事ARM嵌入式系统应用开发的能力,应掌握ARM嵌入式系统的硬件结构与工作原理、程序设计语言、Linux开发环境的构建、Linux操作系统的移植和开发工具的使用,ARM+Linux嵌入式系统的设计与开发方法,包括嵌入式系统的设计方法、ARM处理器芯片的选择、嵌入式系统应用与接口设计、嵌入式设计开发平台的使用等内容。同时应熟悉与嵌入式系统开发相关的有关领域知识。增多,有助于降低企业工程开发本钱、保持开发的连续性。1.8嵌入式系统的学习探讨1.8.1嵌入式系统的学习内容46要学好嵌入式系统及其开发应用,首先必须掌握嵌入式系统技术根底。嵌入式系统技术根底是进行嵌入式设计和开发的关键。技术根底决定了一个人学习知识、掌握技能的能力。其次,对于嵌入式系统的学习,必须要有一个较好的嵌入式系统开发平台和开发环境。功能全面的开发平台一方面为学习提供了良好的开发环境,另一方面开发平台本身也是一般的典型实际应用系统。最后,对于嵌入式系统的学习,必须要有教师指导,并选用几本好的教材,采用适宜、有效的学习方法。嵌入式技术,内容新颖,综合性强,实践性强,实际应用开展前景广阔。因此需要理论与实践相结合,课内与课外相结合,研究性学习与课题开发相结合。在具备嵌入式系统及其开发应用的根底知识和根本技能后,进行课题的设计开发时一个非常有效的方法。1.8.2嵌入式系统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论