NandFlash的规范程序代码.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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精品文档

相关文档