嵌入式软件的定义及特点
嵌入式系统的定义
嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪、功能、可靠性、功耗严格要求的专用计算机系统。
其中要说明的几个点是
1. 嵌入式系统是专用系统,而不是通用系统,其往往是为了特点领域而进行开发应用的;
2. 嵌入式系统的软硬件可以进行裁剪。其中主要突出的是嵌入式系统可以根据实际的需要进行软硬件所需内容的选择,具有极大的灵活性以及可选择性;
3. 嵌入式系统一般要求具有很高的实时性,特别是应用于航天等领域时,其实时性要求会更高;
4. 嵌入式系统广泛使用,但是其对于成本、体积、功耗都有较多的要求,为的是更为精巧地嵌入到应用中。
嵌入式系统的知识体系
其中,对于嵌入式软件而言,更多的是涉及到计算机技术中软件方面的内容,因此需要熟练地掌握上述的种种内容。同时,对于硬件方面也要有一个比较系统化的了解。
对于其他板块而言,提供这个版块的目的是在需要设计一个嵌入式系统时,根据上述的知识体系以及实际的需要进行合理化的人才选择。
嵌入式系统的特点
- 系统内核小
- 专用性强
- 系统精简
- 高实时性
- 需要专门的开发工具和环境
嵌入式系统的组成结构
对于这张图暂时没有一个系统化的认识与理解,因此等到学习过程中不断地进行学习巩固,加深认识。
值得注意的是,嵌入式系统的硬件是以嵌入式处理器或者微处理器为核心的SoC/SoPC(System on Chips/System-on-a-Programmable-Chip),同时配置必要的外围接口部件。
微处理器的两个发展分支
通用处理器
- 目标: 高速的数字处理能力
- 路线:总线速度的提升,存储量的扩大
- 其他:功耗的增加、体积的增加
嵌入式微处理器
- 目标:突出强调嵌入式的性能以及控制能力
- 路线: 单芯片实现,多样性
- 其他:低功耗、小体积、接口丰富
嵌入式处理器分类
- 嵌入式微处理器MPU(Microprocessor)
- 嵌入式微控制器MCU(Microcontroller Unit)–单片机
- 嵌入式数字信号处理器(Digital Signal Processor)
- Soc/SoPC
注:嵌入式片上系统是在一个硅片上实现一个复杂的系统,其特点是整个嵌入式系统大部分均可集成到一块或者几块芯片中去,它可以使应用系统电路板变得很简洁。
嵌入式SoPC
嵌入式SoPC来源于SoC,因此其具有嵌入式片上系统高度继承化,电路板简洁的特点,同时作为可编程逻辑技术的实现,其具备了可编程的功能,具体的表现就是可裁减、可扩充、可升级等灵活的设计方式。
嵌入式软件组成结构
嵌入式软件是针对特定应用以及相应的硬件平台,为完成用户预期任务而设计的计算机软件
嵌入式软件具有四层结构。最低层是BSP/HAL, 称之为板级支持包或者是硬件抽象层, 其功能是提供基本的硬件支持;再上一层是OS,操作系统,负责对于任务资源的分配与管理,接着是中间件,例如我们最为熟知的JVM,其是跨平台中间件的使用,到了最上层就是应用软件。
实时操作系统(RTOS)体系结构
在实时操作系统中,操作系统负责的基本任务就是对于内存、文件的管理,以及进程的调度,扩展功能就是对于网络模块等的调度以及使用。
通用计算机与嵌入式系统
特别注意的是通用计算机与嵌入式系统在开发方式上的差异。通用计算机开发平台和运行平台均为通用计算机,而嵌入式系统开发平台为通用计算机,运行平台为嵌入式系统。
嵌入式系统开发流程
- 需求分析、规格说明
- 系统结构设计、硬件和软件的选择
- 构件技术、构件设计与实现
- 系统集成、测试与验收