gcc arm linux c,arm-linux-gcc

--------------------------------------------------------------------------------------------------------------

linux下的开发

下载地址:

http://www.codesourcery.com/gnu_toolchains/arm/download.html

http://ftp.denx.de/pub/eldk/4.2/arm-linux-x86/distribution/

安装arm-linux-gcc一、解压arm-linux-gcc到/opt中

二、在~/.bashrc中设置环境变量并更新

export  PATH=$PATH:/opt/。。。/bin

$source .bashrc

三、查看版本

$arm-linux-gcc -v

对于64位机器需要安装32位的依赖库:

glib*.i686

zlib*.i686

GNU ARM开发工具的使用

1.编译器arm-linux-gcc

Arm-linux-gcc    -v                             :查看版本信息

Arm-linux-gcc    -E    xxx.c    -oxxx.i    :只做预处理,生成.i文件(E大写)

Arm-linux-gcc   -c    xxx.c                 :只做编译,生成.o文件

Arm-linux-gcc    -S    xxx.c                   :只做汇编,生成.s文件(S大写)

Arm-linux-gcc      xxx.c      :预处理,编译,汇编,链接,生成a.out文件

Arm-linux-gcc      xxx.c    -oxxx     :预,编,汇,链,生成xxx文件

Arm-linux-gcc-Wall    xxx.c              :生成尽可能多的警告信息(W大写)

makefile:

%.o : %.S

arm-linux-gcc   -o   $@   $

%.o : %.c

arm-linux-gcc   -o   $@   $

将所有的.S文件和.c文件编译成.o文件

2.连接器arm-linux-ld

用于连接目标文件和系统库中的函数代码(目标代码)

arm-linux-ld  libfile1   libfile2   -lc    -o  file.elf     file.o

将两个库文件和目标文件连接生成可执行elf文件。

makefile:XXX.bin:XXX.o...

arm-linux-ld  -Ttext   0xXXX  –o  XXX.elf   $^

-Ttext   address     #表示程序的运行地址

3.文件格式转换arm-linux-objcopy

将生成的.elf文件或者.o文件转换成二进制文件。

arm-linux-objcopy   -O   binary    file.elf     file.bin      (O大写)

makefile:

arm-linux-objcopy   –O   binary   XXX.elf   XXX.bin

4.反汇编arm-linux-objdump

将elf格式的可执行文件反汇编成汇编代码文件

arm-linux-objdump   -D     file.elf     >file.asm         (S大写)

makefile:

arm-linux-objdump   -D   XXX.elf   >   XXX_elf.dis    #调试程序时可能会用到

5.汇编器arm-linux-as

将汇编源文件汇编成目标文件

arm-linux-as     hello.S    -o   hello.o

6.elf格式文件查看arm-linux-readelf

查看elf格式的文件的信息

arm-linux-readelf  -a   file.elf

arm-linux-readelf  -a  file.elf  |  grep  Share   (S大写)

7.静态库管理arm-linux-ar

可以将产生的.o目标文件添加到库中,也可查看库中的目标文件。

Arm-linux-ar  rc   file.a    file.o       将file.o生成file.a库文件

8.符号表生成指令arm-linux-nm

arm-linux-nm     file.elf    >sym

生成elf文件中的符号,重定向到sym中

9.去掉elf文件中不需要的信息和代码arm-linux-strip

去掉文件中不使用的信息,减小目标文件体积

arm-linux-strip     file.elf

10.列出目标文件大小arm-linux-size

arm-linux-size

------------------------------------------------------

其他工具

hexdump  -C  file.bin     查看二进制文件

-------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值