s3c6410硬件NAND FLASH CONTROLLER(NAND FLASH 控制器)

2024-04-06 04:58

本文主要是介绍s3c6410硬件NAND FLASH CONTROLLER(NAND FLASH 控制器),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、OVERVIEW

The 6410 is equipped with an internal SRAM buffer called ‘Steppingstone’.
Generally, the boot code will copy NAND flash content to SDRAM. Using hardware ECC, the NAND flash data
validity will be checked. After the NAND flash content is copied to SDRAM, main program will be executed on
SDRAM.To use NAND Flash, 'XSELNAND' pin must be connected to High Level.

S3C6410 具备了一个内部SRAM缓冲器,叫做“STEPPINGSTONE”,支持NAND FLASH 的系统引导。当系统启动时,NAND FLASH 存储器的前面几KB的数据将被自动载入到STEPPINGSTONE 中,然后系统自动执行这些载入的引导代码。通常情况下,这些 引导代码需要将NAND FLASH 中程序内容拷贝到SDRAM 中,在引导代码执行完毕后跳转到SDRAM 执行。使用S3C6410 内部硬件ECC 功能可以对NAND FLASH 的数据进行有效性的检测。

2、FEATURES

NAND flash controller features include:
1. NAND Flash memory I/F: Support 512Bytes and 2KB Page . 支持512 字节和2KB 页。
2. Software mode: User can directly access NAND flash memory. for example this feature can be used in
read/erase/program NAND flash memory.用户可以直接访问NAND FLASH 控制器。例如这个特性可以用于读/擦/编程NAND FLASH存储器。
3. Interface: 8-bit NAND flash memory interface bus.  8 位NAND FLASH 存储器接口总线。
4. Hardware ECC generation, detection and indication (Software correction). 硬件ECC 产生、检测和标志(软件纠正)。
5. Support both SLC and MLC NAND flash memory :  1-bit ECC, 4-bit and 8-bit ECC for NAND flash.支持SLC 和MLC 的NAND FLASH 控制器:1 位ECC 用于SLC,4 位和8位ECC 用于MLC 的NAND FLASH。

(Recommend: 1bit ECC for SLC, 4bit and 8bit ECC for MLC NAND Flash)

注:SLC和MLC不同
6. SFR I/F: Support Byte/half word/word access to Data and ECC Data register, and Word access to other
registers   支持字节/半字/字数据的访问和ECC 的数据寄存器,用字来访问其他寄存器。
7. SteppingStone I/F: Support Byte/half word/word access.
8. The Steppingstone 8-KB internal SRAM buffer can be used for another purpose .

3、BLOCK DIAGRAM


4、NAND FLASH MEMORY TIMING


5、NAND FLASH ACCESS

6410 does not support NAND flash access mechanism directly. It only supports signal control mechanism for NAND flash access. Therefore software is responsible for accessing NAND flash memory correctly.

S3C6410 仅支持软件模式访问。
1. Writing to the command register (NFCMMD) = the NAND Flash Memory command cycle
2. Writing to the address register (NFADDR) = the NAND Flash Memory address cycle
3. Writing to the data register (NFDATA) = write data to the NAND Flash Memory (write cycle)
4. Reading from the data register (NFDATA) = read data from the NAND Flash Memory (read cycle)
5. Reading main ECC registers and Spare ECC registers (NFMECCD0/1, NFSECCD) = read data from the
NAND Flash Memory

In NAND flash access, you must check the RnB status input pin by polling the signal or using interrupt.

(1)写命令寄存器=NAND FLASH 存储器命令周期。
(2)写地址寄存器=NAND FLASH 存储器地址周期。
(3)写数据寄存器=写数据到NAND FLASH 存储器(写周期)。
(4)读数据寄存器=从NAND FLASH 存储器读数据(读周期)。
(5)读主ECC 寄存器和备用ECC 寄存器=从NAND FLASH 存储器读数据。
在软件模式下,必须通过利用检测和中断来检查RnB 输入引脚的状态。

6、1-BIT / 4-BIT / 8-BIT ECC (ERROR CORRECTION CODE)

NAND flash controller has four ECC (Error Correction Code) modules for 1 bit ECC , one for 4bit ECC and one for
8bit ECC.  NAND FLASH 控制器有4 个ECC(错误纠正码)模块用于SLC 类型的NAND FLASH 存储器,1 个ECC 模块用于MLC 类型的NAND FLASH 存储器。
The 1bit ECC modules for main data area can be used for (up to) 2048 bytes ECC parity code generation, and 1
bit ECC module for spare area can be used for (up to) 4 bytes ECC Parity code generation.这些模块对于主存储区可用于(高达)2048 字节ECC 奇偶校验码的产生,对于备用区可用于(高达)4 字节ECC 奇偶校验码的产生。
Both 4bit and 8bit ECC modules can be used for only 512 bytes ECC parity code generation.
4 bit and 8bit ECC modules generate the parity codes for each 512 byte. However, 1 bit ECC modules generate
parity code per byte lane separately.

6.1、ECC MODULE FEATURES

ECC generation is controlled by the ECC Lock (MainECCLock, SpareECCLock) bit of the Control register. When
ECCLock is Low, ECC codes are generated by the H/W ECC modules
4bit ECC modules generate max 7byte parity codes and 8 bit ECC modules generate 13byte parity codes at each
512/24 bytes.

ECC 的产生是通过ECC 锁定(MainECCLock,SpareECCLock)位的控制寄存器来控制的。当ECCLock 为低时,ECC 校验码通过H/W ECC 模块产生。

6.1.1、1-BIT ECC PROGRAMMING ENCODING AND DECODING

6.1.2、4-BIT ECC PROGRAMMING GUIDE (ENCODING)

6.1.3、4-BIT ECC PROGRAMMING GUIDE (DECODING)

6.1.4、8-BIT ECC PROGRAMMING GUIDE (ENCODING)

6.1.5、8-BIT ECC PROGRAMMING GUIDE (DECODING)

7、


8、


9、NAND FLASH CONTROLLER SPECIAL REGISTERS



这篇关于s3c6410硬件NAND FLASH CONTROLLER(NAND FLASH 控制器)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/879052

相关文章

C#实现获取电脑中的端口号和硬件信息

《C#实现获取电脑中的端口号和硬件信息》这篇文章主要为大家详细介绍了C#实现获取电脑中的端口号和硬件信息的相关方法,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 我们经常在使用一个串口软件的时候,发现软件中的端口号并不是普通的COM1,而是带有硬件信息的。那么如果我们使用C#编写软件时候,如

如何安装HWE内核? Ubuntu安装hwe内核解决硬件太新的问题

《如何安装HWE内核?Ubuntu安装hwe内核解决硬件太新的问题》今天的主角就是hwe内核(hardwareenablementkernel),一般安装的Ubuntu都是初始内核,不能很好地支... 对于追求系统稳定性,又想充分利用最新硬件特性的 Ubuntu 用户来说,HWEXBQgUbdlna(Har

【STM32】SPI通信-软件与硬件读写SPI

SPI通信-软件与硬件读写SPI 软件SPI一、SPI通信协议1、SPI通信2、硬件电路3、移位示意图4、SPI时序基本单元(1)开始通信和结束通信(2)模式0---用的最多(3)模式1(4)模式2(5)模式3 5、SPI时序(1)写使能(2)指定地址写(3)指定地址读 二、W25Q64模块介绍1、W25Q64简介2、硬件电路3、W25Q64框图4、Flash操作注意事项软件SPI读写W2

什么是 Flash Attention

Flash Attention 是 由 Tri Dao 和 Dan Fu 等人在2022年的论文 FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness 中 提出的, 论文可以从 https://arxiv.org/abs/2205.14135 页面下载,点击 View PDF 就可以下载。 下面我

STM32内部闪存FLASH(内部ROM)、IAP

1 FLASH简介  1 利用程序存储器的剩余空间来保存掉电不丢失的用户数据 2 通过在程序中编程(IAP)实现程序的自我更新 (OTA) 3在线编程(ICP把整个程序都更新掉) 1 系统的Bootloader写死了,只能用串口下载到指定的位置,启动方式也不方便需要配置BOOT引脚触发启动  4 IAP(自己写的Bootloader,实现程序升级) 1 比如蓝牙转串口,

STM32 ADC+DMA导致写FLASH失败

最近用STM32G070系列的ADC+DMA采样时,遇到了一些小坑记录一下; 一、ADC+DMA采样时进入死循环; 解决方法:ADC-dma死循环问题_stm32 adc dma死机-CSDN博客 将ADC的DMA中断调整为最高,且增大ADCHAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc_buffer, ADC_Buffer_Size); 的ADC_Bu

MVC(Model-View-Controller)和MVVM(Model-View-ViewModel)

1、MVC MVC(Model-View-Controller) 是一种常用的架构模式,用于分离应用程序的逻辑、数据和展示。它通过三个核心组件(模型、视图和控制器)将应用程序的业务逻辑与用户界面隔离,促进代码的可维护性、可扩展性和模块化。在 MVC 模式中,各组件可以与多种设计模式结合使用,以增强灵活性和可维护性。以下是 MVC 各组件与常见设计模式的关系和作用: 1. Model(模型)

jmeter之仅一次控制器

仅一次控制器作用: 不管线程组设置多少次循环,它下面的组件都只会执行一次 Tips:很多情况下需要登录才能访问其他接口,比如:商品列表、添加商品到购物车、购物车列表等,在多场景下,登录只需要1次,我们期望的是重复执行登陆后面的接口来做压测,这就和事务相关,例如 事务1: 登录—>添加购物车 事务2: 登录—>购物车列表 事务3: 登录—>商品列表—>添加购物车 … 一、仅一次控制器案例 在

为控制器的方法添加必要参数

前言:做这个系统时,要求每次调用接口时要传操作人、操作人电脑ip、菜单id,然后计入log。本来前端读取到然后加入请求头,后端写入log即可。但是老大要求后端也要把控必传参数,避免前端忘记。所以就写了这个。IOperationFilter 这个是百度知道的。主要用于在Swagger生成的API文档中动态地添加或修改操作(即API接口)的元数据。 用处:可以自动地为 Swagger/OpenAPI

机器视觉硬件选型根据某项目相机镜头

一 项目总需求 1、大视野检测需求: (1)大视野: ①产品尺寸15.6寸屏幕,产品大小:350mm x 225mm; ②产品料盘尺寸大小:565mm x 425mm; ③工作距离:880mm;检测精度:500μm; 1、大视野检测需求: (1)大视野: ①产品尺寸15.6寸屏幕,产品大小:350mm x 225mm; ②产品料盘尺寸大小:565mm x 425mm; 工作距离: