QT210,U-Boot移植(1)

从http://go.mentor.com/2a8qf下载最新版的Sourcery CodeBench Lite Edition for ARM GNU/Linux:CodeBench Lite 2012.03-57

下载Recommended Packages里面的IA32 GNU/Linux Installer版本。

我使用的系统是Ubuntu 12.04,64位。

下载完成后,使用终端,进入到文件所在目录,终端执行:

 chmod u+x arm-2012.03-56-arm-none-eabi.bin
赋予文件可执行权限,然后执行程序进行安装,命令如下:
./arm-2012.03-56-arm-none-eabi.bin

按照提示,先一步一步按<ENTER>阅读授权……等出现是否同意条款的时候,按Y回车,同意,然后选择安装方式,如下:

===============================================================================
Choose Install Set
------------------

Please choose the Install Set to be installed by this installer.

  ->1- Typical
    2- Minimal

    3- Customize...

ENTER THE NUMBER FOR THE INSTALL SET, OR PRESS <ENTER> TO ACCEPT THE DEFAULT
   : 
为了不再做过多的操作,我选择1,典型。
接着选择安装目录,咱直接回车,安装到所用用户home目录的CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI目录下面。

接着问是否创建快捷方式,选择4,不创建。

接着是提示产品名称(所安装的软件)、安装目录、链接目录、磁盘空间信息,按回车继续。

回车……终于开始安装了。

再回车……安装完成!

现在需要记下下面这个目录,以后会用到:

/home/[user]/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bin/
上面的[user]根据各人装系统时填的名称不一样而不一样,以后上面这个目录将称为:编译器可执行文件目录。

下载最新版U-Boot,暂时是u-boot-2012.07.tar.bz2。我是放到home目录的qt210目录下面,然后解压,使用:

tar -xf u-boot-2012.07.tar.bz2
解压,在终端进入到u-boot-2012.07目录,查看README……

在u-boot-2012.07目录下面的Makefile的167行后面加上上面所提到的编译器可执行文件目录,最后结果如下:

CROSS_COMPILE ?= /home/[user]/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bin/arm-none-linux-gnueabi-

(2012-9-12注:上面这一行的修改是错误的,Makefile文件里面是:

ifeq ($(HOSTARCH),$(ARCH))
CROSS_COMPILE ?= 
endif
意思是假如主机架构和目标架构相同,则对CROSS_COMPILE赋值。如果像直接修改,不仅仅是在后面加上编译器的目录,而且要删掉前面的ifeq一行和后面的endif一行。)

(注:README上貌似不推荐这么做,README上推荐下面这种做法:

$ CROSS_COMPILE=/home/[user]/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bin/arm-none-linux-gnueabi-
$ export CROSS_COMPILE
但是这种的话,每次编译U-Boot前,都需要手动输入一次,优点是不用修改U-Boot原文件,保证原文件的可移植性。)
在u-boot-2012.07/include/configs/目录找到s5pc210_universal.h文件了,不晓得和s5pv210有什么关系……
应该可能大概就是这个文件吧……先试试了……

咱先把这个文件复制一份,命名为qt210.h用着试试先……

我们能够在u-boot-2012.07目录下面的boards.cfg文件的第250行(怎么刚好是第250行啊……)找到如下的一行:

s5pc210_universal            arm         armv7       universal_c210      samsung        exynos
复制它!粘贴到下面一行,修改为:
qt210            arm         armv7       universal_c210      samsung        exynos
就只修改了第一个字符串而已,后面的arm armv7 exynos都对应着相应的文件,瞄了下文件……像我这样做的改动这么少,我觉得很可能最后编译的东西是不能运行的……

不过也没指望第一次旧能够正常运行,第一次编译是需要了解需要修改哪些位置,做的改动越少,编译期间出问题的概率也就越小。

因为这里用的编译器貌似和U-Boot里面使用的编译器不宜样,所以将u-boot-2012.07/arch/arm/目录下面的config.mk文件里面的:

CROSS_COMPILE ?= arm-linux-
改为:
CROSS_COMPILE ?= CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bin/arm-none-linux-gnueabi-

终端执行一下命令配置U-Boot:

make qt210_config
编译U-Boot:
make all

成功后,可以在u-boot的目录下面看到u-boot.bin文件。

你可能感兴趣的:(QT210,U-Boot移植(1))