完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
请教一下,目前我们有用STM32G0B1VE系列的芯片,由于应用需求,在机器开机时,会有大约2个page的flash操作。但是在做上下电测试时,经常会发现,在测试的过程中,会造成整台机器变成砖头,断电重启无法恢复。经过一系列的排查,应该是由于在上下电的过程中,Flash数据更新的过程中,造成ECC未写入,造成最终读Flash时,ECC错误,造成了NMI中断。。由于G系列比较新,我们只是搜到了一片CSDN上的老兄有遇到过相同的情况。除了将Flash擦除,重写之外,是否还有其他解决的方式?
另外,查看芯片手册,针对FLASH_ECCR的描述,似乎有误。。在手册里,针对FLASH_ECCR->ADDR_ECC的描述,应该是该地址乘以8,应该就是Flash ECC错误的地方。但是ADDR_ECC只有14bit,乘以8也就17bit,总共为128KB。 但是我们用的G0B1VE是两个Bank, 每个Bank为256KB,所以,文档这里是否描述有误?个人觉得,手册是不是针对128KB/Bank的型号所做的? |
|
相关推荐
1个回答
|
|
第一个问题,当出现ECC错误时会触发NMI中断,的确会这样,这点在手册中也明确出来了。你期望有针对FLASH进行重写的其它办法,目前没有。
至于你提到的第二个问题,你看得很仔细。认同你关于这点的分析,初步怀疑是手册在这个地方是基于128KB BANK的型号来描述的。 首先,STM32G0系列里面,1个BANK有128KB的,也有256KB的。具体到你现在的STM32G0B1,它的1个BANK是256KB. 其中,FLASH_ECCR和FLASH_ECCR2 分别 存放对应于BANK1和BANK2里ECC出错的双字地址。这样的话,FLASH_ECCR里存放地址偏移量的位宽为14的确 不满足256KB存储空间的用于记录ECC出错的偏移地址所需宽度了。关于这点,我们继续跟踪之。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1893 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1668 浏览 1 评论
1154 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
763 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1723 浏览 2 评论
1966浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
798浏览 4评论
stm32f4下spi+dma读取数据不对是什么原因导致的?
242浏览 3评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
618浏览 3评论
631浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-16 14:28 , Processed in 0.839066 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号