操作内部FLASH导致进入HardFault

2019-07-14 15:43发布

在做IAP升级程序的时候有段程序一执行就会跳入到HardFault_Handler中,求各位大神支个招,产生错误的代码如下:

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
5616asaqwq
1楼-- · 2019-07-15 14:56
7762642422d 发表于 2018-11-27 21:24
内部flash能这样直接读?不考虑总线时间吗?!
你可以一次性的读到一个内存中,然后在内存中再判断。

太占内存了,数据很大的,1024个字节
嘻嘻爱哈哈
2楼-- · 2019-07-15 15:54
5616asaqwq 发表于 2018-11-27 21:17
地址在上层函数中已经限定,这个子函数只管编程1Kb的内部flash,基本流程是先看看这1K的空间是否被写过,没写过直接编程,写过就先擦除再编程

5616asaqwq
3楼-- · 2019-07-15 18:58
tonychow80
4楼-- · 2019-07-15 19:52
 精彩回答 2  元偷偷看……
tonychow80
5楼-- · 2019-07-15 22:18
是不是地址访问的问题? 如果 tempaddr 如果不能被4整除,还强制uint32_t*访问的话会出硬件异常。
5616asaqwq
6楼-- · 2019-07-16 02:02
tonychow80 发表于 2018-11-27 22:30
是不是地址访问的问题? 如果 tempaddr 如果不能被4整除,还强制uint32_t*访问的话会出硬件异常。

正解,果然是这样

一周热门 更多>