U-Boot常用命令

本文详细介绍了U-Boot中常用的各种命令,包括信息查询、环境变量操作、内存操作、网络操作、EMMC和SD卡操作、EXT4格式文件系统操作以及BOOT启动命令等。通过这些命令,用户可以对开发板进行各种配置和调试,如查看开发板信息、设置和保存环境变量、读写内存、通过网络下载文件、挂载存储设备、启动Linux内核等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

U-Boot常用命令

一、信息查询命令

1. 查看开发板信息 [ bdinfo ]

在这里插入图片描述

2. 查看环境变量信息 [ printenv ]

在这里插入图片描述
STM32MP1 系列的环境变量有很多,比如baudrate、board、board_name、boot_device、bootcmd、bootdelay 等等。uboot 中的环境变量都是字符串,既然叫做环境变量,那么它的作用就和“变量”一样。比如 bootdelay 这个环境变量就表示 uboot 启动延时时间,默认 bootdelay=1,也就默认延时 1 秒。前面说的 1 秒倒计时就是由 bootdelay 定义的,如果将 bootdelay 改为 5 的话就会倒计时 5s 了。

3. 查看U-Boot版本号 [ version ]

在这里插入图片描述

二、环境变量操作命令

环境变量的操作涉及到两个命令:setenv 和 saveenv,setenv 命令用于设置或者修改环境变量的值。命令 saveenv 用于保存修改后的环境变量,一般环境变量存放在外部 flash 中,uboot 启动的时候会将环境变量从 flash 读取到 DRAM 中。所以使用命令 setenv 修改的是 DRAM中的环境变量值,修改以后要使用 saveenv 命令将修改后的环境变量保存到 flash 中,否则uboot 下一次重启会继续使用以前的环境变量值。

1. 修改环境变量 [ setenv ]

  1. 设置环境变量
    将环境变量 bootdelay 改为 5
    setenv bootdelay 5

  2. 修改环境变量
    新建一个环境变量author,并赋值
    setenv author 'console=ttySTM0,11520 root=/dev/mmcblk2p2 rootwait rw '

  3. 删除环境变量
    给这个环境变量赋空值即可(下例删除上面新建的环境变量author)
    setenv author

2. 保存环境变量 [ saveenv ]

直接调用 saveenv即可将修改后的环境变量保存到 flash 中

三、内存操作命令

内存操作命令就是用于直接对 DRAM 进行读写操作的,常用的内存操作命令有 md、nm、mm、mw、cp 和 cmp。

注意:uboot 命令中的数字都是十六进制的!不是十进制的!

1. 显示内存值命令 [ md ]

用于显示对应地址的内存值
格式:md[.b, .w, .l] address [# of objects]
命令中的[.b .w .l]对应 byte、word 和 long
address就是要查看的内存起始地址
[# of objects]表示要查看的数据长度。
(数据长度单位不是字节,与所选择的显示格式有关。)

例如:
查看0XC0100000 开始的 20 个字节的内存值,显示格式为.b
md.b C0100000 14
20(十进制) = 0x14(十六进制)

2. 修改指定地址的内存值命令 [ nm ]

用于修改指定地址的内存值
格式:nm [.b, .w, .l] address
命令参数含义同上

例如:
以.l 格式修改 0XC0100000 地址的数据为 0x12345678
先输入 nm.l C0100000 命令得到如下响应
在这里插入图片描述
ea0000b8 表示地址 0xc0100000 现在的数据
‘?’ 后面就可以输入要修改后的数据 0x12345678,输入完成以后按下回车,然
后再输入‘q’即可退出
在这里插入图片描述

3. 自增-修改指定地址的内存值命令 [ mm ]

用法同nm命令,但修改完成后地址会自增,从而对下一个地址进行修改,直到输入q退出命令。
在这里插入图片描述

4. 使用一个指定的数据填充一段内存命令 [ mw ]

使用一个指定的数据填充一段内存
格式:mw [.b, .w, .l] address value [count]
address 表示要填充的内存起始地址,value 为要填充的数据,count 是填充的长度。

例如:
使用.l 格式将以 0XC0100000 为起始地址的 0x10 个内存块(0x10 * 4=64 字节)填充为 0X0A0A0A0A
mw.l C0100000 0A0A0A0A 10

5. 数据拷贝命令 [ cp ]

用于将 DRAM 中的数据从一段内存拷贝到另一段内存中,或者把
NorFlash 中的数据拷贝到 DRAM 中。
格式:cp [.b, .w, .l] source target count
source 为源地址,target 为目的地址,count 为拷贝的长度。

例如:
使用.l 格式将 0xC0100000 处的地址拷贝到 0xC0100100 处,长度为 0x10 个内存块(0x10 * 4=64 个字节)
cp.l c0100000 c0100100 10

5. 比较

=> help ? - alias for 'help' autoscr - run script from memory base - print or set address offset bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation dhcp - invoke DHCP client to obtain IP/boot params echo - echo args to console erase - erase FLASH memory flinfo - print FLASH memory information go - start application at address 'addr' help - print online help iminfo - print header information for application image imls - list all images found in flash itest - return true/false on integer compare loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) printenv - print environment variables protect - enable or disable FLASH write protection rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol version - print monitor version
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦星越

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值