arm-linux-gcc交叉编译工具链的制作及使用

1、交叉编译的四个过程:

预处理:arm-linux-gcc -E;完成头文件和宏定义的替换,生成.i文件。

汇编:arm-linux-gcc -S;生成汇编代码,即 .s文件。

编译:arm-linux-gcc -c ;生成ELF二进制文件。

链接:arm-linux-gcc   ;链接相关的库文件生成最终的可执行文件。

2、binutils工具:

arm-linux-strip:瘦身工具,删除不需要的编译符号和描述信息;

例如:arm-linux-strip test;

arm-linux-objcopy:将生成的二进制文件(.ELF)转化为只含有二进制指令和程序数据的.bin文件。

例如:arm-linux-objcopy -O binary -S test test.bin

arm-linux-dumb:反编译,将二进制文件反汇编成汇编文件。

例如:arm-linux-dumb -D test > test.dis 便于代码的查看与运行。

arm-linux-eadelf  :获取ELF文件的头信息;

例如:arm-linux-readelf -atest;

3、通过crosstool制作交叉编译工具链

    1、准备Crosstool源代码和补丁文件,然后用patch打补丁

#sudo apt-get install flex bison  // 安装语法解析器

#sudo apt-get install patch    //安装打补丁工具

#tar -xzvf crosstool包;

#cp 补丁文件 Crosstool/patch/glibc

#patch

   2、准备相关的源代码文件

      gcc   glibc  binutils linux内核 glibc-linuxthreads linux-libc-headers 等包文件

  3、修改Crosstool脚本:

     1、gcc版本的修改:

     2、修改Crosstool文件夹中的demo-arm-softfloat.sh脚本、arm-softfloat.dat、all.sh脚本

     3、编译安装:

a、在/usr/local目录下创建arm文件夹:mkdir /usr/local/arm

b、进入Crosstool目录并执行:cd crosstool    ./damo-arm-softfloat.sh   (1小时左右,耐心等待)

c、配置环境变量。     


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值