我需要从.hex
编译器获取eclipse c++
文件。我只收到了.elf
个文件。
最后,我应该将二进制代码写入控制器,该控制器只能采用二进制代码。
我使用实用程序将.elf
文件转换为二进制文件,但不是这样。
哦,我忘了说我使用了atollic truestudio
。
答案 0 :(得分:2)
首先,Elf是“二进制”文件(你可能意味着编译可执行文件)。您可以使用jtag / debugger将其加载到控制器。使用GNU工具链,您可以使用objcopy将.elf转换为原始二进制文件。 Objcopy可以作为Eclipse / cdt中的另一个编译步骤添加,但是你的IDE提供者可能应该这样做(检查是否没有选项来启用它)。
答案 1 :(得分:1)
对于Intel 32位Hex: fromelf -i32 Main.axf> Main.i32
对于摩托罗拉32位十六进制: fromelf -m32 Main.axf> Main.m32
对于面向Verilog字节的十六进制格式: fromelf -vhx Main.axf> Main.vhx
对于普通二进制文件: fromelf -bin Main.axf> Main.bin
答案 2 :(得分:0)
对于基于Eclipse(C)/ C ++ IDE,您可以在Project -> Properies
的{{1}}窗口下设置“ 输出格式”
C/C++ Build > Settings
您可以在其中选择“十六进制格式”或“ bin”
类似设置的图片,请参见mcuoneclipse blog。