最近在调试uboot的代码时,用的新版本的uboot,lowlevel_init函数里是空的,而且在链接文件中也没有发现对lowlevel_init.o的链接。在bl lowlevel_init 之前和之中加了两个电灯,发现在bl之后的部分并没有被执行,所以想看看具体程序有没有运行这个函数。在网上找反汇编bin文件的时候发现有朋友提供的方法,很好用。
使用arm-linux 工具链里面的arm-linux-objdump 就能反汇编
cd到bin文件所在的目录, 在命令行下输入:
arm-linux-objdump -D -b binary -m arm xxx.bin > xxx.asm
参数:
-D 反编译所有代码
-m 主机类型, arm
-b 文件格式, binary
对于ELF格式的文件只要一个-D参数即可
就可以把xxx.bin反汇编到xxx.asm文件
在调试Uboot代码时遇到lowlevel_init函数为空且未被链接的问题,通过arm-linux-objdump工具成功反汇编并定位问题。教程详细介绍了如何使用此工具解决Uboot调试中遇到的函数未执行问题。
551

被折叠的 条评论
为什么被折叠?



