ARM交叉编译工具链的制作

来源:互联网 发布:如何联系淘宝达人 编辑:程序博客网 时间:2024/05/22 08:00

        进行嵌入式开发首先要有交叉编译工具链,利用开源编译系统buildroot可以很方便的制作交叉编译工具链。有关buildroot已经有很多介绍,这里不再描述。下面详细描述工具链的制作过程已经如何使用它。

 首先,配置CPU,C库,GCC版本等。本人的开发版是GT2440,CPU是arm920t。

 cd /project/trunk/easylinux/buildroot/

 make O=build/easylinux menuconfig

 配置好后,开始编译,具体配置可参考后面给出的配置文件

 make O=build/easylinux   //O=为输出目录

 要编译好长时间,结束后,工具链放置在build/easylinux/host/usr中。

 我们可以把配置保存下来,方便以后使用。

 make O=build/easylinux savedefconfig   //在configs目录下即可发现defconfig文件

 mv defconfig  easylinux_tools_defconfig   //更名为工具链制作配置文件

 配置如下:

BR2_arm=yBR2_arm920t=yBR2_TOOLCHAIN_BUILDROOT_VENDOR="easylinux"BR2_TOOLCHAIN_BUILDROOT_INET_IPV6=yBR2_TOOLCHAIN_BUILDROOT_INET_RPC=yBR2_TOOLCHAIN_BUILDROOT_WCHAR=yBR2_PTHREAD_DEBUG=yBR2_TOOLCHAIN_BUILDROOT_CXX=yBR2_TARGET_GENERIC_HOSTNAME="easylinux"BR2_TARGET_GENERIC_ISSUE="Welcome to easylinux"
 读者拷贝easylinux_tools_defconfig文件到buildroot 的configs目录下,

make O=build_dir easylinux_tools_defconfig

make O=build_dir

 即可编译出arm920t的交叉编译工具。

  我们希望只编译一次工具链,以后直接使用就可以了。可以把交叉编译工具拷贝到buildroot/ext目录下

mkdir ext

cd /project/trunk/easylinux/buildroot/build/easylinux/host

cp -arf usr /project/trunk/easylinux/buildroot/ext

修改配置文件,使其指向这里。首先拷贝一份配置文件,这个文件我们用来编译开发板代码。

mv  easylinux_tools_defconfig  gt2440_defconfig

打入配置

make O=build/gt2440 gt2440_defconfig 

修改工具链为外部工具链,路径指向ext/usr/

make O=buid/gt2440 menuconfig

保存配置

make O=build/gt2440 savedefconfig  //这意如果使用了make <board>_defconfig命令,这时会保存到这个文件中,而不是defconfig

BR2_arm=yBR2_arm920t=yBR2_TOOLCHAIN_EXTERNAL=yBR2_TOOLCHAIN_EXTERNAL_CUSTOM=yBR2_TOOLCHAIN_EXTERNAL_PATH="$(TOPDIR)/ext/usr"BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18=yBR2_TOOLCHAIN_EXTERNAL_INET_IPV6=yBR2_TOOLCHAIN_EXTERNAL_WCHAR=yBR2_TOOLCHAIN_EXTERNAL_INET_RPC=yBR2_TOOLCHAIN_EXTERNAL_CXX=yBR2_TARGET_GENERIC_HOSTNAME="easylinux"BR2_TARGET_GENERIC_ISSUE="Welcome to easylinux"
这时我们已经可以在buildroot中编译我们的代码了,如果需要在buildroot外部编译代码,需要把交叉编译工具相关路径加入环境变量中,具体可参见http://blog.csdn.net/huangbin0709/article/details/51931347

0 0
原创粉丝点击