配置uboot参数
setenv ipaddr 192.168.0.10;setenv serverip 192.168.0.40;setenv gatewayip 192.168.0.1;setenv netmask 255.255.255.0
setenv bootargs 'mem=512M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=yaffs2 rw init=/init mtdparts=hinand:1M(boot),4M(kernel),64M(rootfs),64M(appfs),64M(datafs),59M(backup)'
setenv bootcmd 'nand read 0x42000000 0x100000 0x400000;bootm 0x42000000'
setenv slave_autostart 0
sa
配置好了tftp服务器的ip地址192.168.0.40,uboot自身的ip为192168.0.10
windows上配置好文件夹位置和服务器IP
uboot中的环境变量:
bootdelay:执行自动启动的等候秒数
baudrate:串口控制台的波特率
netmask: 以太网接口的掩码
ethaddr: 以太网卡的网卡物理地址
bootfile: 缺省的下载文件
bootargs:传递给内核的启动参数
bootcmd:自动启动时执行的命令
serverip: 服务器端的ip地址
ipaddr: 本地ip 地址
stdin: 标准输入设备
stdout: 标准输出设备
stderr: 标准出错设备
内存操作指令
tftp操作指令
tftp命令解析
tftp 42000000 uImage_hi3536
这就是通过tftp将uImage_hi3536在服务器下载到板子的地址为42000000位置的内存
md指令
uboot下输入指令md,会提示md的用法,memory display,即内存显示。
U-Boot-PetaLinux> md
md - memory display
Usage:
md [.b, .w, .l] address [# of objects]
分为三种类型
b:8位
w:16位
l:32位(默认值)
例子:
其他两种md.w和md.l同md.b用法相同,第三个参数一定是16进制
上述42000000是要显示内存的那个地址,后面的数字4000000是输出的个数,注意是16进制的。
直接输入md来显示,默认是以32位为单位输出 。
mw指令
uboot下输入指令mw,会提示md的用法,memory write,即向内存中写入数据。
U-Boot-PetaLinux> mw
mw - memory write