计算机工程与科学 ›› 2022, Vol. 44 ›› Issue (06): 971-978.
龚锐,石伟,刘威,张剑锋,王蕾
GONG Rui,SHI Wei,LIU Wei,ZHANG Jian-feng,WANG Lei
摘要: NAND Flash存储器以其容量大、成本低和速度快的优势,在嵌入式系统中得到广泛的应用。但是,由于NAND Flash固有的器件特性,必须要有驱动才能对其进行读写,存储于其上的代码不能直接执行,因此其并不适合作为系统启动代码的存储介质。一般采用NOR Flash存储启动代码并直接执行,然后再引导存储于NAND Flash中的操作系统镜像,这增大了系统成本和功耗。设计并实现了一种基于NAND Flash的CPU安全启动方法。该方法首先通过软硬件结合的方式,在片内NAND Flash控制器中增加块映射表结构,并由NAND Flash中第1块空间存储的代码进行好块寻找和块映射表填写,使NAND Flash的一部分存储空间可以直接映射为硬件可访问的内存空间,从而使得NAND Flash可以作为系统启动的存储介质,实现仅需NAND Flash存储的系统。还提出了一种扩展BootROM的方案,结合NAND Flash地址映射结构,将片内BootROM的一部分扩展到NAND Flash的第1块存储空间中,并通过Hash比对验证BootROM,从而有效降低了片内BootROM的设计复杂度,减少了代码量。通过提出的方法,可以有效地实现单NAND Flash系统的安全启动,降低了系统成本,提高了系统的安全特性。