嵌入式Linux系统之uboot中常用命令
uboot 其实就是个轻量版的Linux,今天我们一起来看一下uboot中的常用命令。讲uboot常用命令之前,我们先来引入一下bootloader的概念,那什么是bootloader呢?简单来说,bootloader就是一小段程序,一小段引导程序,从系统上电就开始执行,初始化硬件并准备软件环境,最终调用系统内核,这个就是bootloader。而我们说的uboot就包含在bootloader概念里面,是bootloader的一个子集。
了解了这个概念之后,我们进到开发板的uboot模式下,也就是uboot的控制界面,我们在这里可以运行很多命令。用各种命令时,只要命令开头的若干个字母来代替他,比如fastboot,可以使用fas来代替,只要其他命令不以这些命令开头即可。
下面介绍常用的命令:
<1>帮助命令help、?
我们可以使用help或者?查看uboot里面支持的所有命令,也可以查看一些命令的具体作用。
比如我们直接使用?来查看uboot所支持的命令和命令的作用。如下图 所示:
http://www.eechina.com/data/attachment/forum/201912/23/141957pg9tg6hxgjg6bwdz.jpg
输入?echo 查看uboot里面echo命令的具体作用,如下图所示:
http://www.eechina.com/data/attachment/forum/201912/23/141958vh3owzfqrcevch4w.jpg
<2>printenv
printenv的作用是打印当前变量的值,我们在uboot模式下输入printenv,也可以简写成pri,如下图所示:
http://www.eechina.com/data/attachment/forum/201912/23/141958wzs1ixtux8zwcttt.jpg
既然讲到这里了,我们顺便说一下uboot的常见环境变量。
http://www.eechina.com/data/attachment/forum/201912/23/1419584a2b9fg2dydy5yyg.jpg
<3>串口下载命令
uboot支持串口下载,我们可以使用loady,loadx来配合超级终端或者其他的软件来使用。比如我们可以使用loady0x4001000通过串口把文件传输到开发板的0x40001000这个地址。如下所示:
http://www.eechina.com/data/attachment/forum/201912/23/141958u00gbbuu3qr415zr.jpg
<4>bootm
bootm命令可以启动内核,我们可以先从fat设备中读取内核到相应的位置,然后直接使用bootm 来启动内核。假如我们的内核已经被读到了地40008000的地方,我们可以直接使用bootm来启动内核。如下图所示:
http://www.eechina.com/data/attachment/forum/201912/23/141958nc04wj4arufnc100.jpg
<5>ping命令
我们可以使用ping命令来查看网络是否正常联通,命令格式:pingIP
如果网络正常则打印:192.168.2.11 is alive
如果网络不正常则打印:192.168.2.11 is not alive
http://www.eechina.com/data/attachment/forum/201912/23/141958ljklfli99g9iv5gg.jpg
<6> fatinfo命令
我们可以这个这个命令来查看我们的fat设备,比如查看sd卡的信息。
命令格式:fatinfo<interface> <dev[:part]>
查看TF卡的信息,如下图所示:
<7>fatload命令
从相应的fat设备中读取文件,命令格式:fatload <interface> <dev[:part]> <addr> <filename>
把zImage文件读取到板子的0x40008000的地方,并配合上文中的bootm命令启动内核。如下图所示:
http://www.eechina.com/data/attachment/forum/201912/23/141958wxb452dx05r94s0s.jpg
<8>内存操作命令
使用md命令打印内存的值。
命令格式:mw [.b, .w, .l] address
其中.b.w.l表示以字节,字,双字为单位进行操作。
从0x40000000,以4个字节为准,从低位开始打印2个,如下图所示:
http://www.eechina.com/data/attachment/forum/201912/23/141958aaqwh7n7dofe6qef.jpg
使用cp命令复制数据。
命令格式:cp[.b, .w, .l] source target count其中.b.w.l表示以字节,字,双字为单位进行操作。
从开始地址0x40000000复制一个字节到0x40000001处,如下图所示:
http://www.eechina.com/data/attachment/forum/201912/23/1419588y9tcf8lu8y9g6uf.jpg
使用mw往内存写入数据。
命令格式:mw [.b, .w, .l] address value 其中.b.w.l表示以字节,字,双字为单位进行操作。
写1个字节FF到地址0x40000000处,如下图所示:
http://www.eechina.com/data/attachment/forum/201912/23/1419587ou5pqp79of2igls.jpg
<9>setenv
setenv命令可以新增或者删除环境变量。
新增一个环境变量,名字叫做xunwei,值为dianzi
http://www.eechina.com/data/attachment/forum/201912/23/141959dnv113qwv3b3pq0d.jpg
<10>saveenv
saveenv保存环境变量,当我们修改完环境变量都要用saveenv保存,否则不会生效。
命令格式:saveenv 环境变量
<11>reset
重启开发板
<12>version
打印uboot的版本。
http://www.eechina.com/data/attachment/forum/201912/23/141959hn6juwnyfk6w5jhl.jpg
2、env/printenv :都是打印当系统环境变量; fw_printenv/fw_setenv(自己也可定义): 可以打印出在uboot中设置的环境变量的值。
usb 功能:
usb start: 起动usb 功能
usb info: 列出设备
usb scan: 扫描usb storage(u 盘)设备
3、cat、vi、vim 基本也都可以用
页:
[1]