目标:了解嵌入式系软件的特点和结构。理解硬件抽象层,板级支持包,引导加载程序和设备驱动的概念和原理。
1.嵌入式系统软件的特点
(1)软件与硬件一体化
(2)软件代码时空效率要求高
(3)软件可裁剪
(4)软件应用环境复杂
(5)软件开发难度大
(6)软件面向用户,面向产品,面向应用,受限于功能和具体应用环境
(7)软件产业高度分散
(8)软件具有较长的生长周期
2.嵌入式系统的软件结构
(1)简单的轮询结构
(2)带中断的轮询结构
(3)监控式操作系统+应用软件的结构
(4)通用嵌入式操作系统+应用软件结构
3.硬件抽象层(HAL)和板级支持包(BSP)
HAL是在操作系统层与硬件之间设置的独立的接口软件层,是所有直接依赖于硬件的软件,包括引导程序,硬件配置程序和硬件访问代码等。
BSP的特点是硬件和操作系统都关系紧密,既有硬件相关性,又有操作系统相关性。
4.引导加载程序(bootloader)
bootloader负责系统的上电自检,硬件初始化,建立存储空间映射,配置系统参数,建立上层软件的运行环境,并加载和启动操作系统。
5.设备驱动程序(device driver)
设备驱动程序是指直接与硬件相互作用并控制硬件的软件。