使用arm编译器的'fromelf'

时间:2018-05-30 11:10:00

标签: cmake arm

在linux机器下,我正在使用ARMCompiler6.6.1使用一些.c和.asm文件生成可执行文件。 我也在使用cmake来构建目标。

我创建了目标说my_target.hex。它有一个十六进制扩展名,因为它是编译器的输出格式。 现在我需要它作为.bin文件,所以我做了一些研究,发现这个编译器有一个名为'fromelf'的工具,它可以将文件从十六进制转换为二进制。

我发现forelf的语法是这样的: fromelf --bin --output = outfile.bin infile.hex

我正在使用带有ADD_CUSTOM_COMMAND的cmake运行'fromelf'工具并使用POST-BUILD选项运行。像这样:

ADD_CUSTOM_COMMAND(
    TARGET my_target POST_BUILD
    COMMAND /opt/ARMCompiler6.6.1/bin/fromelf --bin path/to/target/my_target.elf --output path/to/generated/bin/file/my_target.bin 
    COMMENT "Converting binary file from elf"
)

运行之后,我希望在指定的目标上看到一个.bin文件。然而,相反,我看到3个文件: text,mk_exceptiontable和mk_exceptiontable_ram。

那个'text'文件看起来像一个二进制文件,所以我把它重命名为my_target.bin。这是正确的方法吗?为什么我在命令后得到那个输出而不是一些.bin文件? 谢谢你的阅读!

0 个答案:

没有答案