MT7682 打印堆栈

前期信息

  1. 编译生成.elf文件以后,反汇编
arm-eabi-objdump -D ***.elf > ***.dis

可以生成汇编文件
2. 查看.dis汇编文件,例如
在这里插入图片描述
可以看到最前面一列为程序地址
使用

$ arm-eabi-addr2line -Cfe ***.elf 080400b0
dump_r7_callback
/media/data/MTK/MT7682/mt7682/sdk/project/mt7682_hdk/apps/lock/GCC/../../../../../project/mt7682_hdk/apps/lock/../common/src/arm_backtrace.c:102

就可以得到对应的代码位置.

所以如果要回溯堆栈,那么就要能得到类似080400b0这样的地址堆栈
然后使用addr2line来回溯到sourcecode的堆栈

编译命令

编译cortex-m4的thumb代码
arm-none-eabi-gcc -mthumb -mcpu=cortex-m4 -c -o main.o main.c
编译arm代码
arm-none-eabi-gcc -c -o main.o main.c

疑问

arm模式编译的代码:

arm-none-eabi-gcc  -fno-omit-frame-pointer -c -o main.o main.c
arm-none-eabi-objdump -d main.o 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值