NUCLEO-H7S3L8开发板,操作板载FLASH出错,无法进入APP
H743 ulpi phy 引脚配置
DMAMUX 使用内部外设Request Event(不使用TIM12和LPTIM)
STM32H747XG下载一次仿真器就检测不到,运行不能正常
——STM32H747XG下载一次仿真器就检测不到,运行不能正常 原理图是否有问
STM32H7开发LWIP时遇到的问题
STM32H7 UART 使用、HAL 代码分析和实际遇到的问题
STM32H750 FFT 时间太长
[ZEPHYR]SDMMC2 Clock Initialization Failure on M4 Core (PLL2R Frequency Mismatch) 問題詢問
OV5640 JPEG帧头和帧尾读取错误,无法找到FFD8和FFD9
微信公众号
手机版
FLASH的编程宽度或粒度,8位,16位,32位或64位,对编程电压需求是不一样的。
例程里选择的就是FLASH_VOLTAGE_RANGE_4,像页擦除,bank擦除都该选择这个。该系列的参考手册里关于这点感觉不是很清晰,别的系列比方F4关于这点讲得更清晰些。
还有,就是你擦除的内容是否会影响到中断的正常处理,即擦除后使得中断服务程序没法完整
执行,没完没了的进中断?
一般来讲,被擦除的应该是目前闲置的代码或区域。
再就是注意系统供电稳定。
首先,谢谢你的即时回复!
嗯,我明白您的意思,我用的是STM32H723ZGt6的芯片,这个芯片有两个Bank(Bank1、Bank2),一共有8个扇区(sector0、sector1、sector2、sector3、sector4、sector5、sector6、sector7),每一个Bank有4个扇区,每个扇区有128kB的容量,我擦除的是第一个Back的sector3,我的程序就一个估计也就2k,怎么说都不可能和运行程序干涉呀?
请问这是什么问题呢?
同志!!!我知道哪里有问题了!!!
整个关于flash擦除的操作总共就没几条指令,于是就一个个参数改,总会瞎猫碰到死耗子,试了十几二十次总算是知道问题在哪了。
这是我原本的参数设置:EraseInitStruct.VoltageRange = FLASH_VOLTAGE_RANGE_3;
这是我改过后的:EraseInitStruct.VoltageRange = FLASH_VOLTAGE_RANGE_4;
改成 EraseInitStruct.VoltageRange = FLASH_VOLTAGE_RANGE_4 就可以了。
至于FLASH_VOLTAGE_RANGE_3和FLASH_VOLTAGE_RANGE_4有什么区别,不知道,程序跑通就行