U-Boot:修订间差异

来自资料库(何亚红)
跳转到导航 跳转到搜索
第31行: 第31行:
|+
|+
!起始地址
!起始地址
!大小
!大小(字节)
!名称
!名称
!说明
!说明
|-
|-
|0
|0
|0xF0000
|0xF0000(960KBytes)
|u-boot
|u-boot
|u-boot二进制代码所在位置
|u-boot二进制代码所在位置
|-
|-
|0xF0000
|0xF0000
|0x10000
|0x10000(64KBytes)
|u-boot-env
|u-boot-env
|u-boot的env数据,可保存一些u-boot使用的环境变量,可保存修改后的启动行为。
|u-boot的env数据,可保存一些u-boot使用的环境变量,可保存修改后的启动行为。

2023年8月1日 (二) 08:39的版本

源代码

主要

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(960KBytes) u-boot u-boot二进制代码所在位置
0xF0000 0x10000(64KBytes) u-boot-env u-boot的env数据,可保存一些u-boot使用的环境变量,可保存修改后的启动行为。
0x100000 - - 剩余位置,可继续划分分区。

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

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

官方资料

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