设为首页 加入收藏

TOP

从0移植uboot(三) _编译最小可用uboot
2017-03-01 08:15:34 】 浏览:371
Tags:移植 uboot 编译 最小 可用

前两篇介绍了uboot-2013.01的配置原理以及大体的运行流程,本文将讨论如何对uboot源码进行配置,将一个可用的uboot烧录到SD卡中。


市面上能买到的开发板的核心板基本都是基于官方参考板制作的,所以虽然标准操作是"定制"自己的core board,但鉴于我的板子的核心板是基于三星的参考板做的,所以我们做的主要工作就是按照(一)中的原理,编写(山寨)我们"自己的"核心板配置。我们需要的目录是"board/samsung/origen/",这部分的主要功能就是将其中的文件"改名字"。首先来认识一下原版以示尊重


接下来就开始我们的山寨工作


uboot的编译系统和内核的类似,所以Makefile也得改(./board/samsung/xboot/Makefile)
from


to


用于配置整个板子的头文件也不能放过


from


to


最后,别忘了我在上文提到的boards.cfg文件,如果这里面不动手脚,我们的板子是不会被Makefile找到的,So,


和之前一样,至此,我们就可以先编译一下过过手瘾(顺便检查一下配置^-^),


上面是编译的小脚本,下面是编译的输出。


按照(一)中介绍的,此时已经可以"make xboot_config;make -8"并得到uboot.bin,但此时这个uboot.bin是不能直接烧录的。但无论如何,请暂且记住它的大小:176568byte。接下来,我们需要对uboot.bin进行一系列处理使它能够在exynos4412上运行,这其中要用到下面的几个命令或三星提供的工具软件,这些操作的目的就是根据三星的芯片的启动要求对uboot.bin 进行一些处理,包括在特定长度的位置加上和校验信息以及插入一些文件段。


我们可以使用脚本一次性完成上面的工作。


至此,我们就得到了一个能使用的镜像xboot.bin,这个xboot.bin的大小:527104byte!然后我们就可以使用另外的一些工具烧录到SD卡,注意如果你的开发主机对直接读取SD卡的支持不是很好的话,可以使用读卡器,不论是虚拟机还是Linux主机,对USB设备的支持还是让人满意的,烧录很简单,我们只需要执行下下面的"./sd_fusing_exynos4x12.sh /dev/your_SD_device u-boot-xboot.bin"即可,这个脚本是三星公司提供的,就是将镜像烧录到SD卡中,下面是我用的,贴出来供参考。


将启动模式调整到从SD卡启动,uboot就可以跑起来了。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇从0移植uboot (二) _启动流程分析 下一篇Java基础进阶:使用JavaMail发送..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目