网站大量收购闲置独家精品文档,联系QQ:2885784924

NandFlash的规范程序代码.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
nandflash裸机驱动程序的分析 nandflash在嵌入式设备中广泛的应用,学些nandflash的重要性不言而喻,这里分析一段实例代码,不管是编码规范还是程序的结构都是很有价值的。下边是K9F1208U0M的实例代码。 首先看nand.h文件: #ifndef __NAND_Flash__ #define __NAND_Flash__ extern void InitNandCfg(void); //初始化K9F1208UOM NAND flash 配置 extern unsigned int ReadChipId(void); //读取NAND Flash的ID号 extern unsigned short ReadStatus(void); //读取NAND Flash的状态 extern unsigned int EraseBlock(unsigned int addr); //NAND Flash块擦除 extern void ReadPage(unsigned int addr, unsigned char *buf); //K9F1208U0M nand flash 的页数据读 extern void WritePage(unsigned int addr, unsigned char *buf); //K9F1208U0M nand flash 的页数据写 extern void MarkBadBlk(unsigned int addr); //屏蔽 K9F1208U0M nand flash 的坏块 extern int CheckBadBlk(unsigned int addr); //检查 K9F1208U0M nand flash 的坏块 extern void InitNandFlash(void); //K9F1208U0M nand flash 的初始化 #endif 需要详细看的是nandflash.c文件: //==================================================== // 常量定义区 //==================================================== #define EnNandFlash() (rNFCONF |= 0x8000) //bit15=1 enable NAND flash controller #define DsNandFlash() (rNFCONF = ~0x8000) //bit15=1 disable NAND flash controller #define InitEcc() (rNFCONF |= 0x1000) //bit12=1 initialize ECC #define NoEcc() (rNFCONF = ~0x1000) //bit12=0 initialize ECC #define NFChipEn() (rNFCONF = ~0x800) //bit11=0 NAND flash nFCE = L (active) #define NFChipDs() (rNFCONF |= 0x800) //bit11=1 NAND flash nFCE = H (inactive) #define WrNFCmd(cmd) (rNFCMD = (cmd)) //write commond to nand flash #define WrNFAddr(addr) (rNFADDR = (addr)) //write address to nand flash #define WrNFDat(dat) (rNFDATA = (dat)) //write data to nand flash #define RdNFDat() (rNFDATA) //read data from nand flash #define RdNFStat() (rNFSTAT) //read status from nand flash #define NFIsBusy() (!(rNFSTAT1)) //whether nand flash is busy? #defin

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档