Ubuntu驱动程序开发2-Uboot命令使用

Posted mike2019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu驱动程序开发2-Uboot命令使用相关的知识,希望对你有一定的参考价值。

3、Uboot命令使用

3.1 帮助命令

help  //查看所有命令
?    //查看所有命令
help bootz  //查看bootz命令说明
? bootz    //查看bootz命令说明

3.2 信息查询

bdinfo    //查看板子信息

技术图片

printenv    //输出环境变量信息
printfenv baudrate    //打印指定环境变量(波特率)信息

3.3 环境变量操作

3.3.1 设置环境变量:

setenv 命令 值
setenv 命令 ‘值1 值2 值3‘

3.3.2 保存环境变量:

saveenv

3.4 网络操作

首先需要设置一下环境变量:

setenv ipaddr 192.168.1.50  //设置开发板IP地址。也可以不设置,使用dhcp命令从路由器获取IP地址
setenv ethaddr 00:04:9f:04:d2:35  //开发板MAC地址
setenv gatewayip 192.168.1.1  //网关
setenv netmask 255.255.255.0  //子网掩码
setenv serverip 192.168.1.250  //Ubuntu主机IP
saveenv  //保存

设置好后执行

ping 192.168.1250

出现下图所示说明ping成功

技术图片

3.4.1 nfs

nfs [loadAddress] {[hostIPaddr:]bootfilename}
nfs 80800000 192.168.1.250:/home/mk-linux/nfs/zImage  //将IP192.168.1.250这个主机下的/home/mk-linux/nfs路径下的zImage文件下载到开发板DRAM的0x80800000地址处

3.4.2 tftp

a)搭建tftp服务器
sudo apt-get install tftp-hpa tftpd-hpa
b)新建一个文件夹用于存放要发送的文件
mkdir /home/mk-linux/tftpboot
chmod 777 /home/mk-linux/tftpboot
c)新建文件/etc/xinet.d/tftp,输入以下内容:
server tftp
{
 socket_type = dgram
 protocol = udp
 wait = yes
 user = root
 server = /usr/sbin/in.tftpd
 server_args = -s /home/mk-lunx/tftpboot/
 disable = no
 per_source = 11
 cps = 100 2
 flags = IPv4
}
d)启动tftp服务
sudo service tftpd-hpa start
e)修改/etc/default/tftpd-hpa文件
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/mk-linux/tftpboot"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l -c -s"
f)重启tftp服务
sudo service tftpd-hpa restart
g)将zImage文件复制到tftpboot文件夹并给予权限
chmod 777 zImage
h)使用
tftp 80800000 zImage

3.5 内存操作命令

3.6 EMMC和SD卡操作命令

3.7 BOOT操作命令

3.7.1 bootz命令

  bootz用于启动zImage镜像文件

bootz [addr [initrd[:size]] [fdt]]
//addr:linux镜像文件在DRAM中的地址
//initrd:是initrd文件在DRAM中的地址,如果不使用可以用‘-‘代替
//fdt:设备树在DRAM中的地址

  一个完整的下载并启动linux内核的指令如下:

tftp 80800000 zImage    //下载内核镜像到DRAM地址80800000
tftp 83000000 imx6ull-mk-emmc.dtb  //下载设备树
bootz 80800000 - 83000000  //启动内核

3.7.2 bootm命令

  bootm用于启动uImage镜像文件

bootm addr

3.7.3 boot命令

  使用boot命令会读取环境变量bootcmd来启动linux系统,如果想使用tftp命令从网络启动Linux就可以设置bootcmd如下:

setenv bootcmd tftp 80800000 zImage; tftp 83000000 imx6ull-alientek-emmc.dtb; bootz 80800000 - 83000000
saveenv

  然后直接运行boot命令就可以从网络启动Linux系统

boot  //根据环境变量bootcmd启动Linux系统

4、Uboot移植

以上是关于Ubuntu驱动程序开发2-Uboot命令使用的主要内容,如果未能解决你的问题,请参考以下文章

uboot的作用和功能?

全志Tina Linux 系统裁剪 boot0裁剪 uboot裁剪 内核裁剪 文件系统裁剪 C库裁剪 文件系统压缩

全志Tina Linux 系统裁剪 boot0裁剪 uboot裁剪 内核裁剪 文件系统裁剪 C库裁剪 文件系统压缩

全志Tina Linux 系统裁剪 boot0裁剪 uboot裁剪 内核裁剪 文件系统裁剪 C库裁剪 文件系统压缩

Tina_Linux_系统裁剪_开发指南

uboot前传