news 2026/6/10 0:48:45

嵌入式神器U-Boot:从启动到内核全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
嵌入式神器U-Boot:从启动到内核全解析

U-Boot(Universal Boot Loader)是一个开源的、功能强大的引导加载程序(bootloader),主要用于嵌入式系统,支持多种处理器架构(如 ARM、x86、PowerPC、MIPS、RISC-V 等)和硬件平台。它在系统上电后运行,负责初始化硬件、加载操作系统内核(如 Linux)并将其移交控制权。


U-Boot 的主要功能包括:

  1. 硬件初始化

    • 初始化 CPU、内存(DDR)、时钟、串口等基本外设。
    • 支持设备树(Device Tree)传递给内核。
  2. 引导操作系统

    • 从多种存储介质加载内核:eMMC、SD 卡、NAND/NOR Flash、USB、网络(TFTP/NFS)等。
    • 支持压缩内核镜像(如 zImage、uImage)和设备树 blob(dtb)。
  3. 命令行交互(CLI)

    • 提供丰富的命令(如printenvsetenvbootmloadbmmctftp等)用于调试和配置。
    • 可通过串口终端与用户交互。
  4. 环境变量管理

    • 存储在非易失性存储器中(如 Flash 或 eMMC),可持久化保存启动参数(如bootargsbootcmd)。
  5. 脚本支持

    • 支持自动执行启动脚本(bootcmd)或自定义脚本。
  6. 网络功能

    • 支持 TFTP、DHCP、Ping 等,便于远程下载和调试。
  7. 更新与维护

    • 可通过命令更新自身(sf writemmc write等)或更新内核/文件系统。

典型 U-Boot 启动流程:

  1. 上电 → 执行 SoC 内置 ROM 代码(如 i.MX6 的 Boot ROM)。
  2. 加载 U-Boot 到 RAM(可能分 SPL + 主 U-Boot 两阶段)。
  3. U-Boot 初始化硬件,设置堆栈,进入主循环。
  4. 倒计时等待用户输入(可中断自动启动)。
  5. 执行bootcmd环境变量中的命令,加载并启动内核。

常用 U-Boot 命令示例:

# 查看环境变量 printenv # 设置启动参数 setenv bootargs 'console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait' # 从 SD 卡加载内核 fatload mmc 0:1 0x80008000 zImage fatload mmc 0:1 0x82000000 my_board.dtb # 启动内核 bootz 0x80008000 - 0x82000000 # 保存环境变量到 Flash saveenv # 通过 TFTP 下载文件 tftp 0x80008000 zImage

开发与编译 U-Boot:

U-Boot 源码托管在 https://source.denx.de/u-boot/u-boot。

编译示例(以 ARM 板为例):

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- <defconfig> make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

生成文件通常包括:

  • u-boot.bin:原始二进制镜像
  • u-boot.img:带头信息的镜像(用于某些 SoC)
  • spl/u-boot-spl.bin:二级程序加载器(若启用 SPL)

如果你有具体问题(如移植 U-Boot、调试启动失败、修改环境变量、支持新板卡等),欢迎提供详细信息,我可以给出针对性建议!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 21:27:56

基于HY-MT1.5大模型镜像,实现多语言实时精准互译

基于HY-MT1.5大模型镜像&#xff0c;实现多语言实时精准互译 1. 引言&#xff1a;多语言互译的现实挑战与技术演进 在全球化加速的今天&#xff0c;跨语言沟通已成为企业出海、科研协作、内容传播的核心需求。然而&#xff0c;传统翻译服务在延迟高、隐私风险大、成本昂贵等方…

作者头像 李华
网站建设 2026/6/9 21:06:54

如何高效部署AutoGLM-Phone-9B?一文掌握本地推理全流程

如何高效部署AutoGLM-Phone-9B&#xff1f;一文掌握本地推理全流程 1. AutoGLM-Phone-9B 模型概述与核心价值 1.1 多模态轻量化设计的技术背景 随着移动智能设备对AI能力需求的持续增长&#xff0c;传统大模型因高算力消耗和内存占用难以在资源受限终端上运行。AutoGLM-Phon…

作者头像 李华
网站建设 2026/6/9 23:52:04

三电平有源电力滤波器:基于DSP28335的宝藏资料分享

三电平有源电力滤波器 全套软硬-件资料 基于DSP28335&#xff0c;两套 可以直接用的最近在电力电子领域探索&#xff0c;发现了超棒的三电平有源电力滤波器相关资源&#xff0c;必须来和大家唠唠。这次要讲的是基于DSP28335的三电平有源电力滤波器全套软硬件资料&#xff0c;而…

作者头像 李华
网站建设 2026/6/9 22:39:03

跨平台AI分类方案:手机电脑同步使用技巧

跨平台AI分类方案&#xff1a;手机电脑同步使用技巧 引言 作为一名自由职业者&#xff0c;你是否经常遇到这样的困扰&#xff1a;在电脑上训练好的AI分类模型&#xff0c;切换到手机或平板上就无法使用&#xff1f;或者不同设备上的分类结果不一致&#xff0c;导致工作流程被…

作者头像 李华
网站建设 2026/6/9 23:42:57

从零构建中文情感分析服务|集成WebUI与API的StructBERT镜像实践

从零构建中文情感分析服务&#xff5c;集成WebUI与API的StructBERT镜像实践 1. 背景与需求&#xff1a;为什么需要轻量级中文情感分析&#xff1f; 在当前数字化运营和用户反馈管理中&#xff0c;情感分析已成为企业洞察客户情绪、优化产品体验的核心技术之一。尤其是在电商评…

作者头像 李华
网站建设 2026/6/9 21:23:24

AI分类器商业落地指南:从POC到上线,云端成本节省60%

AI分类器商业落地指南&#xff1a;从POC到上线&#xff0c;云端成本节省60% 1. 为什么企业需要关注AI分类器 想象你是一家电商平台的技术负责人&#xff0c;每天有数百万张商品图片需要审核&#xff0c;传统人工审核不仅效率低下&#xff0c;还容易出错。这时AI分类器就像一位…

作者头像 李华