objcopy使用说明

objcopy用于将object的部分获全部内容拷贝到另一个object,从而可以实现格式的变换。

objcopy可用用于将文件转换成S-record格式或者raw二进制格式。

例如,

         xxxx-elf-objcopy –O srec test.o test.s19

则将test.o转换成s-record文件中。通常涉及到text段。

         xxxx-elf-objcopy –O binary test.o test.bin

则将test.o转换成raw binary文件格式。

       当将object文件转换成raw binary格式时,通常将去除掉symbols和relocation信息。在生成s-record过程中,有时需要用选项“-S”,“-R”去除掉binary文件,s-record文件不需要的相应信息。

此外,还需要注意到使用objcopy不能够改变大、小endian。

 

选项
 Desc
 
infile/outfile
 源文件/目标文件
 
-I bfdname

--input-target=bfdname
 输入文件的bfdname,可取值elf32-little,elf32-big等,可用用objdump –I查看相应的信息
 
-O bfdname

--output-target=bfdname
 输出文件的bfdname
 
-F bfdname

--target=bfdname
 指定输入、输出文件的bfdname,目标文件格式
 
-j sectionname

--only-section=sectionname
 只将由sectionname指定的section拷贝到输出文件
 
-R sectionname

--remove-section=sectionname
 去除掉由sectionname指定的section
 
-S

--strip-all
 去掉源文件的符号信息和relocation信息
 
-g

--strip-debug
 去除掉调试符号信息和相关的段
 
-K symbolname

--keep-symbol=symbolname
 保留由symbolname指定的符号信息
 
-N symbolname

--strip-symbol=symbolname
 去除掉由symbolname指定的符号信息
 
-G symbolname

--keep-global-symbol=symbolname

-L symbolname

--localize-symbol=symbolname

-W symbolname

--weaken-symbol=symbolname

-w

--wildcard

-x

--discard-all

-X

--discard-locals
 处理符号
 
-b byte

--byte=byte
 每byteth byte中保留1 byte
 
-i interleave

--interleave=interleave
 每隔interleave字节拷贝1 byte
 
--gap-fill val
 在section中填充val
 
--set-start val
 设定新文件的start address
 
--change-start incr

--adjust-start incr
 调整start address
 
--change-address incr

--adjust-vma incr
 调整所有sections的VMA(virtual memory address)和LMA(linear memory address)。
 
--change-section-address

        section{=,+,-}val

--adjust-section-vma section

       {=,+,-}val
 调整指定section的VMA/LMA地址
 
--set-section-flags section=flag
 指定指定section的flag,flag的取值可以alloc,contents, load, noload, readonly, code, data, rom, share, debug
 
--add-section sectionname=filename
 添加一个section,该section的内容为filenmae的内容
 
--rename-section oldname=

    newname[,flags]
 更改section的名
 
-V

--version
 objcopy的version number
 

 

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/huangxb_csu/archive/2008/10/31/3193824.aspx

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/huangxb_csu/archive/2008/10/31/3193824.aspx

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值