周记20230911-20230917

发布时间 2023-09-14 01:02:35作者: Lightmonster

周记1:Flash

背景:近期项目中使用flash作为存储单元,用于装载芯片工作过程中使用到的程序、lut等内容。

问题及解答:

1、flash基本介绍,闪存,非易失存储介质,掉电不丢失内容,擦除式写入(Nor向0写1时需擦除,Nand则都需擦除)。

Nor容量较小,具有更高的可靠性,支持XIP(eXecute In Place片内执行,可以像普通ROM一样执行程序,适合作为BIOS等开机就需要执行代码的绝佳载体),可随机访问。

Nand 容量较大,广泛应用于存储卡,U盘,SSD,eMMC(embedded multimedia card)等大容量设备中,可靠性较低,需要校验纠错等手段来保证正确性,接口不适合XIP(由于Nand不适合XIP的原因,Nor价格较为昂贵,在成本控制严格的手机中,为了实现Norless,通过ROM中固化Nand驱动的方式,设备启动时将Nand中开始的一段空间内的内容加载到RAM中执行,以降低成本和复杂度),Nand相比对Nor更容易发生bit翻转,因此校验、纠错(EDC/ECC)是必要的。

周记2:XIP技术

eXecute In Place,芯片内执行,指CPU可以直接从存储器中读取程序代码执行,无需读入内存中再执行。Nor的XIP即指CPU可以直接在Nor中进行取指令,再进行后续的译码执行等操作。

如果存储器想要实现XIP,需要满足几个条件:

  • 存储器需要给CPU提供与内存相似的接口
  • 接口必须能够提供足够快的读取操作,并支持随机访问模式
  • 如果有文件系统还需要提供合适的映射功能。
  • 程序链接时需要知道存储器的地址或地址与位置无关
  • 程序不能修改已加载映像中的数据

Nor与e2prom通常可以满足上述条件

除此之外,XIP技术还需要cpu和flash同时支持。