U-Boot

来自资料库(何亚红)
HEYAHONG留言 | 贡献2023年8月1日 (二) 05:30的版本 →‎说明
跳转到导航 跳转到搜索

源代码

主要

https://source.denx.de/u-boot/u-boot

备用

https://github.com/u-boot/u-boot.git

说明

通用引导加载器。通常用于加载Linux

启动介质

SD卡/TF卡

采用MMC接口,常见于各种开发板。

通常会有一个完整的镜像,采用mbr磁盘分区(包含一个FAT分区及若干个其他分区),U-boot的启动脚本与Linux内核放在FAT分区。可使用以下方式烧录:

  • dd:在Linux或其他(类)unix中可使用dd命令直接将镜像写入SD卡/TF卡。
  • win32diskimager:在windows下可使用此工具写入镜像文件。

对于本人而言,除了开发板厂商提供的方式,本人还可使用Buildroot产生镜像。

SPI Nor Flash

采用SPI接口。若未说明,本人一般使用容量大于等于16MBytes的Nor Flash。

由于Nor Flash容量较小,一般分区使用固定分区,即没有任何分区表与磁盘信息存储在介质上,直接在代码或配置(如设备树dts)中写死分区信息数据。

默认情况下,采用以下分区:

起始地址 大小 名称 说明
0 0xF0000 u-boot u-boot二进制代码所在位置
0xF0000 0x10000 u-boot-env u-boot的env数据,可保存一些u-boot使用的环境变量,可保存修改后的启动行为。
0x100000 - - 剩余位置,可继续划分分区。

Nor Flash的烧录方式根据SOC的不同而不同,具体如下:

  • 对于全志SOC而言,可进入FEL模式采用Xfel烧录。

官方资料

网站:https://www.denx.de/project/u-boot/