信息查询命令
=>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 命令
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'