S3C2410 NAND FLASH控制器
2008-02-13 10:43
246 查看
概述:
目前, NOR flash 价格很高,而SDRAM和NAND flash价格适中,所以一些用户想用NAND flash执行起动代码,而用sdram执行主代码。 htt(74)p://www.icwin.net/bbs http://www.wantso.com
为了支持NAND flash起动,S3C2410内建了内部的4k的SRAM缓存“Steppingstone”。 htt(74)p://www.icwin.net/bbs http://www.wantso.com 当起动时,NAND flash最初的4k字节将被读入”Steppingstone”然后开始执行起动代码。 htt(74)p://www.icwin.net/bbs http://www.wantso.com 通常起动代码会把NAND flash中的内容拷到SDRAM中以便执行主代码。 htt(74)p://www.icwin.net/bbs http://www.wantso.com
使用硬件的ECC, NAND flash中的数据的有效性将会得到检测。 htt(74)p://www.icwin.net/bbs http://www.wantso.com
功能
1. NAND flash 模式:支持读/删除/编程 NAND Flash
2. 自动起动模式:在复位时起动代码将被读入”Steppingstone”中,然后开始执行起动代码。 htt(74)p://www.icwin.net/bbs http://www.wantso.com
3. 硬件ECC检测模块(硬件检测,软件纠正)
4. “Steppingstone” 4-KB 内部SRAM在起动后可以另外使用。 htt(74)p://www.icwin.net/bbs http://www.wantso.com
模块图
运行图解
自动起动模式起动步骤
1. 复位完成
2. 当自动起动模式允许(MO[0:1]=00),最先的4K字节的NAND flash内存将被读入”Steppingstone”..
3. “Steppingstone”将被映射为nGCS0.
4. CPU开始在4k字节的“Steppingstone”中执行起动代码。 htt(74)p://www.icwin.net/bbs http://www.wantso.com
注:在自起动模式,ECC不被检测,所以NAND flash中最初的4K字节保证没有位错误。 htt(74)p://www.icwin.net/bbs http://www.wantso.com
NAND FLASH 模式设置
1. 设置NAND flash配置寄存器NFCONF
2. 在NFCMD寄存器中写入NAND flash命令
3. 在NFADDR寄存器中写入地址
4. 读/写数据,NFSTAT寄存器检查NAND FLASH状态。 htt(74)p://www.icwin.net/bbs http://www.wantso.com 在读/写操作后R/nB信号应该被检查。 htt(74)p://www.icwin.net/bbs http://www.wantso.com
NAND FLASH 内存时序
NAND FLASH 引脚说服
l D[7:0] : 数据/命令/地址 I/O口 (数据,命令,地址复用)
l CLE : 命令锁存使能(数据线上NAND flash命令有效,输出)
l ALE : 地址锁存使能(数据线上NAND flash地址有效,输出)
l nFCE : NAND Flash 片选(输出)
l nFRE : NAND Flash Read Enable (输出)
l nFWE : NAND Flash Write Enable (输出)
l R/nB:Nand Flash 准备好/忙(输入)
l NCON:输入,NAND Flash内存地址步长选择,0:表示3步长地址,1:表示4步长地址(NAND flash中地址要通过d[7:0]送多次,每送一次就为一步长)
自动从NAND FLASH起动设置
1. 当OM[1:0] = 00时,NAND Flash控制器自动起动模式有效
2. NAND Flash 页大小必须512字节。 htt(74)p://www.icwin.net/bbs http://www.wantso.com
3. NCON : NAND Flash内存地址步长选择,0:3步长地址,1:4步长地址
512字节ECC奇偶代码表
l S3C2410在读/写NAND FLASH 时产生512字节的ECC奇偶码,ECC奇偶码是24位/512字节。 htt(74)p://www.icwin.net/bbs http://www.wantso.com
l 24-bit ECC奇偶代码 = 18-bit行奇偶 6位列奇偶
l ECC 生成模块执行以下任务
1. 当写入数据时, the ECC生成模块产生一个ECC码。 htt(74)p://www.icwin.net/bbs http://www.wantso.com
2. 当读数据时,ECC生成模块产生一个ECC码并同原先写入的ECC码比较。
目前, NOR flash 价格很高,而SDRAM和NAND flash价格适中,所以一些用户想用NAND flash执行起动代码,而用sdram执行主代码。 htt(74)p://www.icwin.net/bbs http://www.wantso.com
为了支持NAND flash起动,S3C2410内建了内部的4k的SRAM缓存“Steppingstone”。 htt(74)p://www.icwin.net/bbs http://www.wantso.com 当起动时,NAND flash最初的4k字节将被读入”Steppingstone”然后开始执行起动代码。 htt(74)p://www.icwin.net/bbs http://www.wantso.com 通常起动代码会把NAND flash中的内容拷到SDRAM中以便执行主代码。 htt(74)p://www.icwin.net/bbs http://www.wantso.com
使用硬件的ECC, NAND flash中的数据的有效性将会得到检测。 htt(74)p://www.icwin.net/bbs http://www.wantso.com
功能
1. NAND flash 模式:支持读/删除/编程 NAND Flash
2. 自动起动模式:在复位时起动代码将被读入”Steppingstone”中,然后开始执行起动代码。 htt(74)p://www.icwin.net/bbs http://www.wantso.com
3. 硬件ECC检测模块(硬件检测,软件纠正)
4. “Steppingstone” 4-KB 内部SRAM在起动后可以另外使用。 htt(74)p://www.icwin.net/bbs http://www.wantso.com
模块图
运行图解
自动起动模式起动步骤
1. 复位完成
2. 当自动起动模式允许(MO[0:1]=00),最先的4K字节的NAND flash内存将被读入”Steppingstone”..
3. “Steppingstone”将被映射为nGCS0.
4. CPU开始在4k字节的“Steppingstone”中执行起动代码。 htt(74)p://www.icwin.net/bbs http://www.wantso.com
注:在自起动模式,ECC不被检测,所以NAND flash中最初的4K字节保证没有位错误。 htt(74)p://www.icwin.net/bbs http://www.wantso.com
NAND FLASH 模式设置
1. 设置NAND flash配置寄存器NFCONF
2. 在NFCMD寄存器中写入NAND flash命令
3. 在NFADDR寄存器中写入地址
4. 读/写数据,NFSTAT寄存器检查NAND FLASH状态。 htt(74)p://www.icwin.net/bbs http://www.wantso.com 在读/写操作后R/nB信号应该被检查。 htt(74)p://www.icwin.net/bbs http://www.wantso.com
NAND FLASH 内存时序
NAND FLASH 引脚说服
l D[7:0] : 数据/命令/地址 I/O口 (数据,命令,地址复用)
l CLE : 命令锁存使能(数据线上NAND flash命令有效,输出)
l ALE : 地址锁存使能(数据线上NAND flash地址有效,输出)
l nFCE : NAND Flash 片选(输出)
l nFRE : NAND Flash Read Enable (输出)
l nFWE : NAND Flash Write Enable (输出)
l R/nB:Nand Flash 准备好/忙(输入)
l NCON:输入,NAND Flash内存地址步长选择,0:表示3步长地址,1:表示4步长地址(NAND flash中地址要通过d[7:0]送多次,每送一次就为一步长)
自动从NAND FLASH起动设置
1. 当OM[1:0] = 00时,NAND Flash控制器自动起动模式有效
2. NAND Flash 页大小必须512字节。 htt(74)p://www.icwin.net/bbs http://www.wantso.com
3. NCON : NAND Flash内存地址步长选择,0:3步长地址,1:4步长地址
512字节ECC奇偶代码表
l S3C2410在读/写NAND FLASH 时产生512字节的ECC奇偶码,ECC奇偶码是24位/512字节。 htt(74)p://www.icwin.net/bbs http://www.wantso.com
l 24-bit ECC奇偶代码 = 18-bit行奇偶 6位列奇偶
l ECC 生成模块执行以下任务
1. 当写入数据时, the ECC生成模块产生一个ECC码。 htt(74)p://www.icwin.net/bbs http://www.wantso.com
2. 当读数据时,ECC生成模块产生一个ECC码并同原先写入的ECC码比较。
相关文章推荐
- SDRAM工作原理及S3C2410 SDRAM控制器配置方法(2)
- [转载]S3C2410对Nand flash读操作的分析----仔细读下会有新理解的
- 串口通讯基础及S3C2410 UART控制器(www.taoydy.com)
- s3c2410的nand flash的驱动分析
- u-boot1.1.6移植到S3C2410的详细步骤--nand flash(新代码)
- 在SOC 中实现Nand Flash 控制器的一种方法
- u-boot在s3c2410开发板上移植(NAND Flash Boot)过程
- S3C2410内置LCD控制器
- NAND FLASH控制器
- NAND Flash控制器
- SDRAM工作原理及S3C2410 SDRAM控制器配置方法(1) 收藏
- s3c2410的nand flash的驱动分析
- 【记录】NAND FLASH控制器
- NandFlash系列之二:S3C2410读写Nand Flash分析
- LCD基础及S3C2410 LCD控制器
- 串口通讯基础及S3C2410 UART控制器
- u-boot在s3c2410开发板上移植(NAND Flash Boot)过程
- S3C2410 LCD控制器
- NAND FLASH控制器
- NandFlash系列之二:S3C2410读写Nand Flash分析 .