|
请教一下,目前我们有用STM32G0B1VE系列的芯片,由于应用需求,在机器开机时,会有大约2个page的flash操作。但是在做上下电测试时,经常会发现,在测试的过程中,会造成整台机器变成砖头,断电重启无法恢复。 经过一系列的排查,应该是由于在上下电的过程中,Flash数据更新的过程中,造成ECC未写入,造成最终读Flash时,ECC错误,造成了NMI中断。。 由于G系列比较新,我们只是搜到了一片CSDN上的老兄有遇到过相同的情况。 https://blog.csdn.net/qq_29083043/article/details/107891658
发这个帖子,一来感谢下这位仁兄。。二来还是想确认下,除了将Flash擦除,重写之外,是否还有其他解决的方式? 另外,查看芯片手册,针对FLASH_ECCR的描述,似乎有误。。 在手册里,针对FLASH_ECCR->ADDR_ECC的描述,应该是该地址乘以8,应该就是Flash ECC错误的地方。但是ADDR_ECC只有14bit,乘以8也就17bit,总共为128KB。 但是我们用的G0B1VE是两个Bank, 每个Bank为256KB,所以,文档这里是否描述有误?个人觉得,手册是不是针对128KB/Bank的型号所做的?
|
STM32G0B1
无源晶振开关电路设计
STM32G031F8P6开启读保护后,数据全变成0?
stm32g030f6p6的LL库,ADC多通道,DMA错位问题请教
STM32G030x6/x8被淋雨进水了但未通电,风险如何?怎么处理?
20GQCDR 请问这个是用在哪里的,各位大神帮忙看看,什么类型的,丝印是1242688
关于手动移植RTOS的问题,在基于HAL生成的工程上。xPortSysTickHandler()会影响外部晶振的时钟初始化,进入硬件故障处理函数,HSI没问题
使用单片机的USB PD功能时,初始化一直出错。
问询:哪里有STEVAL-L99615C的固件包下,主要是求L9961的源码,我用来抄I2C,大三小白刚刚接触MCU,求大佬指路
stm32g070rbt6 ADC1 多通道循环自动采样DMA传输到ram,采样时间要设置得很长采样值才能相对准确
微信公众号
手机版
至于你提到的第二个问题,你看得很仔细。认同你关于这点的分析,初步怀疑是手册在这个地方是基于128KB BANK的型号来描述的。
首先,STM32G0系列里面,1个BANK有128KB的,也有256KB的。具体到你现在的STM32G0B1,它的1个BANK是256KB.
其中,FLASH_ECCR和FLASH_ECCR2 分别 存放对应于BANK1和BANK2里ECC出错的双字地址。这样的话,FLASH_ECCR里存放地址偏移量的位宽为14的确
不满足256KB存储空间的用于记录ECC出错的偏移地址所需宽度了。关于这点,我们继续跟踪之。
感谢。。
假如有确认是文档错误的话,也请帮忙更新下帖子哦。。