电子大神的日记本,供应链专家的功夫茶盘,在这里记录、分享与共鸣。

登录以开始

S3C2410 NAND FLASH配置寄存器初始化

北京蓝海微芯2410开发板的NAND FLASH配置寄存器初始化

MemCfgInit(); //设置NAND FLASH的配置寄存器

该函数原型:

/*******************************************************
Function name: MemCfgInit
Parameter    : void
Description  : 设置NAND FLASH的配置寄存器
Return      : void
Argument     : enable nand flash control, initilize ecc,
chip disable,
Autor & date :
********************************************************/
void MemCfgInit(void)
{
 //rCLKCON |= 0xffff0;  
   
 //enable nand flash control, initilize ecc, chip disable,  
 rNFCONF = (1<<15)|(1<<12)|(1<<11)|(7<<8)|(7<<4)|(7);      
}

使能nand flash控制,初始化,芯片禁能

1<<15,NFCONF寄存器是NAND FLASH的配置寄存器
第15位置1,是使能nand flash控制寄存器
此位在芯片开始工作,自动导入的时候将被自动清零,
如果想访问nand flash存储,该位必须置一。

14,13位为保留位

1<<12,第12位置1,初始化ECC,S3C2410仅仅支持512个字节的ECC校验,
所以每512个字节,需要设置一次ECC初始化。
ECC是Error Checking and Correcting,错误检查与校验

1<<11,第11位置1,NAND flash nFCE 设置为不活动,即nand flash存储芯片禁能

7<<8,即10,9,8位设置为111,
这3位是CLE ALE信号的持续时间值设置,持续时间=HCLK*(TACLS + 1)
TACLS即111(b)=7;

7位为保留位

7<<4,即6,5,4位设置为111,为TWRPH0 周期设置值,duration=HCLK*

(TWRPH0+1)

3位为保留位

7 位第2,1,0,设置为111,为TWRPH1周期设置值,duration=HCLK*(TWRPH0+1)

博主
joyzml
朱铭雷的菜鸟流水账
男儿要有血性!从今以后,刻苦学习,刻苦工作。在此记录我学习的点点滴滴。
点击跳转