野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11169|回复: 4

hardfault出现在main函数之前

[复制链接]
发表于 2018-1-10 16:56:40 | 显示全部楼层 |阅读模式
本帖最后由 CSWZH8 于 2018-1-10 21:20 编辑

我把F429 IGT6 的程序,修改了魔术棒的器件选择为F429VET6后,重新编译烧写到F429VET6芯片中,结果启动后在进入main之前就出现了hardfault中断,这是什么原因??hardfault出现在.s启动文件中
LDR R0,=__main
BX R0
当跳转时产生了硬中断,而且我用F12访问不到 __main 函数
直接烧到IGT6是正常的,为什么VET6就不行??


后来调试的时候还出现了访问0X140052E0这个地址,但是数据手册上说这是一个保留的地址,查了很久没发现魔术棒的RAM配置有什么问题???


好捉急!




1.JPG
回复

使用道具 举报

发表于 2018-1-10 17:27:45 | 显示全部楼层
内存大小不同、引脚数也不同,先用最简单的流水灯程序测试下

一般内存问题会引起hardfault
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-10 17:48:59 | 显示全部楼层
flyleaf 发表于 2018-1-10 17:27
内存大小不同、引脚数也不同,先用最简单的流水灯程序测试下

一般内存问题会引起hardfault

试过了,简单的流水灯也不行,想问下这两个芯片所使用的STARTUP文件是否相同??
回复 支持 反对

使用道具 举报

发表于 2018-1-11 08:47:39 | 显示全部楼层
CSWZH8 发表于 2018-1-10 17:48
试过了,简单的流水灯也不行,想问下这两个芯片所使用的STARTUP文件是否相同??

一样的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-12 16:06:42 | 显示全部楼层
终于找到原因了,在此回复一下,给其他人做个参考。

STM32F4芯片有两个VCAP引脚需要通过2.2UF电容接地,用来稳定内核电压。(F1系列直接接地)

我画的原理图本身没错,但是我的老板在手工焊的时候,给焊成了2.2PF,结果概率性的出现hardfault和NMI。
后来找了半天实验室没找到2.2uf电容,就用个1uf的凑合了,结果也把问题解决了。

这里附上网上其他人遇到类似问题的帖子地址


http://www.51hei.com/bbs/dpj-51875-1.html
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-22 04:00 , Processed in 0.029557 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表