如何找到导致程序出现HardFault的代码(未写完)

从fromelf这个名字上我们就能看到它是用来处理elf文件的,elf 全称 Executable and Linking Format ,这种文件是gcc编译出来的,而我们使用的axf全称 Arm executable File ,是由keil或者ads编译出来的,两者在格式上有些区别,但里面包含的符号表,调试信息,汇编基本是相同的。keil生成的hex就是调用的fromelf将axf转换而来的,所以你编译后可以在输出文件中同时看到axf和hex文件。

fromelf有2种模式:
①常用的生成的bin文件是使用的format conversion mode。
②text mode模式就是用来生成反汇编的text文件的。

在这里插入图片描述

text模式介绍如下:值得注意的是如果我们不指定输出格式的话,那么默认就是–text格式,也就是说如果我们给–text 指定几个options的话我们可以省掉–text 而只使用相应的[options就可以,我下面的处理中将会省掉–text。

在这里插入图片描述

–text的几个options介绍:下面要使用的反汇编是-c
在这里插入图片描述

用fromelf把axf反汇编有2中方法,一种直接在windows环境中使用,一种和生成bin文件那样在keil编译后调用。
1)windows 窗口下进行:

①将我们生成的axf文件复制到keil安装目录的下ARM\ARMCC\bin目录下,
在这里插入图片描述
②双击"cmd.bat"脚本
在这里插入图片描述
③输入以下内容

fromelf -c cst92f25.axf -o cst92f25.txt

在这里插入图片描述

2)在keil里面直接调用和生成bin文件差不多,我们可以使用下面的命令:

在这里插入图片描述

fromelf.exe -c  .\Objects\cst92f25.axf  -o .\bin\cst92f25.txt
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值