当前位置:首页 > 单片机 > 单片机
[导读]OK6410裸机简单的NANDFLASH驱动,只写了个简单的函数,读取一页/**************************************************************************************************************文件名:NandFlash.c*功能:S3C6410N

OK6410裸机简单的NANDFLASH驱动,只写了个简单的函数,读取一页

/*************************************************************************************************************

*文件名:NandFlash.c

*功能:S3C6410NandFlash底层驱动函数

*作者:陈鹏

*创建时间:2012年3月31日21:34

*最后修改时间:2012年3月31日

*详细:NandFlash底层驱动函数,

板载NANDFLASH信息:2GB,MLCK9G4G08(K9GAG08U0D,页大小4KB,4bit纠正)

*************************************************************************************************************/

#include"s3c6410_system.h"

#include"NandFlash.h"

#include"s3c6410_map.h"

//配置

//CONF

#defineECCType1//ECC类型选择,0:SLC(1位修正);1:MLC(4位修正)

#defineTACLS5//CLE&ALE持续时间(0-7)(=HCLK*TACLS)

#defineTWRPH05//TWRPH0持续时间(0-7)(=HCLK*(TWRPH0+1))

#defineTWRPH15//TWRPH1持续时间(0-7)(=HCLK*(TWRPH1+1))

#defineAdvFlash1//预先NANDflash存储器启动;0:支持512字节/页;1:支持2KB/页

#defineAddrCycle1//NANDFlash存储器地址周期,0:0:3地址周期,1:4地址周期;1:0:4地址周期,1:5地址周期

//CONT

#defineSoftLock0//软件锁配置,0:禁用锁,1:使能锁

#defineMainECCLock1//锁存主区ECC生成:0:开启主区ECC;1:锁存主区ECC

#defineSpareECCLock1//锁存备用区ECC生成;0:开启备用区ECC,1:锁存备用区ECC,备用区ECC状态寄存器是NFSECC(0x7020003C)

#defineRegNCE11//NANDFlash存储器nGCS[3]信号控制:0:强制nGCS[3]为低(使能片选);1:强制nGCS[3]为高(禁用片选)注:即使Reg_nCE1和Reg_nCE0同时被设置为0,它们之中也只有一个被声明

#defineMODE1//NANDFlash控制器操作模式:0:NANDFlash控制器禁用(不工作)1:NANDFlash控制器使能

//NANDFLASH操作宏

#defineNANDCMD(cmd)(NAND->CMMD=(cmd))//向NANDflash写入命令

#defineNANDADDR(addr)(NAND->ADDR=(addr))//向NANDflash写入地址

#defineNANDDATA(NAND->DATA)//向NANDflash读写数据

#defineNF_nCS3_L(NAND->CONT&=~(1<<2))

#defineNF_nCS3_H(NAND->CONT|=(1<<2))

#defineNF_nCS2_L(NAND->CONT&=~(1<<1))//片选

#defineNF_nCS2_H(NAND->CONT|=(1<<1))

#defineNF_RnB(NAND->STAT&BIT0)//0:存储器忙,1:空闲

//NANDFLASH信息宏

#defineFLASH_MAX_ADDR0x80000000//FLASH最大能够达到的地址,是2GB

#defineFLASH_BLOCK_SIZE0x20000//FLASH块大小,为512KB

#defineFLASH_PAGE_SIZE0x1000//FLASH页大小,为4KB

//ECC8BIT512B

//NANDFLASH命令定义

#defineNAND_READ_1th0x00//读数据区,第一个访问周期

#defineNAND_READ_2th0x30//读数据区,第二个访问周期

#defineNAND_READ_ID0x90//读NANDID

#defineNAND_READ_STATUS10x70//读状态1

#defineNAND_READ_STATUS20xf1//读状态2

#defineNAND_RESET0xff//复位

/*************************************************************************************************************************

*函数:voidNnadFlashWait(void)

*功能:等待操作完成

*参数:无

*返回:无

*依赖:无

*作者:陈鹏

*时间:20120331

*最后修改时间:20120331

*说明:低电平操作忙

*************************************************************************************************************************/

voidNnadFlashWait(void)

{

while(NF_RnB==0);//等待写完成为低表示忙

}

/*************************************************************************************************************************

*函数:staticvoidNandFlashWrite5BitAddr(vu32Addr)

*功能:向NANDFLASH写入4字节的地址

*参数:地址

*返回:无

*依赖:无

*作者:陈鹏

*时间:20120331

*最后修改时间:20120331

*说明:写NAND地址,地址共32bit,分5次写入

*************************************************************************************************************************/

staticvoidNandFlashWrite5BitAddr(vu32Addr)

{

vu8temp;

temp=Addr&0xff;//取低8位地址

printf("rn1th=%02X",temp);

NANDADDR(temp);//写入A0-A7;

temp=(Addr>>8)&0x1f;

printf("rn2th=%02X",temp);

NANDADDR(temp);//写A8-A12,0,0,0

temp=(Addr>>13);

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

近日小鹏汽车获得大众集团7亿美元投资的消息,引发极大关注。不可否认,在当下汽车智能化、电气化的发展阶段,中国在技术和市场上都走在了世界前列。虽然今年上半年整车市场销售情况不佳,但汽车仍是具有超高增长前景的赛道,成为芯片厂...

关键字: winbond ddr nand adas

新款 3D NAND 产品将进一步提升移动设备、汽车、客户端 (PC) 和数据中心等应用的存储能力

关键字: 美光 nand 闪存

  根据全球技术研究和咨询公司Gartner最新预测,2013年全球半导体总收入预计将达3,110亿美元,与2012年相比,增长4.5%。由于经济疲软,再加上库存调整的因素,Gartner下调了

关键字: 智能手机 DRAM nand asic 半导体市场

当你与一位半导体存储器行业的老投资者交谈时,你会看到,他面对这个模棱两可行业所表现出的冷静态度。因为破坏利润的因素总是存在,而一些因素可能会压倒你在投资时候的乐观逻辑。 今天的话题之一是

关键字: nand

东芝是NAND闪存的发明人,1987年推出了全球首个NAND芯片,迄今已经33年了。如今继承东芝衣钵的是铠侠存储,他们提出了一种大胆的SSD技术—;—;晶圆级SSD,不再需要做什么外壳、PCB、接口,

关键字: nand ssd 铠侠 闪存

根据集邦咨询半导体研究中心最新调查,2019年第四季度,NAND Flash销售总量季增近10%,市场开始逐渐供不应求。集邦咨询半导体研究中心认为,内存市场回暖得益于不断增长的数据中心需求。据相关数据,第四季度NAND...

关键字: Flash nand

闪存跌价已经两年了,但是现在好日子要结束了。 自从6月份东芝、西数位于日本的NAND闪存工厂断电停工一个月之后,闪存市场就一直有各种涨价的传闻,听多了大家觉得这就是狼来了,实际上并不是,Q3季度闪存价

关键字: nand 硬盘 芯片 西数 闪存

1月3日消息,日前,集邦咨询半导体研究中心(DRAMeXchange)发布预测报告称,基于淡季需求表现不淡、供给增长保守以及供应商库存已下降,各类产品合约价在2020年第一季均可望持续上涨。 其中,消

关键字: nand ssd 上涨 价格 涨价 闪存

紫光旗下的长江存储今天宣布,在北京举行的“2020中国IC风云榜”上,长江存储公司获得了备受瞩目的年度技术突破奖,长江存储执行董事,紫光集团联席总裁刁石京代表公司领奖。 作为紫光集团芯片板块核心企业

关键字: nand 长江存储 闪存 年度技术突破 xtacking

今(8)日消息,原名东芝存储器的铠侠(Kioxia)位于日本四日市的晶圆6厂传出火警。铠侠对客户发出通知,指2020年1月7日上午6点10分,该公司位于日本三重县四日市的Fab6工厂,内部设备发生火警

关键字: Flash nand
关闭
关闭