U-Boot
U-Boot(Universal Boot Loader) 是一款广泛应用于嵌入式系统的开源引导加载程序,主要功能包括:
- 硬件初始化:在系统启动时负责初始化 CPU、内存以及外设,确保硬件资源就绪。
- 加载操作系统:从闪存、eMMC、网络等介质加载操作系统内核,为系统启动提供支持。
- 灵活配置:支持环境变量配置、命令行交互以及脚本自动化,便于定制和调试。
U-Boot 是嵌入式开发中常用的引导工具,凭借其灵活性和强大功能,成为许多设备启动过程中的关键组件。
功能描述
U-Boot 包含 USB、以太网、PCIe、I2C、GPIO、QSPI Flash、eMMC、SD 卡驱动等模块。U-Boot 支持多种启动 Linux 的方式,包括:
- NVMe SSD 启动
- 以太网启动
- eMMC 启动
- U 盘启动
以太网启动使用 TFTP 协议加载内核,可以通过 NFS 挂载根文件系统。
U-Boot 在整个启动流程中作为 BL33 阶段,不存在 SPL 阶段。
当前特性包括:
- 仅支持 CPU 单核模式
- 暂不支持中断
- 开启一级缓存和 MMU
- 物理地址与虚拟地址相同
- 支持设备树方式启动
- 支持 acpi 方式启动
配置流程
提示
在 uboot2025.04 中,修改一下内容:
mthreads_m1000_aimodule_defconfig改为m1000_aimodule_defconfigCONFIG_TARGET_MTHREADS_M1000_AIMODULE改为CONFIG_TARGET_M1000_AIMODULEmthreads-m1000-aimodule.dts改为m1000-aimodule.dtsmthreads-m1000-aimodule.dtb改为m1000-aimodule.dtbTARGET_MTHREADS_M1000_AIMODULE改为TARGET_M1000_AIMODULEmthreads-m1000.dtsi改为m1000.dtsimthreads-m1000-padc.dtsi改为m1000-padc.dtsiCONFIG_EXTRA_ENV_SETTINGS改为CFG_EXTRA_ENV_SETTINGS