第十章:交互式命令与内存操作
U-Boot提供了丰富的命令来管理系统环境变量,这些变量控制着系统的启动行为和各种配置参数。
显示所有或指定的环境变量。
显示所有环境变量:
printenv
显示特定变量:
printenv bootcmd
设置或修改环境变量。
设置启动命令:
setenv bootcmd 'tftp 0x82000000 zImage; bootm 0x82000000'
删除变量(设置为空):
setenv myvar
saveenv命令。
将当前环境变量保存到持久存储(通常是Flash或EEPROM)。
从指定地址启动内核镜像。
从内存地址0x82000000启动内核:
bootm 0x82000000
带initrd和设备树的启动:
bootm 0x82000000 0x83000000 0x84000000
通过TFTP协议从网络服务器下载文件到指定内存地址。
下载内核镜像:
tftp 0x82000000 zImage
对MMC/SD卡进行读写操作。
从MMC设备0的块100读取10个块到内存0x82000000:
mmc read 0 0x82000000 100 10
将内存数据写入MMC:
mmc write 0 0x82000000 100 10
U-Boot提供了一组强大的内存操作命令,用于调试和手动内存管理。
以字节(.b)、字(.w)或长字(.l)格式显示内存内容。
以字节格式显示内存:
md.b 0x82000000 10
以长字格式显示内存:
md.l 0x82000000 5
交互式修改内存内容。
修改内存地址0x82000000处的值:
mm.w 0x82000000
然后按照提示输入新值。
用指定值填充内存区域。
用0x12345678填充内存区域:
mw.l 0x82000000 0x12345678 10
.b - 字节 (8位).w - 字 (16位).l - 长字 (32位)| 命令 | 功能 | 常用选项 |
|---|---|---|
| printenv | 显示环境变量 | [变量名] |
| setenv | 设置环境变量 | name value |
| saveenv | 保存环境变量 | 无 |
| bootm | 启动内核 | [addr] [initrd] [fdt] |
| tftp | 网络下载 | addr filename |
| mmc | MMC/SD卡操作 | read/write device addr blk# cnt |
| md | 显示内存 | .b/.w/.l addr [count] |
| mm | 修改内存 | .b/.w/.l addr |
| mw | 填充内存 | .b/.w/.l addr value [count] |