1、uboot配置编译

(1)X210移植过的uboot在开发板光盘B/linux/QT4.8BSP中,里面的内容就是这个开发板的所有相关的源代码、文档、教程等。

(2)B/linux/QT4.8BSPtar -jxvf qt_x210v3_160807.tar.bz2放在共享文件里面新建一个空文件(因为里面有离散的很多文件),在linux下复制到root下,如下所示:

[email protected]:~# cp /mnt/hgfs/linux/qt_x210v3s_160307.tar.bz2  ./x210_bsp(新建的文件夹)

不要在windows中的共享文件夹中解压开。(除非你的代码只在windows下去分析而不去编译)

 sd卡烧录uboot的过程sd卡烧录uboot的过程

(3)在下x210_bsptar -jxvf qt_x210v3_160807.tar.bz2(名字改了)得到下图

sd卡烧录uboot的过程

里面就有我们linux内核kernel,我们要对它进行编译(make)但是先要配置(与我们编译uboot一样,kernel也有类似下x210_sd_config.h的配置文件)所有我们要先makex210ii_qt_defconfig,再在kernelmake这个时候里面就有了vmlinuxzImage等如下

sd卡烧录uboot的过程

我们接着make uImage后,最后生成了uImage,如下图

sd卡烧录uboot的过程

注意:如果直接在kernel底下去make uImage会提供mkimage command not found。解决方案是去uboot/toolscp mkimage /usr/local/bin/,复制mkimage工具到系统目录下。再去make uImage即可。

配置过程:

1)首先cd进入uboot源码的根目录,然后在根目录下执行:make x210_sd_config。执行配置命令后,如果出现:Configuring for x210_sd board...

说明配置好了,如果不是这个是别的说明配置出错了。

(2)编译之前一定要注意检查arm-linux-gcc对不对,检查份2步:

第一步:检查当前编译环境中有没有安装合适的arm-linux-gcc。我们装的是arm-2009q3,因为这个是三星官方、九鼎官方开发uboot时使用的。

第二步:检查当前目录下(uboot根目录)的Makefile中编译器的设置是否正确。在工程的总Makefile中会设置交叉编译工具链的路径和名字,必须确保这个路径和名字和我们自己装的一致,否则编译会出错。

(3)确保了以上2点,即可进行编译。编译很简单,直接make即可。

sd卡烧录uboot的过程

所有我们开始安装的时候要将编译工具链安装在这个目录下

sd卡烧录uboot的过程

2、sd卡烧录uboot的过程

(1)uboot源代码进行完修改(修改内容根据自己的理解和分析来修改,参考我之前的博客)

(2)make distclean把上一次编译生成的文件删除,然后make x210_sd_config然后make

(3)编译完成得到u-boot.bin,然后去烧录。烧录方法按照裸机第三部分讲的linux下使用dd命令来烧写的方法来烧写。

(4)烧写过程:

第一步:进入sd_fusing目录下

    打开vi sd_fusing.sh  红线地方是需要改正的,因为我们自己写的makefile指定生成的镜像为u-boot.bin。而我们刚开始得来的sd_fusing,sh是被三星公司编译过的,他们之前用的uboot_inand.bin,sd_fusing2.sh,bl2_position不是49,而我们要烧录到49扇区

sd卡烧录uboot的过程 sd卡烧录uboot的过程sd卡烧录uboot的过程

第二步:make clean

第三步:make

第四步:插入sd卡,ls /dev/sd*得到SD卡在ubuntu中的设备号(一般是/dev/sdb,注意SD卡要连接到虚拟机ubuntu中,不要接到windows中)

第五步:./sd_fusing.sh /dev/sdb完成烧录(注意不是sd_fusing2.sh

相关文章: