算机技术为基础、软件硬件可裁剪,对功能、体积、功耗、可靠性要求严格的专用计算机系统。嵌入式系统组成如图2.2所示,由硬件平台、系统软件层和应用软件层组成。硬件平台包括微处理器和外围设备等;系统软件层包括操作系统、根文件系统和底层驱动;应用软件层包括各种应用程序,如Qt应用程序。嵌入式硬件平台是系统架构的基础,决定系统所具有的功能,上层结构都是基于这些功能进行开发的。硬件平台有微处理器、存储器(ROM、RAM等)、通用外围设备接口(SPI、I2C、USB等)和I/O接口(数模转换接口、模数转换接口、输入/输出等)。微处理器、时钟芯片和存储器芯片组成嵌入式核心控制模块,可根据任务需求,添加控制模块的外围电路,实现功能扩展。Linux操作系统是系统软件层核心,负责系统的资源分配和任务调度,包含各种硬件驱动程序,针对具体应用可以对系统内核进行裁剪,减少内核文件数量,提高系统运行速度。应用软件层位于整个系统的最顶层,由Email、文字处理、通讯软件、个人信息处理和人机交互软件等组成,根据具体需求,有针对性地在应用软件层上进行开发,实现人机交互。嵌入式系统搭建嵌入式系统搭建如图2.3所示,主要分为uboot程序、Linux内核和根文件系统。uboot程序包括引导程序和启动参数;Linux内核是嵌入式中的操作系统;根文件系统包括系统文件和应用程序等。uboot是由DENX团队开发,用于多种嵌入式SOC(X86、ARM等)的BootLoader程序。uboot是通用的BootLoader程序,一是它能够加载多种不同的操作系统(如Linux、VxWorks等);二是它支持多种架构的微处理器(如PowerPC、x86、ARM等)。uboot操作模式分为启动模式和交互模式,启动模式用于初始化硬件设备、设置内存空间映射和为后续的内核启动做准备;交互模式用于文件下载,将内核镜像等系统文件下载到内存。