zoukankan      html  css  js  c++  java
  • 2016.4.5 关于交叉编译工具链的使用及makefile的编写

    1、常用的交叉编译工具使用实例:

    现有文件:源文件led.S及连接器脚本文件led.lds

    i、arm-linux-gcc -g -c led.S -o led.o

    -g选项告诉编译器添加调试用的信息。

    -c告诉编译器只编译生成.o文件为止

    ii、arm-linux-ld -Tled.lds -o led.elf led.o

    -Tled.lds:链接器脚本文件选项

    iii、arm-linux-readelf  -a led.elf

         arm-linux-readelf  -d led.elf

    -a:显示出全部信息

    -d:dynamically linked libs查看库

    iv、arm-linux-objdump -D -S led >dump

    将反汇编之后的文件保存在一个名为dump的文件中,建议在反汇编之前的编译时生成调试信息,即加入-g选项。

    v、arm-linux-objcopy -O binary led.elf led.bin

    将生成的。elf文件转换成.bin文件,因为只有二进制文件才能在我们的目标机上运行。

    2、上述一整套流程,可以用以个makefile来写:

    eg:

    led.bin:led.elf

    [TAB] arm-linux-objcopy -O binary led.elf led.bin

    led.elf:led.o led.lds

    [TAB]arm-linux-ld -Tled.lds -o led.elf led.o

    led.o:led.S

    [TAB]arm-linux-gcc -g -c led.S -o led.o

    clean:

    [TAB]rm led.bin led.elf led.o

    一定要注意格式,命令前面不能用空格,用的是换行TAB键。

  • 相关阅读:
    JZ-C-01
    C/C++学习笔记
    15、排序:选择类排序和归并排序
    玩转Spring——Spring事务
    玩转Spring——Spring整合JDBC
    玩转Spring——Spring AOP
    玩转Spring——Spring IOC/DI
    Java算法——递归思想
    Java排序算法——堆排序
    Java排序算法——归并排序
  • 原文地址:https://www.cnblogs.com/wan0807/p/5355812.html
Copyright © 2011-2022 走看看