目录
1.什么是uboot
是一个大型逻辑程序,用来启动linux内核
2.uboot常用命令
2.1信息查询命令
1.printenv
查看当前板子环境变量
printenv
2.bdinfo
查看板子信息
bdinfo
2.2环境变量操作命令
1.setenv
设置/删除环境变量
setenv author 'ljs'//生成新的环境变量author且等于ljs
setenv bootdelay 6//设置旧环境变量bootdelay为6
2.saveenv
保存环境变量
saveenv
3.help
帮助命令
help mmc//查看mmc的用法
//也可以用 ? 代替 help
? help
2.3内存操作命令
1.md
显示内存值
md.b 80000000 1//1字节
md.w 80000000 1//2字节
md.l 80000000 1//3字节
2.nm
修改内存值
nm.b 80000000
nm.w 80000000
nm.l 80000000
按q退出
3.mm
修改内存地址(地址会根据类型进行递增)
mm.b 80000000
mm.w 80000000
mm.l 80000000
4.mw
指定一段数填充内存
mw.b 80000000 12345678 10
mw.w 80000000 12345678 10
mw.l 80000000 12345678 10//填充0x10*4=64字节
5.cp
复制一段内存值到另外一段内存
cp.b 80000000 80000100 10
cp.w 80000000 80000100 10
cp.l 80000000 80000100 10//复制80000000 中0x10*10=64字节数据到80000100中
6.cmp
比较两段内存中值是否相等
cmp.b 80000000 80000100 10
cmp.w 80000000 80000100 10
cmp.l 80000000 80000100 10//比较80000000 中64字节数据和80000100是否一样
2.4网络操作命令
1.ping
找到Ubuntu中的ip地址(注意要桥接),然后ping ip地址
ping 192.168.1.66
2.dhcp
通过该命令可以获取ip地址
dhcp
3.nfs
通过网络来共享资源,例如通过nfs可以把ubuntu中的文件烧写到开发板(注意:这里开始的ip地址是虚拟机ip)
nfs 80800000 192.168.1.66:/home/ljs/linux/nfs/zImage
4.tftp
和nfs类似,也是一种共享资源,却别在于不用每次都设置虚拟机ip,而是通过设置服务器(虚拟机)ip之后,可以一直使用
tftp 80800000 zImage
2.5emmc和sd卡操作命令
1.info
显示当前设备信息
mmc info
2.read
读取mmc设备的数据
mmc read 80800000 600 10
读取80800000位置从第600块扇区开始读取10个块的数据
3.write
把数据写到mmc
mmc write 80800000 2 32E
从第2个扇区开始写入
4.rescan
查看当前开发板所有设备
mmc rescan
5.part
查看设备分区情况
mmc part
6.dev
切换设备
mmc dev 0
切换到 0设备
mmc dev 0 0
切换到0设备的0分区
7.list
显示有哪些设备
mmc list
2.6EAT格式文件系统操作命令
1.fatinfo
查看某个分区文件系统信息
fatinfo mmc 1:1
2.fatls
查看某个分区的目录喝文件信息
fatls mmc 1:1
3.fstype
查看某个分区的文件系统格式
fstype mmc 1:0
4.fatload
将指定文件读取到DRAM中
fatload mmc 1:1 80800000 zImage
2.7EXT格式文件系统操作命令
1.ext2load ext4load
将ext2或者ext4类型文件进行指定烧写
2.ext2ls ext4ls
显示ext2或者ext4类型文件
ext2ls mmc 1:2
2.8boot操作命令
1.bootz
用于启动镜像文件和设备树(需要先把镜像和设备数烧到对应位置)
bootz 80800000 - 83000000
2.boot
把bootz的命令简化为bootcmd,然后只需要运行boot就行。
etenv bootcmd 'tftp 80800000 zImage; tftp 83000000 imx6ull-14x14-emmc-7-1024x600-c.dtb;
bootz 80800000 - 83000000'
saveenv
boot
2.9其他命令
1.reset
复位开发板
reset
2.go
跳到指定位置运行(需提前在指定位置下载好程序)
tftp 87800000 printf.bin
go 87800000
3.run
对于烧写镜像可以设置多种方式
etenv mybootemmc 'fatload mmc 1:1 80800000 zImage; fatload mmc 1:1 83000000 imx6ull14x14-emmc-7-1024x600-c.dtb;bootz 80800000 - 83000000'
setenv mybootnand 'nand read 80800000 4000000 800000;nand read 83000000 6000000
100000;bootz 80800000 - 83000000'
setenv mybootnet 'tftp 80800000 zImage; tftp 83000000imx6ull-14x14-emmc-7-1024x600-c.dtb;
bootz 80800000 - 83000000'
4.mtest
对一段内存进行读写测试
mtest 80000000 80001000