全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com)
这一页主要是描述了当前的PMU版本与之前就版本相比之下的变更,对于第一次接触了解这个模块来说,其实了解前面的基本特性就好了。而这个差异,没有细看的必要。
ECC可以关闭在这里写成了是一个新特性,由此,之前的芯片中PMU不允许关闭ECC?
- 在执行编程或者擦除之前,需要先禁用ENDINIT。
- 操作Flash的时候,相应的代码尽量放在RAM中。总之,不要尝试操作擦除程序所在的Flash。
- 最后面给出来了一个基本的编程流程,算是一种“防御式”编程,保证整体的过程万无一失。
- 擦除的过程也有一个推荐的流程以保证可靠性,相应的过程与编程类似。
- 使用DFlash进行EEPROM模拟,有几个基本的原则:用多的Flash模拟一个小的EEPROM;保证整体的存储寿命;需要考虑完备的更新机制。
- 在一般的策略中,可以考虑双分区。这里解释了一下双分区的概念,双分区的两个区是在轮流工作的。
- 中间部分做了一下FEE可能出现的问题,其实编程与擦除都会有ECC的触发可能。基本上是在高压操作的时候,出现这样的情况。
- 对于鲁棒性的提升,另外一个可以考虑的策略是通过RAM备份一下数据,完成操作之后进行一下对比。
遇到错误之后的几种解决方式:1,错了之后存在其他的块;2,重复存几次,如果成功了就算是修复,不成功的时候报错; 3,通过策略兼容一下部分坏区的情况。
- 这里的错误处理主要还是针对ECC,导致这样的问题原因可能是α粒子或者永久性损坏。但是,在实际的应用场景中可能并不存在。
- 软件处理需要考虑是否必需要处理,只处理必要的分区以免造成寿命问题。
- 全1的方式可以用来标注失效的字行。
- 如果操作Flash的过程中,密码错了需要进行故障清除,调用reset to read来实现。
- 擦除的验证错误主要是针对DFlash的,如果是PFlash一般直接认为这个MCU坏掉了。但是在DFlash中,这个是有可能进行修复的。