我想知道如何从IAR编译的**.bin中获取.s**文件。尝试gdb和objdump都没有成功。
查看IAR项目选项页面,但在编译时没有找到任何一致的内容。
有什么想法吗?先谢谢你了。
$ gdb -q ./prj.bin
(gdb) "C:\git\...\EWARM\BUILD\Exe/./prj.bin": not in executable format: File format not recognized
(gdb) Quit (expect signal SIGINT when the program is resumed)
$ objdump -d prj.bin
C:\MinGW\bin\objdump.exe: prj.bin: File format not recognized
1条答案
按热度按时间yquaqz181#
IAR编译器具有
-l
选项,用于从C源代码生成程序集文件。如果只有二进制文件而没有源代码,则需要使用第三方实用程序,如IDA Pro、
arm-none-eabi-objdump
或类似的工具。例如,
arm-none-eabi-objdump
:无论哪种方式,二进制文件都不会给予你符号名称或节,因为你可以从ELF转储。此外,你必须告知可执行文件是否是使用thumb指令(
-Mforce-thumb
)为目标构建的。最后,在最好的情况下,转储原始二进制文件将给予关于整个可执行文件的原始图片的有根据的猜测。
祝你好运