如题,STM32F446RCT6芯片flash大小为256KB,一共有6个扇区:0~5; STM32F446XX系列 flash最大为512KB,一共有8个扇区:0~7; 请问,在STM32F446RCT6芯片中,假如擦除flash的操作越过0~5扇区,擦除并不存在的6和7扇区,会不会导致错误呢? 调试过程中貌似没有出现异常。具体原因是什么呢? 本人猜测,STM32F446RCT6里面有6和7扇区的电路?只是没安装flash? |
STM32F407 定时器触发DMA 求助大神
【MCU实战经验】基于STM32F407的音频播放器设计
盘古UE-STM32F407工控板原理图
【STM32F429心得\疑问】+STM32F4之FSMC和FMC
STM32F429读取IO口传输的数据速率
STM32F407ZGT6 手摸芯片背部重启
STM32F4 SPI 动作时,软件片选信号被拉高,IO口程序逻辑失控
STM32F401RE NUCLEO求助,串口一直不能进中断
读取STM32F407内部温度传感器值错误
STM32F429多路内部ADC独立采集的办法
评分
查看全部评分
感谢回复, 所以一个系列的芯片,就会按照最大的Flash来预留设计么?所以对超出自身flash范围,但是没有超出该系列芯片最大flash范围的部分进行擦除就没问题?
不会有问题,你看看arm的储存器布局:
你看储存器从数学上是连续的,一个区域挨着一个区域,但是实际上,ARM公司在设计的时候考虑到不同厂家的存储空间和外设数量,一般会留有余地。因此,会存在一些真空地带。flash一般会有一个片内储存器保留区间,所以别说什么16k,64k,512k的,就是1GB都是可能的,所以你擦除扇区的时候落在这个区域,是不会起作用的。
如果一个耿直的厂商做了一个1gb的flash……
评分
查看全部评分
感谢回复,由于不明白具体电路设计的原理,只能单纯的理解为预留出来,不了解对没有接flash的地方执行擦除操作会发生什么样的电气变化。
考虑到程序的稳定性,还是不敢轻易去擦除没有真实flash的地带。ST的例程貌似没有对256K和512K进行区分,统一成512K对待。
HAL库绝大部分函数都有返回值,便于诊断错误
评分
查看全部评分
感谢回复,我试一下看看