U-Boot 提供了丰富的命令集,用于系统配置、调试和引导。以下是一些常用 U-Boot 命令的详细解释:
1. 环境变量操作:
- printenv:显示所有环境变量
- setenv [name] [value]:设置环境变量
- saveenv:保存环境变量到永久存储
- env default -a:恢复所有环境变量为默认值
2. 内存操作:
- md [address] [count]:显示内存内容
- mm [address]:修改内存内容
- mw [address] [value] [count]:填充内存
- cp [src] [dst] [count]:复制内存内容
3. 引导相关:
- bootm [addr]:从内存启动内核
- bootz [addr]:启动 zImage 格式的内核
- boot:执行 bootcmd 环境变量中的命令
- bootd:执行默认的引导命令
4. 网络操作:
- ping [ip]:测试网络连接
- dhcp:从 DHCP 服务器获取 IP 地址
- tftp [addr] [filename]:通过 TFTP 下载文件
- nfs [addr] [serverip:][filename]:通过 NFS 挂载文件系统
5. 闪存操作:
- nand info:显示 NAND 闪存信息
- nand erase [offset] [size]:擦除 NAND 闪存
- nand write [addr] [offset] [size]:写入 NAND 闪存
- nand read [addr] [offset] [size]:读取 NAND 闪存
6. MMC/SD 卡操作:
- mmc info:显示 MMC/SD 卡信息
- mmc list:列出可用的 MMC 设备
- mmc dev [dev]:选择 MMC 设备
- mmc read [addr] [blk#] [cnt]:读取 MMC/SD 卡
- mmc write [addr] [blk#] [cnt]:写入 MMC/SD 卡
7. USB 操作:
- usb start:初始化 USB 控制器
- usb tree:显示 USB 设备树
- usb info [dev]:显示 USB 设备信息
- usb storage:扫描 USB 存储设备
8. 设备树操作:
- fdt addr [addr]:设置设备树在内存中的地址
- fdt list [path]:列出设备树节点
- fdt print [path]:打印设备树节点内容
- fdt set [path] [property] [value]:设置设备树属性
9. 系统信息:
- version:显示 U-Boot 版本信息
- bdinfo:显示板级信息
- coninfo:显示控制台信息
10. 硬件测试:
- test:运行内置的硬件测试
- mtest [start] [end] [pattern]:内存测试
11. 文件系统操作:
- fatls [dev]:[part]:列出 FAT 文件系统内容
- fatload [dev]:[part] [addr] [filename]:加载文件到内存
- ext2ls [dev]:[part]:列出 ext2/3/4 文件系统内容
- ext2load [dev]:[part] [addr] [filename]:从 ext2/3/4 加载文件
12. 脚本执行:
- run [script]:执行存储在环境变量中的脚本
- source [addr]:执行存储在内存中的脚本
13. 时间相关:
- date:显示或设置日期和时间
- sleep [seconds]:暂停执行指定的秒数
14. 杂项:
- reset:重启系统
- help [command]:显示帮助信息
- go [addr]:跳转到指定地址执行
15. 调试相关:
- bdinfo:显示板级信息
- imi [addr]:显示映像信息
- loop [address] [number]:执行循环测试
16. 网络引导:
- bootp:通过 BOOTP 协议引导
- rarpboot:通过 RARP 协议引导
17. 显示控制:
- cls:清屏
- echo [args...]:显示文本
18. CRC 校验:
- crc32 [addr] [len]:计算 CRC32 校验和
这些命令提供了强大的系统控制和调试能力。在使用时,请注意:
- 某些命令可能因硬件平台或 U-Boot 配置而不可用。
- 使用修改内存或存储的命令时要格外小心,以避免破坏系统。
- 可以使用 `help` 命令获取更多关于特定命令的信息。
- 命令通常是大小写敏感的。
掌握这些命令对于嵌入式系统的开发、调试和维护非常有帮助。