最近在調試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文件