嵌入式系统开发过程.ppt
上传人:天马****23 上传时间:2024-09-11 格式:PPT 页数:35 大小:242KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

嵌入式系统开发过程.ppt

嵌入式系统开发过程.ppt

预览

免费试读已结束,剩余 25 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

嵌入式系统的架构硬件层由嵌入式微处理器、外围电路和外设组成。在一片嵌入式微处理器基础上增加电源电路、复位电路、调试接口和存储器电路,就构成一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM或者Flash中。为方便使用,有的模块在此基础上增加了LCD、键盘、USB接口,以及其他一些功能的扩展电路。嵌入式系统的硬件层是以嵌入式处理器为核心的,最初的嵌入式处理器都是为通用目的而设计的。后来随着微电子技术的发展出现了ASIC(Applicationspecificintegratedcircuit,专用的集成电路),ASIC是一种为具体任务而特殊设计的专用集成电路。由于ASIC在设计过程中进行了专门优化,其性能、性价比都非常高。采用ASIC可以减少系统软硬件设计的复杂度,降低系统成本。有的嵌入式微处理器利用ASIC来实现,但ASIC的前期设计费用非常高,而且ASIC一旦设计完成,就无法升级和扩展,一般只有在一些产量非常大的产品设计中才考虑使用ASIC。近年来,各种PLD(ProgrammableLogicDevice,可编程逻辑器件)的出现,改变了硬件设计方法,出现了“可重构计算”的概念。通过改写PLD,允许在不改变硬件结构的情况下,实现不同的接口和功能。20世纪80年代中期以后出现了FPGA(Field-programmablegatearray,现场可编程门阵列)器件,这是是一种大规模可编程逻辑器件,具有保密性好、体积小、重量轻、可靠性高等一系列ASIC的优点。FPGA的出现使得一个电子系统可以仅仅由三种标准模块构成,即微处理器、存储器和可编程逻辑器件。前两种模块都已标准化,系统中大量的控制逻辑由FPGA实现。这使得硬件的设计更具有灵活性和扩展性,并降低了后续产品开发的成本。硬件层与软件层之间为中间层,也称为BSP(BoardSupportPackage,板级支持包),将系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关,一般应具有相关硬件的初始化、数据的输入/输出操作和硬件设备的配置等功能。BSP是主板硬件环境和操作系统的中间接口,是软件平台中具有硬件依赖性的那一部分,主要目的是为了支持操作系统,使之能够更好地运行于硬件主板上。纯粹的BSP所包含的内容一般说来是与系统有关的驱动程序,如网络驱动程序和系统中的网络协议有关,串口驱动程序和系统的下载调试有关,等等。离开这些驱动程序系统就不能正常工作。软件层主要是操作系统,有的还包括文件系统、图形用户接口和网络系统等。操作系统是嵌入式应用软件的基础和开发平台,实际上是一段程序,系统复位后首先执行,相当于用户的主程序,用户的其他应用程序都建立在操作系统之上。操作系统是一个标准的内核,将中断、I/O、定时器等资源都封装起来,以方便用户使用。操作系统的引入大大提高了嵌入式系统的功能,方便了应用软件的设计,但同时也占用了宝贵的嵌入式系统资源。一般在大型的或需要多任务的应用场合才考虑使用嵌入式操作系统。功能层由基于操作系统开发的应用程序组成,用来完成对被控对象的控制功能。功能层是面向被控对象和用户的,为了方便用户操作,往往需要具有友好的人机界面。对于一些复杂的系统,在系统设计的初期阶段就要对系统的需求进行分析,确定系统的功能,然后将系统的功能映射到整个系统的硬件、软件和执行装置的设计过程中,这个过程称为系统的功能实现。2.1嵌入式系统设计2.2嵌入式系统开发流程硬件平台和软件平台选择2.3硬件平台选择硬件平台选择硬件平台选择硬件平台选择硬件平台选择硬件平台选择嵌入式软件开发流程软件平台选择软件平台选择嵌入式软件开发的特点嵌入式软件开发的特点嵌入式软件开发的特点2.4嵌入式软件开发的特点嵌入式软件开发的特点嵌入式软件开发的要点2.5嵌入式系统的调试。板级支持包(BSP)简介CPU支持包(CSP)&OEM抽象层(OAL)CPU支持包(CSP)&OEM抽象层(OAL)板级支持包的组成BSP架构创建BSP的两种方法BSP开发流程从设备制造商得到硬件和BSP如果操作系统映象可以直接引导,引导程序不是必须的但通常使用一个引导程序,以便日后的扩充。另外也可以用于支持制造过程中的下载测试引导程序的重要性在于可以支持开发过程中的运行时映象加载功能,也就是说在系统运行过程中,动态加载需要调试的模块引导程序的功能