热搜词
发表于 2021-9-25 07:13:59 | 显示全部楼层 |阅读模式
uboot 其实就是个轻量版的Linux,今天我们一起来看一下uboot中的常用命令。
      讲uboot常用命令之前,我们先来引入一下bootloader的概念,那什么是bootloader呢?简单来说,bootloader就是一小段程序,一小段引导程序,从系统上电就开始执行,初始化硬件并准备软件环境,最终调用系统内核,这个就是bootloader。而我们说的uboot就包含在bootloader概念里面,是bootloader的一个子集。
      了解了这个概念之后,我们进到开发板的uboot模式下,也就是uboot的控制界面,我们在这里可以运行很多命令。用各种命令时,只要命令开头的若干个字母来代替他,比如fastboot,可以使用fas来代替,只要其他命令不以这些命令开头即可。
下面介绍常用的命令:
<1>帮助命令help、?
我们可以使用help或者?查看uboot里面支持的所有命令,也可以查看一些命令的具体作用。
比如我们直接使用?来查看uboot所支持的命令和命令的作用。如下图 所示:

输入?echo 查看uboot里面echo命令的具体作用,如下图所示:

<2>printenv
printenv的作用是打印当前变量的值,我们在uboot模式下输入printenv,也可以简写成pri,如下图所示:

既然讲到这里了,我们顺便说一下uboot的常见环境变量。

<3>串口下载命令
uboot支持串口下载,我们可以使用loady,loadx来配合超级终端或者其他的软件来使用。比如我们可以使用loady  0x4001000通过串口把文件传输到开发板的0x40001000这个地址。如下所示:

<4>bootm
  bootm命令可以启动内核,我们可以先从fat设备中读取内核到相应的位置,然后直接使用bootm [addr]来启动内核。假如我们的内核已经被读到了地40008000的地方,我们可以直接使用bootm来启动内核。如下图所示:

<5>ping命令
我们可以使用ping命令来查看网络是否正常联通,命令格式:ping  IP
如果网络正常则打印:192.168.2.11 is alive
如果网络不正常则打印:192.168.2.11 is not alive

<6> fatinfo命令
我们可以这个这个命令来查看我们的fat设备,比如查看sd卡的信息。
命令格式:fatinfo  <interface> <dev[:part]>
查看TF卡的信息,如下图所示:

<7>fatload命令
从相应的fat设备中读取文件,命令格式:fatload <interface> <dev[:part]> <addr> <filename> [bytes]
把zImage文件读取到板子的0x40008000的地方,并配合上文中的bootm命令启动内核。如下图所示:

<8>内存操作命令
使用md命令打印内存的值。
命令格式:mw [.b, .w, .l] address
其中.b.w.l表示以字节,字,双字为单位进行操作。
从0x40000000,以4个字节为准,从低位开始打印2个,如下图所示:

使用cp命令复制数据。
命令格式:cp[.b, .w, .l] source target count其中.b.w.l表示以字节,字,双字为单位进行操作。
从开始地址0x40000000复制一个字节到0x40000001处,如下图所示:

使用mw往内存写入数据。
命令格式:mw [.b, .w, .l] address value [count]其中.b.w.l表示以字节,字,双字为单位进行操作。
写1个字节FF到地址0x40000000处,如下图所示:

<9>setenv
setenv命令可以新增或者删除环境变量。
新增一个环境变量,名字叫做xunwei,值为dianzi

<10>saveenv
saveenv保存环境变量,当我们修改完环境变量都要用saveenv保存,否则不会生效。
命令格式:saveenv 环境变量
<11>reset
重启开发板
<12>version
打印uboot的版本。


2、env/printenv :都是打印当系统环境变量; fw_printenv/fw_setenv(自己也可定义): 可以打印出在uboot中设置的环境变量的值。
usb 功能:
usb start: 起动usb 功能
usb info: 列出设备
usb scan: 扫描usb storage(u 盘)设备

3、cat、vi、vim 基本也都可以用



全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-12-23 03:55 , Processed in 0.172482 second(s), 22 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team