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下的命令详解:
Uboot的命令是很丰富的,是在开发阶段实现的。现在我们是使用,所以没有涉及到如何增加命令的知识,我们只管用就好了。
我们可以使用help来查看所支持的命令:
上面可以看到uboot支持的命令是很丰富的。前面是命令,后面是解释命令。
现在我们执行setenv Myboard OK6410去增加一个环境变量:
看到,我们的环境变量添加成功了。至于修改,跟增加一样的。例如我们可以setenv Myboard 6410.这样就修改了Myboard的值了。
最后是删除环境变量:命令:setenv Myboard。后面不要跟参数,就会删除掉该环境变量。
我们前面的操作的结果是保存在内存的,一断电就会消失,如果想要重启后还能保留,必须使用saveenv命令,将在内存的环境变量保存到我们的flash里面去。开发板上电回去flash里面读取环境变量。
首先是设置开发板和主机虚拟机的ip地址:
Saveenv保存之后,记得重启,才能够ping通:
从上面的显示知道已经ping通的。
接着使用tftp来下载我们的uImage:
执行了上面的命令之后,我们的内核就启动起来了:
我们可以看到上面就是我们熟悉的linux的目录了。
设置自启动linux内核:
然后重启:
Tftp的配置文件:/etc/xinetd.d/tftp:
Server_args是tftp服务器文件夹。
Tftp的设置:重启服务:
所谓固定格式的2进制程序是指系统的类型,例如wince等。
如果你不想修改了,就空格回车,就会退出了的。
下面就是执行的效果。
下面通过tftp传入linux内核,再把它写入:
上面,我们写入了一个linux内核,现在我们来把它读出来,如果读得出来,就是写入成功了。进行验证。
下面是读的操作:
因为前面是烧写一个内核,现在已经读到内存当中。现在检验能不能启动它。Bootm c0008000
可以看到我们可以去启动它,说明前面的操作是正确的。
最后介绍一个小技巧:
原文:http://www.cnblogs.com/FORFISH/p/5188426.html