[讨论] 典型的嵌入式系统组成

呱呱   2008-3-11 10:25 楼主
嵌入式系统是专用计算机应用系统,它具有一般计算机组成的共性,也是由硬件和软件组成。 图1-1完整地描述了嵌入式系统的软硬件各部分的组成结构。 字串8 2.1 嵌入式系统的硬件基本结构 嵌入式系统的硬件架构如图1-1下半部分所示,是以嵌入式处理器为中心,由存储器、I/O设备、通信模块以及电源等必要的辅助接口组成。嵌入式系统是量身定做的专用计算机应用系统,又不同于普通计算机组成,在实际应用中的嵌入式系统硬件配置非常精简,除了微处理器和基本的外围电路以外,其余的电路都可根据需要和成本进行裁剪、定制,非常经济、可靠。 嵌入式系统的硬件核心是嵌入式微处理器,有时为了提高系统的信息处理能力,常外接DSP和DSP协处理器(也可内部集成),以完成高性能信号处理。 随着计算机技术、微电子技术、应用技术的不断发展及纳米芯片加工工艺技术的发展,以微处理器为核心的集成多种功能的SoC系统芯片已成为嵌入式系统的核心。在嵌入式系统设计中,要尽可能地满足系统功能接口的SoC芯片。这些SoC集成了大量的外围USB、UART、以太网、AD/DA、IIS等功能模块。 可编程片上系统SOPC(System On Programmable Chip)结合了SoC和PLD、FPGA各自的技术优点,使得系统具有可编程的功能,是可编程逻辑器件在嵌入式应用中的完美体现,极大地提高了系统的在线升级、换代能力。 以SoC/SOPC为核心,用最少的外围部件和连接部件构成一个应用系统,满足系统的功能需求,这也是嵌入式系统发展的一个方向。 因此,现代嵌入式设计是以处理器/SoC/SOPC为核心来完成系统设计的,其外围接口包括存储设备、通信扩展设备、扩展设备接口和辅助的机电设备(电源、连接器、传感器等),构成硬件系统。 [img]http://p.blog.csdn.net/images/p_blog_csdn_net/gueter/285171/o_@[Z05VOJDO0V[Y`F`8MMZ4B.jpg[/img] 图1-1 典型的嵌入式系统组成 http://www.armforum.cn ARM 嵌入式系统软件的层次结构 P12-13 http://www.armforum.cn 在设计一个简单的应用程序时,可以不使用操作系统,但在设计较复杂的程序时,可能就需要一个操作系统(OS)来管理和控制内存、多任务、周边资源等。依据系统所提供的程序界面来编写应用程序,可大大减少应用程序员的负担。 字串4 对于使用操作系统的嵌入式系统来说,嵌入式系统软件结构一般包含4个层面:设备驱动层、实时操作系统RTOS、应用程序接口API层、实际应用程序层。有些书籍将应用程序接口API归属于OS层,如图1-1上半部分所示的嵌入式系统的软件结构,是按3层划分的。由于硬件电路的可裁剪性和嵌入式系统本身的特点,其软件部分也是可裁剪的。 http://www.armforum.cn 对于功能简单,仅包括应用程序的嵌入式系统,一般不使用操作系统,仅有应用程序和设备驱动程序。现代高性能嵌入式系统的应用越来越广泛,操作系统的使用成为必然发展趋势。本小节主要讲述的是具有操作系统的嵌入式软件层次。 ARM 1.驱动层程序 字串4 驱动层程序是嵌入式系统中不可缺少的重要部分,使用任何的外部设备都需要有相应的驱动层程序的支持,它为上层软件提供了设备的操作接口。上层软件不会理会设备的具体内部操作,只需调用驱动层程序提供的接口即可。驱动层程序一般包含硬件抽象层HAL、板级支持包BSP和设备驱动程序。 http://www.armforum.cn 1) 硬件抽象层 字串8 硬件抽象层HAL(Hardware Abstraction Layer)是位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化。也就是说,可通过程序来控制所有硬件电路如CPUI/OMemory等的操作。这样就使得系统的设备驱动程序与硬件设备无关,从而大大地提高了系统的可移植性。从软硬件测试的角度来看,软硬件的测试工作都可分别基于硬件抽象层来完成,使得软硬件测试工作的并行进行成为可能。在定义抽象层时,需要规定统一的软硬件接口标准,其设计工作需要基于系统需求来做,代码工作可由对硬件比较熟悉的人员来完成。抽象层一般应包含相关硬件的初始化、数据的输入/输出操作、硬件设备的配置操作等功能。 字串4 硬件抽象层接口的定义和代码设计应具有一下特点: ARM开发论坛 硬件抽象层具有与硬件的密切相关性; 字串4 硬件抽象层具有与操作系统的无关性; ARM 接口定义的功能应包含硬件与系统所需硬件支持的所有功能; http://www.armforum.cn 接口定义简单明了,太多接口函数会增加软件模拟的复杂性; M开发论坛 具有可测性的接口设计有利于系统的软硬件测试和集成。 M开发论坛 2) 板级支持包 字串5 板级支持包BSPBoard Support Package)是介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统的一部分,主要是实现对操作系统的支持,为上层的驱动程序提高访问硬件设备寄存器的函数包,使之能够更好地运行于硬件主板。BSP是相对于操作系统而言的,不同的操作系统对应于不同定义的BSP。例如,VxWorksBSP LinuxBSP相对于某一CPU来说,尽管实现的功能可以完全一样,但写法和接口定义却完全不同,因此,BSP 一定要按照该系统的BSP的定义形式来写(BSP的编程过程大多数是在某一个成型的BSP模板上进行修改),主要才能与上层OS保持正确的接口,良好地支持上层OS 字串4 板级支持包实现的功能大体有以下两个方面: ARM开发论坛 系统启动时,完成对硬件的初始化。例如,对系统内存、寄存器以及设备的中断进行设置。这是比较系统化的工作,它要根据嵌入式开发所选的CPU类型、硬件以及嵌入式操作系统的初始化等多方面决定BSP应实现什么功能。 ARM 为驱动程序提供访问硬件的手段。驱动程序经常要访问设备的寄存器,对设备的寄存器进行操作。如果整个系统为统一编址,则开发人员可直接在驱动程序中用C语言的函数访问设备寄存器。但是,如果系统为单独编址,则C语言就不能直接访问设备中的寄存器,只有汇编语言编写的函数才能进行对外围设备寄存器的访问。BSP就是为上层的驱动程序提供访问硬件设备寄存器的函数包。

回复评论 (2)

回复:典型的嵌入式系统组成

不错回一个先
点赞  2008-3-11 11:04

回复:典型的嵌入式系统组成

效果不错啊~~~~ 顶一个!
点赞  2008-3-13 13:23
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复