您的位置:首页 > 编程语言

NAND Flash控制器的一些小知识

2012-06-21 08:18 239 查看
     NOR Flash存储器具有速度快、数据不易失等特点,在嵌入式系统中可作为存储并执行启动代码和应用程序的存储器。但是由于NOR Flash存储器的价格比较昂贵,而SDRAM和NAND Flash存储器的价格相对来说比较适中,这样就激发了一些用户产生了在不易失存储器NAND Flash中执行启动代码,在速度比较快的SDRAM中执行主要程序代码的想法。

    S3C2410A能够实现这一想法,它可以在一个外部NAND Flash存储器上执行启动代码。为了支持NAND Flash的启动装载,S3C2410A配置了一个叫做Steppingstone的内部SRAM缓冲器。当系统启动时,NNAD Flash存储器的前4KB将被自动加载到Steppingstone中,然后系统自动执行这些载入的启动代码。

    一般情况下,这4KB的启动代码需要将NAND Flash中的内容复制到SDRAM中。使用S3C2410A内部硬件ECC功能可以对NAND Flash的数据进行有效性的检查。复制完成后,将在SDRAM中执行主程序。

    NAND Flash控制器具有以下特征。

       1.NAND Flash模式:支持读/檫除/编程NAND Flash存储器。

       2.自动启动模式:复位后,启动代码被传送到Steppingstone中。传送完毕后,启动代码在Steppingstone中执行。

       3.具备硬件ECC(检验码,Error Correction Code)生成模块(硬件生成校验码,通过软件校验)。

       4.NAND Flash启动以后,4KB的内部SRAM缓冲器Steppingstone可以作为其他用途使用。

       5.NAND Flash控制器不能通过DMA访问,可以使用LDM/STM指令开代替DMA操作.



                                                     NAND Flash控制器结构图

自启动模式的执行步骤如下:

      1.完成复位;

      2.如果自动启动模式使能,NAND Flash存储器的前4KB自动复制到Steppingstone内部缓冲器。

      3.Steppingstone映射到nGCS0;

      4.CPU在Steppingstone的4KB内部缓冲器中开始执行启动代码。

注意:在自动启动模式下,不进行ECC检测。因此,应确保NAND Flash的前4KB不能有位错误(一般NAND Flash厂家都能确保).



                                                                                  NAND Flash的工作方式

     NAND Flash模式需要进行一下配置:

        1.通过NFCONF寄存器设置NAND Flash配置。

        2.将NAND Flash命令下乳NFCMD寄存器。

        3.将NAND Flash地址写入NFADDR寄存器。

        4.通过NFSTAT寄存器检查NAND Flash状态,并读/写数据。在读操作之前或者编成操作之后应该检查R/nB信号。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息