首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由objcopy创建的对象文件不兼容。

由objcopy创建的对象文件不兼容。
EN

Stack Overflow用户
提问于 2018-07-18 22:23:57
回答 1查看 657关注 0票数 0

我使用objcopy从二进制文件创建了一个对象文件,如下所示:

代码语言:javascript
复制
objcopy -I binary -O elf32-little --rename-section .data=.text file.bin file.o

在链接器脚本的一个部分中,我包含了以下内容,以便将该文件放入该部分:

代码语言:javascript
复制
file.o (.text)

但我得到了以下错误:

代码语言:javascript
复制
skipping incompatible file.o when searching for file.o

error: ld returned 1 exit status

我正在开发一个arm微控制器,所以我相信文件格式“elf32 32-小”是正确的。

任何帮助都是非常感谢的。

遵循INCBIN路径的#####################################################################更新:

我尝试了一种新的方法,虽然取得了一些进展,但还没有完全取得进展。

这是我的程序集文件:

代码语言:javascript
复制
            .section .text.audio_binary
            .global audio_start
    audio_start:
            .incbin "AudioData.bin"

            .global audio_start
    audio_end:
            .byte 0

        .global audio_size
audio_size:
        .int audio_start - audio_start

这是我得到的对象文件:

代码语言:javascript
复制
raw_audio_binary.o:     file format elf32-little

SYMBOL TABLE:
00000000 l    d  .text  00000000 .text
00000000 l    d  .data  00000000 .data
00000000 l    d  .bss   00000000 .bss
00000000 l    d  .text.audio_binary 00000000 .text.audio_binary
00069a78 l       .text.audio_binary 00000000 audio_end
00000000 l       .text.audio_binary 00000000 $d
00000000 l    d  .ARM.attributes    00000000 .ARM.attributes
00000000 g       .text.audio_binary 00000000 audio_start
00069a79 g       .text.audio_binary 00000000 audio_size

这是我的链接脚本中的一节:

代码语言:javascript
复制
    .text_Flash3 : ALIGN(4)
    {
       FILL(0xff)
        *(.text.$Flash3*)
        *(.text.$AUDIO*)        *(.rodata.$Flash3*)
        *(.text.audio_binary*) /* audio binary */      
        *(.rodata.$AUDIO*)    } > AUDIO

由于某些原因,链接器没有将数据放在本节(或任何部分)中。

有什么不对吗?

如果这里有什么不对劲的地方,我会事先道歉,我对链接脚本很陌生,所以我仍然理解它们.

EN

回答 1

Stack Overflow用户

发布于 2018-07-19 12:06:06

如果您有足够的最新版本的GAS,可以使用它使用 directive从二进制输入文件创建一个对象文件。

代码语言:javascript
复制
        .section .rodata
        .globl input_wav
input_wav:
        .incbin "input.wav"
        .globl input_wav_size
input_wav_size:
        .long . - input_wav
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51411810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档