我们有了Linux OS,为了运行可执行文件,他们是遵循ELF格式的,通常gcc -o test test.c,生成的test文件就是ELF格式的,这样就可以运行了。 arm--linux-objcopy命令将去掉ELF格式的东西,仅仅保留最纯的汇编(不知道如何解释), 在Embedded中,如果上电开始运行,没有OS系统,如果将ELF格式的文件烧写进去,包含一些ELF格式的东西,arm运行碰到这些指令,就会导致失败,如果用arm--linux-objcopy生成纯粹的汇编,程序就可以一步一步运行。 elf文件里面包含了符号表,汇编等东东。BIN文件是将elf文件中的代码段,数据段,还有一些自定义的段抽取出来做成的一个内存的镜像。由于elf文件的信息比较全,所以可以用来以单步跟踪的方式运行,常用于仿真器进行调试。
http://blog.163.com/zhangmaochu@126/blog/static/3736062220105299305566/
文章评论(0条评论)
登录后参与讨论