- 1、本文档共159页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统的软件基础
2.2 嵌入式系统的软件基础 2.2.1 软件系统概述 软件(software)是计算机系统中与硬件(hardware)相互依存的另一部分,它包括程序(program)、相关数据(data)及其说明文档(document)。 其中: 程序是按照事先设计的功能和性能要求执行的指令序列; 数据是程序能正常操纵信息的数据结构; 文档是与程序开发维护和使用有关的各种图文资料。 软件系统概述 软件是一种逻辑实体,具有抽象性。 这个特点使它与其它工程对象有着明显的差异。人们可以把它记录在纸上、内存、和磁盘、光盘上,但却无法看到软件本身的形态,必须通过观察、分析、思考、判断,才能了解它的功能、性能等特性。 软件系统概述 嵌入式系统软件也是嵌入式系统的核心之一,它由嵌入式操作系统及相应的各种应用软件构成。面向嵌入式系统的操作软件有以下特点: 编码体积小,在嵌入式系统的有效存储空间运行; 面向应用,可裁减和移置; 实时性强,有时也称为实时多任务操作系统RTOS; 可靠性高,无需人工干预独立运行,并处理不同时间的故障。 1、嵌入式软件系统的分类 嵌入式软件系统的分类 从运行平台来分,嵌入式软件可以分为 运行在开发平台上的软件:设计、开发、测试工具等。 运行在嵌入式系统上的软件:嵌入式操作系统、应用程序、驱动程序及部分开发工具。 2、嵌入式软件系统的体系结构 嵌入式系统软件设计的层次结构 嵌入式系统软件结构一般包含4个层面:设备驱动层、操作系统OS、中间层、应用程序层。也有些书籍将应用程序接口API归属于OS层。由于硬件电路的可裁减性和嵌入式系统本身的特点,其软件部分也是可裁减的。 (1)驱动层 驱动层程序是嵌入式系统中不可缺少的重要部分,使用任何外部设备都需要有相应驱动层程序的支持,它为上层软件提供了设备的接口。上层软件不用理会设备的具体内部操作,只需调用驱动层程序提供的接口即可。驱动层程序一般包括硬件抽象层HAL(提高系统的可移植性)、板极支持包BSP(提供访问硬件设备寄存器的函数包)和设备驱动程序。 驱动层 板级初始化程序 这些程序在嵌入式系统上电后初始化系统的硬件环境,包括嵌入式微处理器、存储器、中断控制器、DMA、定时器等的初始化。 与系统软件相关的驱动 这类驱动是操作系统和中间件等系统软件所需的驱动程序,它们的开发要按照系统软件的要求进行。 目前操作系统内核所需的硬件支持一般都已集成在嵌入式微处理器中了,因此操作系统厂商提供的内核驱动一般不用修改。 与应用软件相关的驱动 与应用软件相关的驱动不一定需要与操作系统连接,这些驱动的设计和开发由应用决定。 (2)操作系统OS层 在设计一个简单的应用程序时,可以不使用操作系统。仅有应用程序和设备驱动程序。 比如一个指纹识别系统只是完成简单的指纹录入和指纹识别,它在指纹识别的过程中需要高速的算法,所以需要32位处理器。但是它的任务并不复杂,也不牵连什么复杂的协议和管理,对于这样的系统就没有安装操作系统的必要。如果一定要安装操作系统,反而会带来新的系统开销,降低系统的性能。因为运行和存储操作系统需要大量的RAM和ROM,启动操作系统需要时间。 在设计较复杂的程序时,可能就需要一个操作系统(OS)来管理和控制内存、多任务、周边资源等。依据系统所提供的程序界面来编写应用程序,可大大减少应用程序员的负担。现代高性能嵌入式系统的应用越来越广泛,操作系统的使用成为必然发展趋势。 一般如果系统具有以下特点,系统运行较多任务,任务调度、内存分配复杂;系统需要大量协议支持,如网络协议、文件系统等;系统需要很好的图形用户接口GUI。那么建议使用操作系统。 操作系统的功能简单来说就是隐藏硬件细节,而只提供给应用程序开发人员一个个抽象的接口。用户只需要和这些抽象的接口打交道,而不用在意这些抽象的接口和函数是如何与物理资源相联系的,也不用去管那些功能是如何通过操作系统调用具体的硬件资源来完成的。这样,如果以后硬件体系发生变化,只要在新的硬件体系下还运行着同样的操作系统,那么原来的程序还能一丝不错的完成原有的功能。 操作系统OS层构成 操作系统层包括嵌入式内核、嵌入式TCP/IP网络系统、嵌入式文件系统、嵌入式GUI系统和电源管理等部分。 其中嵌入式内核是基础和必备的部分,其他部分要根据嵌入式系统的需要来确定。 对于使用操作系统的嵌入式系统而言,操作系统一般以内核映像的形式下载到目标系统中。以μCLinux为例子,在系统开发完成之后,将整个系统部分做成内核映像文件,与文件系统一起传送到目标系统中。然后通过BootLoader指定地址运行μCLinux内核,启动已经下载好的嵌入式Linux系统;再通过操作系统解开文件
文档评论(0)