stm32G0擦除FLASH进入hardFault?
请教各位大佬,我再使用STM32g051c8tb时,发现擦除单页时,会出现HardFault中断,然后读取FLASH状态显示为CFGBSY一直为1,用软件清不了零,不清楚是什么原因?有时候可以正常擦除,擦除数据地址可以被8整除的。https://shequ.stmicroelectronics.cn/data/attachment/forum/202305/27/102338q6nhdwz7796ndzj5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300通过仿真执行擦除这段代码,有时可以正常,有时就异常进入HardFault里面。https://shequ.stmicroelectronics.cn/data/attachment/forum/202305/27/102512p862pcyrtitl1rhh.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300这是我要保存到芯片内部FLASH的数据内容,指定起始地址,可以被8整除的。通过百度也查询了一下解决措施,将未初始化的变量都初始化了,没有用的变量都去掉了,擦除页错误还是会偶尔出现的。解锁了吗?感觉是没解锁造成的。 出现错误,你用软件清零肯定是清零不了的。 有没可能是你写的地方超出单片机Flash的范围了?
需要按页擦除,而不是按8字节擦除。
那可能是时间太快了?你加个delay试试呢? 按理来说,仿真好使,那实际应用也应该好使才对啊
进入硬件中断感觉是硬件执行有问题导致的
你可以看看换个电路板试试,是否好用
一般情况也不会进入到硬件中断啊,你不是硬件都没问题吗
对,你得4K对齐,一般才可以
你试试全擦除试试呢?
你是不是擦错地方了,你擦最后一页试试
有可能是你把MCU的程序给擦掉了也说不定呢
可以用例程,带flash读写操作的例程先试试,保证硬件无问题之后,再看看你的程序和例程差什么
页:
[1]