uboot命令

本文详细介绍了嵌入式系统中涉及内存操作、网络配置、文件系统管理和设备操作的一系列命令,如md、nm、mm、mw、cp、cmp、dhcp、nfs、tftp、mmcinfo、fatinfo等。这些命令对于开发和调试嵌入式系统至关重要,涵盖了从内存查看、网络设置到数据读写和文件系统管理等多个方面。

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

信息查询命令

=>bdinfo
=>printenv
=>version

内存操作命令

md 命令

md 命令用于显示内存值,格式如下:
md[.b, .w, .l] address [# of objects]
[.b .w .l]对应 byte、word 和 long,也就是分别以 1 个字节、2 个字节、4 个字节来显示内存值

查看以 0X80000000 开始的 20 个字节的内存值
md.b 80000000 14

nm 命令

nm 命令用于修改指定地址的内存值
nm [.b, .w, .l] address

在以.l 格式修改 0x80000000 地址的数据为 0x12345678。输入命令:
nm.l 80000000
?后面就可以输入要修改后的数据 0x12345678,输入完成以后按下回车,然后再输入‘q’即可退出

mm 命令

mm 命令也是修改指定地址内存值的,使用 mm 修改内存值的时候地址会自增,而使用命令 nm 的话地址不会自增

mw 命令

mw 用于使用一个指定的数据填充一段内存

mw [.b, .w, .l] address value [count]

在这里插入图片描述

cp 命令

cp 是数据拷贝命令,用于将 DRAM 中的数据从一段内存拷贝到另一段内存中,或者把 Nor Flash 中的数据拷贝到 DRAM 中

cp [.b, .w, .l] source target count

在这里插入图片描述

cmp 命令

cmp 是比较命令,用于比较两段内存的数据是否相等

cmp [.b, .w, .l] addr1 addr2 count

在这里插入图片描述

网络操作命令

setenv ipaddr 192.168.1.50
setenv ethaddr b8:ae:1d:01:00:00
setenv gatewayip 192.168.1.1
setenv netmask 255.255.255.0
setenv serverip 192.168.1.253
saveenv

dhcp 命令

dhcp 用于从路由器获取 IP 地址,前提得开发板连接到路由器上的,如果开发板是和电脑直连的,那么 dhcp 命令就会失效。直接输入 dhcp 命令即可通过路由器获取到 IP 地址,DHCP 不单单是获取 IP 地址,其还会通过 TFTP 来启动 linux 内核

nfs 命令

nfs [loadAddress] [[hostIPaddr:]bootfilename]
nfs 80800000 192.168.1.253:/home/zuozhongkai/linux/nfs/zImage

tftp 命令

tftpboot [loadAddress] [[hostIPaddr:]bootfilename]
tftp 80800000 zImage

EMMC 和 SD 卡操作命令

mmc info 命令

输出 MMC 设备信息

mmc rescan 命令

mmc rescan 命令用于扫描当前开发板上所有的 MMC 设备,包括 EMMC 和 SD 卡,输入“mmc rescan”即可。

mmc list 命令

mmc list 命令用于来查看当前开发板一共有几个 MMC 设备

mmc dev 命令

mmc dev 命令用于切换当前 MMC 设备

mmc dev [dev] [part]
[dev]用来设置要切换的 MMC 设备号,[part]是分区号。如果不写分区号的话默认为分区 0。

mmc dev 0 //切换到 SD 卡,0 为 SD 卡,1 为 eMMC

mmc part 命令

有时候 SD 卡或者 EMMC 会有多个分区,可以使用命令“mmc part”来查看其分区,比如查看 EMMC 的分区情况

mmc dev 1 //切换到 EMMC
mmc part //查看 EMMC 分区

mmc read 命令

mmc read 命令用于读取 mmc 设备的数据

mmc read addr blk# cnt

addr 是数据读取到 DRAM 中的地址,blk 是要读取的块起始地址(十六进制),一个块是 512字节,这里的块和扇区是一个意思,
在 MMC 设备中我们通常说扇区,cnt 是要读取的块数量(十六进制)。比如从 EMMC 的第 1536(0x600)个块开始,读取 16(0x10)个块的数据到 DRAM 的 0X80800000 地址处

mmc dev 1 0 //切换到 MMC 分区 0
mmc read 80800000 600 10 //读取数据

mmc write 命令

要将数据写到 MMC 设备里面,可以使用命令“mmc write”

mmc write addr blk# cnt

千万不要写 SD 卡或者 EMMC 的前两个块(扇区),里面保存着分区表!

mmc partconf 命令

mmc分区配置

mmc partconf dev boot_ack boot_partition partition_access

mmc partconf 1 1 0 0

mmc erase 命令

如果要擦除 MMC 设备的指定块就是用命令“mmc erase”

mmc erase blk# cnt

FAT 格式文件系统操作命令

fatinfo 命令

fatinfo 命令用于查询指定 MMC 设备分区的文件系统信息

fatinfo <interface> [<dev[:part]>]

interface 表示接口,比如 mmc,dev 是查询的设备号,part 是要查询的分区。比如我们要查询 EMMC 分区 1 的文件系统信息,命令如下:

fatinfo mmc 1:1

fatls 命令

fatls 命令用于查询 FAT 格式设备的目录和文件信息

fatls <interface> [<dev[:part]>] [directory]

interface 是要查询的接口,比如 mmc,dev 是要查询的设备号,part 是要查询的分区,directory是要查询的目录。比如查询 EMMC 分区 1 中的所有的目录和文件,输入命令:

fatls mmc 1:1

fstype 命令

fstype 用于查看 MMC 设备某个分区的文件系统格式,命令格式如下:

fstype <interface> <dev>:<part>

fatload 命令

fatload 命令用于将指定的文件读取到 DRAM 中,命令格式如下:

fatload <interface> [<dev[:part]> [<addr> [<filename> [bytes [pos]]]]]

fatload mmc 1:1 80800000 zImag

fatwrite 命令

fatwirte 命令用于将 DRAM 中的数据写入到 MMC 设备中,命令格式如下:

fatwrite <interface> <dev[:part]> <addr> <filename> <bytes>

fatwrite mmc 1:1 80800000 zImage 6788f8

EXT 格式文件系统操作命令

uboot 有 ext2 和 ext4 这两种格式的文件系统的操作命令,常用的就四个命令,分别为:ext2load、ext2ls、ext4load、ext4ls 和 ext4write。这些命令的含义和使用与 fatload、fatls 和 fatwrite一样,只是 ext2 和 ext4 都是针对 ext 文件系统的。

从emmc启动内核

setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw'

setenv bootcmd 'mmc dev 1; fatload mmc 1:1 80800000 zImage; fatload mmc 1:1 83000000 imx6ull-emmc.dtb; bootz 80800000 - 83000000;'

从网络启动内核

setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw'
setenv bootcmd 'tftp 80800000 zImage; tftp 83000000 imx6ull-emmc.dtb; bootz 
80800000 - 83000000'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

u.意思

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

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

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

打赏作者

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

抵扣说明:

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

余额充值