您的位置:首页 > 其它

从零开始的uboot的移植4

2017-08-01 21:34 176 查看
从零开始的uboot的移植4

学习朱友鹏视频总结

1、uboot的配置的过程1:

(1)在makefile的过程中创建了一个mkconfig脚本文件,接下来我们需要分析这个文件的作用:

mkconfig文件是根目录下面传进来6个参数,这6个参数是我们要配置的过程需要用来匹配

目录用的,绝对不能写错。

(2)BOARD_NAME就是$1,X210_sd这个变量。第23行,其实就是看BOARD_NAME这个变量,

如果本身有初始值的话,那么就保持原来的模样,如果本身没有值得话,那么就直接把参数1

给它赋值上。

(3)25行到26行,主要的分析就是如果传进去的参数小于4或者大于6的话那么就返回1,

就是错误,所以mkconfig配置脚本的传入参数只能是4到6个。

(4)创建一些符号链接文件33行到118行;

     我们为什么要创建符号链接;整个配置过程的核心,这些符号链接文件的存在就是整个配置过程的

核心,这些符号链接文件(文件夹)的主要的作用给我们的头文件包含等过程提供一个指向性的连接。

根本目的是让我们的uboot具有可移植,

Uboot的一个可移植性的原理,有很多彼此平行的代码,各自属于各自不同的架构,

或者是CPU和开发板,总之就是属于各自的架构。我们在需要的时候具体到一个开发板编译时

用这种符号链接的方式提供一个具体的文件夹供我们编译时这样就可以在配置的过程中通过不同的配置

使用不同的文件,这样就是正确的使用正确的文件。

2、创建了哪些比较重要的链接文件:

(1)在我们的include的目录下创建asm文件,指向asm-arm

在第53到57行

(2)在我们的include/asm-arm下创建一个arch文件,指向include/asm-arm/arch-s5pc110

第83行到86行

(3)如果$3等于我们的第三个传参的参数,include目录下面创建一个s5pc110.h转换为regs.h。Regs.h--》s5pc110.h指向了。

(4)删除第二个符号链接,然后创建第四个符号链接。Arch--》arch-s5pc11x

(5)在include/asm-arm下创建一个proc文件:Proc--》proc-arm

总结:一共创建了4个符号链接:

这4个符号链接在将来写代码的过程中,头文件包含时非常有用,比如一个头文件包含可能是:#include <asm/xx.h>

3、配置过程2

(1)Mkconfig文件配置脚本:

第123行到129行:

给我们的make创建合适的头文件。Config,mk文件。这里面的代码不是源代码产生的,是配置的时候产生的。


(2)创建这个include/config.mk为了主makefile在第133行里面包含的。你把这两节的内容放在一起分析就可以比较清楚的了解到这里的内容。

(3)Uboot的配置和编译过程的配合,编译的时候需要ARCH=arm/

CPU=xx等这些变量来指导编译,配置的时候就是为了编辑阶段提供这些变量,为什么不在makefile中直接定义这些变量

去使用,用mkconfig脚本来创建config.mk文件在makefile中引入这些文件编译。

主要是改链接文件,这就是对我们的开发板进行移植,完全可以根据你自己的实际情况去改那里。

尽量的少改makefile。

(4)理解这些脚本的时候要时刻注意自己当前所处的路径。

Make -a

 Makefile文件第134行到141行

(5)默认是创建config.h这个文件是自动生成的,不要改这里面的东西。包含我们的配置的头文件。

(6)这个文件里面的内容就是包含我们的configs/x210_sd.h

这个头文件是我们移植X210开发板时,对开发板的宏定义的配置文件这个文件时我们移植X210最主要

的文件。这些宏定义将来就配置成autoconfig.mk文件这个文件会被我们的主makefile,指导整个编译过程,

这里面的这些宏定义会影响我们对uboot的中大部分.c 文件中的一些条件编译的选择。从而实现最终的可移植性。

Uboot的整个配置过程中,很多文件是有关联的,所有的文件盒全局变量都是字符串形式的

(不是指我们C语言字符串的概念序列),uboot的配置过程都是字符串匹配的。

(未完)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息