uboot命令简介

uboot命令简介

1、printenv/print 打印环境变量

输入 print

x210 # print
mtdpart=80000 400000 3000000
baudrate=115200 // 波特率
ethaddr=00:40:5c:26:0a:5b // 开发板的本地网卡的MAC地址
bootargs=console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3
bootcmd=movi read kernel 30008000; bootm 30008000 // 内核启动地址
netmask=255.255.255.0 // 子网掩码
serverip=192.168.1.40 // tftp服务器的ip地址,这里是我虚拟机的ip
bootdelay=5 // 进入uboot命令行的倒计时
ipaddr=192.168.1.10 // 开发板的ip地址
gatewayip=192.168.1.1 // 开发板的本地网关地址,用来上外网时使用的

Environment size: 304/16380 bytes

2、setenv/set 修改环境变量

新建:set var value 更改:set var value

删除:set var

输入 set ipaddr 192.168.1.10

这样的修改只是临时的保存,下次开机仍然是修改之前的IP地址。

3、save 保存修改的环境变量

永久保存修改后的环境变量,save之后,下次开机才会是修改后的环境变量。环境变量是批量整体向nand保存的,修改一个环境变量,save的时候会将所有的环境变量都重新保存一遍。

4、fastboot下载uboot、zImage、根文件系统的相关命令

win主机:cmd界面打开D盘,输入dir查看应用。然后使用fastboot device查看连接状态。

开发板:uboot命令行输入fdisk -c 0 重新分区。然后输入fastboot查看到分区,并且等待下载

win主机:fastboot flash bootloader xxxxx
fastboot flash kernel xxxxx
fastboot flash system xxxxx

​ 下载完之后,在win的cmd使用 fastboot reboot 重新启动开发板

5、ping 测试网络连接

输入 ping 192.168.1.30 // ping通window主机

x210 # ping 192.168.1.30
dm9000 i/o: 0x88000300, id: 0x90000a46
DM9000: running in 16 bit mode
MAC: 00:40:5c:26:0a:5b
operating at 100M full duplex mode
host 192.168.1.30 is alive // ping通的标志

6、tftp下载内核镜像

输入 tftp 0x30008000 zImage // 将内核镜像下载到0x30008000

x210 # tftp 0x30008000 zImage
dm9000 i/o: 0x88000300, id: 0x90000a46
DM9000: running in 16 bit mode
MAC: 00:40:5c:26:0a:5b
operating at 100M full duplex mode
TFTP from server 192.168.1.40; our IP address is 192.168.1.10
Filename ‘zImage’.
Load address: 0x30008000
Loading: #################################################################
#################################################################
##########################################################transmission timeout
##############################################################
done
Bytes transferred = 3665268 (0x37ed74)

// transmission timeout表示下载过程中有异常中断,但是它可以自己恢复,接续着中断前的下载。

7、bootm、go 启动内核

输入 bootm 0x30008000 // 从0x30008000启动内核

输入 go 0x30008000 // 不给内核传参

注:go命令还能用来启动裸机程序,向内存DDR中下载uboot,然后烧录进裸机程序到某一地址,然后使用go命令来启动它。

8、nfs 加载根文件系统

uboot也支持nfs命令,需要再虚拟机中搭建nfs服务器

9、reset 重启uboot

输入 reset // 重启uboot

10、 movi操作SD卡/EMMC/iNand

movi是一个命令集,有很多子命令

x210 # help movi
movi init - Initialize moviNAND and show card info
movi read {u-boot | kernel} {addr} - Read data from sd/mmc
movi write {fwbl1 | u-boot | kernel} {addr} - Write data to sd/mmc // fwbl0固件的iROM fwbl1前16k
movi read rootfs {addr} [bytes(hex)] - Read rootfs data from sd/mmc by size
movi write rootfs {addr} [bytes(hex)] - Write rootfs data to sd/mmc by size
movi read {sector#} {bytes(hex)} {addr} - instead of this, you can use “mmc read” // {sector#},iNand的扇区
movi write {sector#} {bytes(hex)} {addr} - instead of this, you can use “mmc write”

举例 movi read {u-boot | kernel} {addr} - Read data from sd/mmc

​ movi read 必须命令

​ {u-boot | kernel} 二选一参数

​ {addr} 必须参数 addr是DDR中地址

​ [bytes(hex)] 可选参数

输入 movi read u-boot 0x30000000

​ // 从iNand中读,把iNand中的u-boot分区读出到DDR的0x30000000其实的位置处。 这里的0x30000000可以直接写成30000000,意思是一样的。uboot的命令行中所有数字都是被默认当作十六进制处理,不管你加不加0x都是一样的。

11、mm、mw、md内存操作命令

(1)md // memory display,显示内存中的内容

(2)mw // memory write,将内容写到内存中

(3)mm // memory modify,

输入 help md 查看用法

md [.b, .w, .l] address [# of objects] .b以字节为单位显示 .w以2字节为单位显示 .l以4字节为单位显示 # of objects显示多少字节,输入的数字是16进制数,比如10就是显示16字节

md.w 0x30000000 10 // 显示16个字节

12、bdinfo查看开发板情况

bdinfo

SMDKV210 # bdinfo
arch_number = 0x00000000
env_t = 0x00000000
boot_params = 0x00000000
DRAM bank = 0x00000000
-> start = 0x00000000
-> size = 0x00000000
DRAM bank = 0x00000001
-> start = 0x00000000
-> size = 0x00000000
ethaddr = 00:40:5C:26:0A:5B
ip_addr = 192.168.0.20
baudrate = 115200 bps

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值