论文部分内容阅读
随着电器、手机和各种专用设备的广泛应用以及嵌入式处理器、嵌入式软硬件系统的发展,嵌入式技术已经成为当前的一项热门技术。特别是随着嵌入式技术在各种消费类电子产品中的广泛应用以及越来越复杂的系统设计,嵌入式系统中的数据存储和管理已经成为一个重要的研究方面和应用热点。NANDFlash具有存储密度高,低功耗,低成本等优点,因此在嵌入式系统方面得到广泛的应用。本文主要对NANDFlash在嵌入式路由中作为BootFlash的应用进行研究。先介绍了引导系统启动方案中涉及的关键的技术,包括常用内存技术、Bootloader、NORFlash引导流程以及坏块的管理,结合NAND Flash工作原理,然后根据用户对该系统低成本、高可靠的需求,对系统中NANDFlash模块进行设计。取得的主要成果:1.对延长NAND Flash寿命所采用的均衡算法进行研究。本文结合NAND Flash有坏块特点,对NAND Flash在使用过程中的寿命进行分析。由于NAND Flash加工工艺的原因,使得每一个Bit只能从1变为0,所以对NAND Flash进行编程操作前,必须先进行擦除操作,而NAND Flash擦除次数是有上限的,若频繁地对某个块执行擦除操作,擦除次数要是超过了上限值,则会导致某个块提前变为坏块,缩短了 NAND Flash使用寿命,从而不能保证系统可靠启动。为了有效延长NAND Flash使用寿命,本文对均衡算法进行研究,由于该系统中NAND Flash主要存放引导程序,而引导程序很少被更新,只是在设备上电启动或者重启时,从NANDFlash中读取引导程序,所以引导程序类似于静态文件,所以为了有效延长NANDFlash使用寿命,本系统采用了静态均衡算法,最后对系统采用均衡算法之后的性能进行比较分析。2.对引导程序Bootloader的Stage1大小受限问题进行研究。本文先对现有应用比较广泛的嵌入式路由中基于NAND Flash引导方法和装置进行分析,一种方案是通过CPLD对CPU和NAND Flash之间的I/O接口进行转接,另一种方案是利用NAND Flash第一个块是安全的,并且随着后续使用不会产生坏块的特点,将引导程序中Stage1部分存放在第一个块中,其余引导程序即Stage2存放在NAND Flash第1块之后的连续块中,并进行多份存储。对现有这两个方案中存在的缺陷进行分析,第一种方案采用CPLD对I/O接口进行转接,CPLD中需要实现很多功能,设计实现比较复杂,并且成本也比较高,而第二种方案中由于NAND Flash块的大小是固定的,随着后续系统或者内存的升级,可能不够存放引导程序的Stage1部分,或者系统功能增加需要更新可执行程序,则会由于空间不足导致系统更新失败。在对现有这些方案存在的问题分析的基础上,提出一种改进后的可靠启动方案,并给出改进后基于NAND Flash引导系统方法和装置,最后对改进后引导方法和装置分别进行讲解。通过测试结果验证了本系统的思想,并证明本系统可用。