安装交叉编译环境和编译U-BOOT

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

安装交叉编译环境和编译U-BOOT

新手第一次安装编译,按照LINUX书籍介绍的步骤和网上的帖子,一步步做,最后都失败。对我们新手来说找原因很困难,最后将网上搜到的帖子进行汇总,发现有些帖子或书籍没有把步骤写全,最后我按自己的步骤把搜集的资料整理一下和大家分享。

最初在Cygwin下调试,毕竟初学对Linux环境不熟悉,结果不能安装交叉编译环境,即使是用超级用户root也不成功。不得不安装个虚拟机进行试验。按书籍手工制作交叉编译环境也失败,原因到是编译glibc这步失败,找不到原因以后再试,只有先下个编译好的交叉编译环境用。

所用工具:

cross-3.0.tar.bz2

u-boot-1.1.6

环境:Fedora-13-i386 虚拟机7.1

Cross-3.0安装步骤:

一、首先将虚拟机共享文件夹功能开启。方法是关机,在VM菜单里面选择安装VMware tools 然后进入系统,cd /mnt/cdrom进入到光驱的目录下,使用ls可以看到这两个文件。VMwareTools-5.5.0-18463.i368.rpm

和VMwareTools-5.5.0-18463.tar.gz

第1步:cp VMwareTools-5.5.0-18463.tar.gz /tmp,把这个文件拷贝到tmp下

第2步:cd /tmp进入临时目录,ls 查看刚才的文件是否在这个目录下。

第3步:tar zxvf VMwareTools-5.5.0-18463.tar.gz 解压这个文件

第4步:使用第二步命令,进入tmp目录下的vmware-tools-distrib目录

第5步:./vmware-install.pl 执行这个文件,出现提示就回车。安装结束后重启

最后:打开VMware->工具栏—>虚拟机->选择设置->选项共享文件夹

点添加,按提示来添加一个windows下的文件夹。在/mnt/hgfs下就是你在windows 下共享的文件夹了。

二、在WINDOWS下将下载的cross-3.0.tar.bz2拷贝到共享目录。

三、在fedoral下输入su命令更换到root用户,如果不知道密码可用sudo passwd root 设置新密码。在linux的/usr/local目录下建立一个arm文件夹(因为cross-3.0.tar.bz2里面没有arm这个目录要自己建),将cross-3.0.tar.bz2解压到usr/local/arm/下,解压出来后应该在/usr/local/arm/3.0/下有arm-linux、bin等目录。

四、进入/usr/local/arm/3.0/bin目录下,用chmod 755修改所有文件。 ////////有的帖子没有这步

五、在fedoral下用vi /etc/profile;在出现pathmunge 的语句段后添加pathmunge /usr/local/arm/3.0/bin;(要在一行)然后source /etc/profile更新一下就可以用arm-linux-gcc进行编译了。测试是否可用:输入arm-linux-gcc -v,出现版本信息说明工具已经安装成功了,否则会提示bash: arm-linux-gcc: command not found 。可以建个hello.c文档,用arm-linux-gcc -o hello hello.c验证下是否编译成功。到这步就完成了交叉工具的安装。

u-boot移植的具体步骤:

一建立适合的board平台

参照board/smdk2410目录,我们在源码的board下建立自己的平台mini2440,步骤如下.

1 修改顶层Makefile

cd /root/build_uboot/u-boot

vi Makefile

找到:

smdk2410_config : unconfig

@./mkconfig $(@:_config=) arm arm920t smdk2410 NULL s3c24x0

在其后面添加:

mini2440_config : unconfig

@./mkconfig $(@:_config=) arm arm920t mini2440 NULL s3c24x0

各项的意思如下:

arm: CPU的架构(ARCH)

arm920t: CPU的类型(CPU),其对应于cpu/arm920t子目录。

mini2440: 开发板的型号(BOARD),对应于board/mini2440目录。

NULL: 开发者/或经销商(vender)。

s3c24x0: 片上系统(SOC)。

我把我的板子起名叫mini2440,可以依自己的喜好修改

2 建立board/mini2440目录,拷贝board/mini2440下的文件到board/mini2440目录,将smdk2410.c更名为mini2440.c ////////有的帖子没有这步

cp -r board/smdk2410 board/mini2440

3 修改board/mini2440/Makefile

将:

COBJS := smdk2410.o flash.o

改为:

COBJS := mini2440.o flash.o

4 cp include/configs/smdk2410.h include/configs/mini2440.h

5 修改cpu/arm920t/config.mk文件 ////////有的帖子没有这步将:

PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)

改为:

PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,$(call

cc-option,-mabi=apcs-gnu),)

6 测试编译能否成功:利用上面建好的交叉编译环境

相关文档
最新文档