嵌入式系统的结构与组成(上)
摘要:嵌入式系统由硬件和软件子系统构成。硬件以处理器为核心,分为核心控制层、最小系统层和外部扩展层;软件包括操作系统和应用软件。硬件抽象层(HAL)作为中间层连接软硬件,提供标准化接口实现系统可移植性。通过分层设计,嵌入式系统实现了专用性、可靠性和软硬件协同工作。
本文声明:内容来源于网络,进行整合/再创作;部分内容由AI辅助生成。
Tips:本节分为上、下两篇讲述,可通过专栏查找到对应文章。
一个嵌入式系统就是一个硬件和软件的集合体,它包括硬件子系统、软件子系统两部分。
- 硬件子系统:包含以嵌入式处理器的SOC为核心,集成存储器、系统专用的输入/输出设备。
- 软件子系统:嵌入式操作系统和应用软件是整个系统的控制核心,它们控制整个系统的运行,提供人机交互的信息等;初始化代码、设备驱动程序、嵌入式操作系统、应用软件及文件系统/图形用户API(应用程序接口)等有机地结合在一起,形成系统特定的一体化软件。
1、嵌入式系统硬件平台
嵌入式系统硬件平台以一颗嵌入式处理器(通常体现为MCU或SoC)为核心,通过内外部总线技术进行互连和扩展。其硬件架构通常可划分为以下三个层次,共同构成最小运行系统及功能扩展:
(1)核心控制层:以SoC(片上系统) 或微控制器为核心,集成中央处理单元(CPU)、内部存储器(如Cache、SRAM)、定时器以及常用外设控制器(如GPIO、内部总线)等,是整个系统的运算与控制中心。
(2)最小系统层(必要外围电路):这是维持核心处理器稳定运行所必需的支撑电路,主要包括电源管理模块、时钟电路、复位电路以及调试接口(如JTAG/SWD)。该层确保处理器获得纯净电源、准确时钟和可靠的启动与调试环境。
(3)外部扩展层(外部设备与接口):根据具体应用需求,通过外部总线挂载的各种功能设备与模块。主要包括:
- 存储设备:如外部SDRAM(DRAM)、NAND/NOR Flash等,用于扩展程序与数据存储空间。
- 通信接口模块:如UART(常外接RS-232/485收发器)、I2C、SPI、以太网(PHY芯片)、CAN收发器等,实现系统与外部设备或网络的通信。
- 人机交互设备:如LCD显示屏、触摸屏、按键等。
- 特定功能模块:各类传感器(如温湿度、加速度传感器)、执行器以及其他专用采集与控制模块。
嵌入式系统硬件平台通过分层设计,实现了从核心控制到外围功能扩展的有机整合,以满足特定嵌入式应用的可靠性、实时性与专用性要求。
2、硬件抽象层(硬件设备驱动层)
硬件抽象层(Hardware Abstraction Layer,HAL),也称板级支持包(Board Support Package,BSP),是连接硬件与软件系统的中间层。它通过特定的上层接口与操作系统交互,为操作系统提供底层硬件信息,并根据系统需求直接操作硬件设备。
该层的核心作用是将系统的上层软件与底层硬件分离,使驱底层动程序的设计与具体硬件无关,开发人员无需了解硬件细节,仅基于BSP提供的标准化接口即可进行开发。其功能通常包括硬件初始化、数据输入/输出管理、外设配置、电源控制等,从而实现软硬件的灵活适配与高效协作。
HAL通过HAL接口向操作系统以及应用程序提供对硬件进行抽象后的服务。当操作系统或应用程序调用硬件抽象层的应用程序编程接口(API)进行设计时,只要API能够在下层硬件平台上实现,那么操作系统和应用程序的代码就可以移植。

例如,对应同一个CPU来说,要实现同样的功能,VxWorks的BSP和Linux的BSP的写法和接口定义却完全不同。因此,BSP一定要按照具体操作系统BSP的定义形式来写,这样才能与上层操作系统保持正确的接口,以支持上层操作系统。BSP隔离了所支持的嵌入式操作系统与底层硬件平台之间的相关性,使嵌入式操作系统能够与BPS所支持的硬件平台通用,从而实现嵌入式操作系统的可移植性、跨平台性、通用性、复用性。
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐



所有评论(0)