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信号。
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信号。
相关文章推荐
- UI基础知识 -- 视图控制器继承的一些方法
- 插件控制器的一些知识
- >>关于.NET CF 的一些知识——启动同一个程序的多个拷贝
- struts2--(3)--一些小的知识----访问web相关元素
- 关于编译指令的一些知识
- 一些最基本的健身知识分享
- 关于一些平常JAVA知识及遇到问题的积累(持续更新)
- 一些Base64编码/解码及数据压缩/解压方面的知识
- 学习Linux必须掌握的一些基础知识
- struts2中一些零碎的小知识
- tune2fs和swap分区的一些基础知识
- Andriod的一些知识
- 关于ThreadLocal的一些基础知识
- 进程的一些基本知识
- thrift 的一些相关知识
- Shell脚本的一些操作和知识
- 一直以来伴随我的一些学习习惯(四):知识结构
- SOAP和WSDL的一些必要知识 (转)
- 一些面试可能遇到的基础知识
- 关于php的一些小知识!