uboot学习(一)常用命令

1:uboot中的网络操作;
设置开发板环境变量,确保开发板IP地址与电脑IP地址在同一个网段,可以用ping命令来验证网络是否连
setenv ipaddr 192.168.2.222
setenv ethaddr 00:04:9f:04:d2:35
setenv gatewayip 192.168.2.1
setenv netmask 255.255.255.0
setenv serverip 192.168.2.220
saveenv
2:NFS命令:
通过NFS下载内核在板子DRAM的 0X80800000地址处
nfs 80800000 192.168.1.250:/home/wangxiao/linux/nfs/zImage
3:TFTP命令
服务器。因此需要在 Ubuntu上搭建 TFTP服务器 服务器 , 需要安装 需要安装 tftp-hpa和 tftpd-hpa
sudo apt-get install tftp-hpa tftpd-hpa
mkdir /home/zuozhongkai/linux/tftpboot
chmod 777 /home/zuozhongkai/linux/tftpboot
最后配置 tftp,打开文件 安装完成以后新建/etc/xinetd.d/tftp,然后在里面输入如下内容:
4.MMC命令
mmc dev命令用于切换当前 MMC设备,命令格式:mmc dev [dev] [part];
eg: mmc dev 0 //切换到 SD卡, 0为 SD卡, 1为 eMMC
mmc part 来查看其分区,比如 ”来查看其分区,
在这里插入图片描述
从图 30.4.5.6中可以看出,此时 EMMC有两个分区 ,20480~1024000为第一个分区, 扇区 1228800~6504448为第二个分区。
一般第0分区存放uboot,第一分区存放内核镜像与设备树,第二分区存放根文件系统,图中只有两个分区,是因为第0分区没有被 格式化所以,识别不出来,但是第0分区是存在的。一个新的SD卡默认只有一个分区,Linux移植内核与文件系统的时候需要将SD卡进行格式化分区。
eg: mmc dev 1 2 切换到MMC的第二分区
要将数据写到MMC设备里面,可以使用命令mmc write,
mmc write addr blk# cnt
addr是要写入 MMC中的数据在DRAM的起始位置,blk是要写入MMC的块起始地址(16进制),cnt要写入的数据的块数,
5.更新在SD中启动的uboot版本
使用 tftp命令将其下载到 0x80800000地址处,命令如下: tftp 80800000 u-boot.imx
切换到SD卡的第0分区,命令如下:mmc dev 0 0
可以看出, u-boot.imx大小为 416768字节,416768/512=814,一共814(0x32E)个块,命令如下:mmc write 80800000 2 32E
千万不要写 SD卡或者 EMMC的前两个块 (扇区 ),里面保存着分区表!
6. .更新在EMMC中启动的uboot版本
使用 tftp命令将其下载到 0x80800000地址处,命令如下: tftp 80800000 u-boot.imx
切换到EMMC的第0分区,命令如下:mmc dev 1 0
可以看出, u-boot.imx大小为 416768字节,416768/512=814,一共814(0x32E)个块,命令如下:mmc write 80800000 2 32E
千万不要写 SD卡或者 EMMC的前两个块 (扇区 ),里面保存着分区表!
7.FAT格式文件系统操作命令
1)fatinfo命令用于查询指定MMC设置指定分区的文件系统信息,格式如下:fatinfo [<dev[:part]>]
比如查看MMC分区1的文件系统信息,命令如下:fatinfo mmc 1:1
2) fatlsfatls命令用于查询 FAT 格式设备的目录和文件信息,命令如下: fatls [<dev[:part]>] [directory]
比如查询EMMC分区 1中的所有目录和文件,输入命令: fatls mmc 1:1
3) fatload命令用于将指定的文件读取到 DRAM中,命令格式如下: fatload [<dev[:part]> [ [ [bytes [pos]]]]]
比如将EMMC分区 1中的 zImage文件读取到DRAM中的 0X80800000地址处,命令如下:fatload mmc 1:1 80800000 zImage
4)fatwirte命令用于将将 DRAM中的数据写入到MMC设备中,命令格式如下: fatwrite <dev[:part]>
比如使用fatwirte命令将内核镜像写入到 EMMC的 分区 1中,命令如下: fatwrite mmc 1:1 80800000 zImage 0x5c2720
比如使用fatwirte命令将设备树文件写入到 EMMC的 分区 1中,命令如下: fatwrite mmc 1:1 83000000 zImage 0x5c2720
8.boot命令是用来启动Linux系统的,只是 boot会读取环境变量来启动 Linux系统
1)比如我们要想使用 tftp命令从网络中启动 Linux系统,命令如下:
setenv bootcmd ‘tftp 80800000 zImage; tftp 83000000 imx6ull-wx-emmc.dtb; bootz 80800000 - 83000000’
saveenv
boot
2)比如我们要EMMC中启动 Linux系统,命令如下:
setenv bootcmd ‘fatload mmc 1:1 80800000 zImage; fatload mmc 1:1 83000000 imx6ull_wx_emmc.dtb; bootz 80800000 - 83000000’
saveenv
boot
9.run命令最大的作用在于运行我们自定义环境变量。
比如定义mybootemmc表示从 emmc启动;定义mybootnand表示从nand启动;定义mybootnet表示从net启动;
setenv mybootemmc ‘fatload mmc 1:1 80800000 zImage; fatload mmc 1:1 83000000 imx6ull-alientek-emmc.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 83000000 imx6ull-alientek-emmc.dtb; bootz 80800000 - 83000000’ saveenv
创建环境变量成功以后就可以使用run来实现不同的启动了。
run mybootemmc 或 run mytoobnand 或 run mybootnet
10.从EMMC中启动文件系统
setenv bootargs ‘console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw’
11.通过NFS启动文件系统
setenv bootargs ‘console=ttymxc0,115200 root=/dev/nfs rw nfsroot=192.168.2.220: /home/wx/linux/nfs/rootfs ip=192.168.1.251:192.168.1.250:192.168.1.1:255.255.255.0::eth0: off’

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值