U-boot 入门

来源:互联网 发布:avmo.pw最新域名 编辑:程序博客网 时间:2024/06/11 04:52

解压缩、配置、编译、下载 U-boot

将U-boot代码通过smb服务器拷贝到Linux虚拟机的指定位置,通过tar命令解压缩:
tar xvzf uboot_ok6410.tar.gz

如下图所示:
这里写图片描述

配置:输入 make forlinx_nand_ram256_config
将U-boot配置为烧写到OK6410开发板。

编译: 输入:make ARCH=arm CROSS_COMPILE=arm-linux-
u-boot开始i编译,大概持续2分钟的时间。

然后将 u-boot.bin 文件下载到ARM开发板上。
注意,启动时需要按下任意的按键。

U-boot 命令详解

尽管UBOOT提供了丰富的命令集,但不同的开发板所支持的命令却不一样(可配置)。

1、help 命令
可用于察看当前开发板所支持的命令。
如下图所示:
这里写图片描述
上图左侧是命令的名称,右侧是命令的作用描述

2、printenv 命令
查看环境变量,也可以缩写成“print”

如下图所示:
这里写图片描述

3、setenv 命令
添加、修改、删除环境变量。
用法:
setenv name value 添加/修改环境变量
- add/modify environment variable ‘name’ to ‘value‘
setenv name 删除环境变量
- delete environment variable ‘name’

4、saveenv 命令
保存环境变量,将当前定义的所有变量及其值存入flash
中。添加过的环境变量在断电后会消失,因为3中修改的是内存中的值,存入flash之后在断电之后才会继续保存。

5、tftp 命令
通过网络下载文件。
注意:使用tftp,需要先配置好网络。
setenv ipaddr 192.168.0.3
setenv serverip 192.168.0.2 (tftp服务器的地址)
ping 192.168.0.2(tftp服务器的地址)

范例:
tftp 0xc0008000 uImage 下载的位置, 下载的文件名字
把tftp服务器上的uImage下载到0xc0008000处。因为mmu已经打开,所以地址以c开头。
在linux虚拟机上执行相应命令搭建tftp服务器,相关命令在嵌入式linux初步类别的文章中讲过。

6、bootm 命令
bootm {addr} {arg} 程序的地址 执行该程序需要的参数
执行固定格式的2进制程序。bootm只能启动uImage内核,需要加信息头,因此称为固定格式。
范例:
#bootm 0xc0008000

7、内存操作命令
这里写图片描述

这里写图片描述

8、flash操作命令
这里写图片描述

这里写图片描述

9、设置自启动

这里写图片描述
设置了bootcmd环境变量,关闭电源。然后打开电源,启动开发板,开发板可以自动从flash下载内核,然后可以自动启动内核。

这里写图片描述
打开电源之后,自动从网络下载内核,启动内核。

注意格式:\; 为分隔符,前后都需要有空格。