3.3.Uboot的使用

3.3.Uboot的使用

 

解压uboot的压缩包得到uboot的工程文件uboot,进入uboot,打开Makefile文件,搜索自己的开发板的类型。我的是OK6410 256的。

然后执行配置文件:

接着执行一下的命令进行编译:

 

 

 

编译完成的截图:

完成之后,我们会在我们的uboot的目录看待生成uboot.bin文件,这就是要烧写到开发板的映像文件。

烧写uboot.bin 到OK6410开发板

首先烧写我们的辅助安装程序mmc_256.bin到SD卡。设置开发板从SD卡启动。在启动的瞬间按住空格进入选择菜单。

 

首先是选择1,格式化我们的Nand flash。

 

接着选3,Burn image from USB.

接着选择1,我们现在烧写的是uboot:

由于我的usb驱动有点问题,改成SD烧写:

烧写完成,设置开发板从nand flash启动,重启开发板:

如上面的显示,我们的uboot可以工作了。Uboot通常会有上面的选择菜单。但是,我们现在是要看uboot下的命令。所以选择的是6,进入命令行:

接下来就是uboot下的命令详解:

2.u-boot命令详解

 

2.1帮助命令:

Uboot的命令是很丰富的,是在开发阶段实现的。现在我们是使用,所以没有涉及到如何增加命令的知识,我们只管用就好了。

我们可以使用help来查看所支持的命令:

上面可以看到uboot支持的命令是很丰富的。前面是命令,后面是解释命令。

2.2查看环境变量:

环境变量的设置:

现在我们执行setenv Myboard OK6410去增加一个环境变量:

看到,我们的环境变量添加成功了。至于修改,跟增加一样的。例如我们可以setenv Myboard 6410.这样就修改了Myboard的值了。

最后是删除环境变量:命令:setenv Myboard。后面不要跟参数,就会删除掉该环境变量。

2.3变量的保存:

我们前面的操作的结果是保存在内存的,一断电就会消失,如果想要重启后还能保留,必须使用saveenv命令,将在内存的环境变量保存到我们的flash里面去。开发板上电回去flash里面读取环境变量。

2.4文件的下载;

 

首先是设置开发板和主机虚拟机的ip地址:

Saveenv保存之后,记得重启,才能够ping通:

从上面的显示知道已经ping通的。

接着使用tftp来下载我们的uImage:

2.4执行程序:

执行了上面的命令之后,我们的内核就启动起来了:

我们可以看到上面就是我们熟悉的linux的目录了。

设置自启动linux内核:

然后重启:

Tftp的配置文件:/etc/xinetd.d/tftp:

Server_args是tftp服务器文件夹。

Tftp的设置:重启服务:

 

所谓固定格式的2进制程序是指系统的类型,例如wince等。

2.5.查看内存内容:

 

 

 

2.6.修改内存内容。

 

 

 

 

 

如果你不想修改了,就空格回车,就会退出了的。

2.7.擦除nand flash的内容。

 

 

下面就是执行的效果。

 

2.8.写、读nand flash。

下面通过tftp传入linux内核,再把它写入:

 

上面,我们写入了一个linux内核,现在我们来把它读出来,如果读得出来,就是写入成功了。进行验证。

下面是读的操作:

因为前面是烧写一个内核,现在已经读到内存当中。现在检验能不能启动它。Bootm c0008000

 

可以看到我们可以去启动它,说明前面的操作是正确的。

 

 

最后设置自启动:

  1. 是出厂的产品,实现的自启动的命令。记得设置完后要saveenv,再重启。
  2. 是我们在调试内核的时候的命令。记得设置完后要saveenv,再重启。
原文地址:https://www.cnblogs.com/FORFISH/p/4204189.html