linaro:Open source software for ARM

本文介绍了如何在Linux系统上为ARM目标平台使用交叉编译工具链,包括手动和使用crosstool脚本创建交叉编译环境。重点讨论了编译binutils、GCC(C和C++编译器)以及glibc库的过程。Linaro与开源社区合作,为ARM V7A架构提供优化的工具链软件,特别是针对Samsung Exynos 4210开发板的软件源码支持。
摘要由CSDN通过智能技术生成

 一、嵌入式系统采用交叉编译的方式在本机编译目标系统的可执行软件,在这个过程中需要使用交叉编译工具链,包括交叉编译的编译器、连接器、目标库等。如果在ARM目标板运行Linux系统,因为Linux内核代码使用GCC编译器,为此GNU提供了GCC编译器针对ARM目标平台的支持。由于GCC开源的特点,用户可以手动编译生成符合自己需要的ARM GCC编译器等。如Linux平台ARM的交叉编译器是arm-linux-gcc。

手工编译交叉编译工具链需要编译用到的库和源代码,如Linux内核代码(linux-2.6.18.tar.bz2)、glibc库(glibc-2.3.2.tar.bz2)、工具程序(binutils-2.15.tar.bz2)、内核线程包(glibc-linuxthreads-2.3.2.tar.gz)、编译器(gcc-3.3.6.tar.gz)。

编译工具链还可以通过编译工具链的脚本crosstool建立交叉编译环境,通过指定不同的参数,crosstool脚本建立指定版本的GCC编译器和glibc程序库,还可以直接下载已经编译好的工具链,由于linux内核与GCC编译器存在依赖关系,选择目标平台Linux内核版本后,可以参考内核版本说明对GCC编译器的最低要求选择GCC编译器版本。

 

二、建立Linux内核头文件

交叉编译器需要通过内核头文件获取目标平台的系统函数调用信息,需要通过对其脚本配置生成目标平台的头文件。

 

三、编译安装binutils

Binutils是交叉编译工具链中的工具包,包括连接器、汇编器和用于目标文件和档案的工具,针对二进制代码的维护。

 

四、编译安装GCC的C编译器

建立arm-linux-gcc交叉编

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值