- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- Lovestory歌词TaylorSwift.docx
- LPC3250I2S音频模块.doc
- luojao论文设计模板.doc
- LZ精密超平面部吸脂全过程.doc
- l打翻醋坛子让其醋意大发(从.doc
- l玄关设计形式要素.doc
- M9手机锂电池的正确使用方法.doc
- MacOSX10.9完整字体包打包下载.docx
- MACOSX终端常用命令.doc
- MAC选择、购买到基本操作汇总.docx
- 2024黑龙江省勃利县《质量员之设备安装质量基础知识》资格考试必刷200题题库大全附参考答案(巩固).docx
- 2024黑龙江省勃利县《质量员之设备安装质量基础知识》考试必背200题题库含答案(B卷).docx
- 2024黑龙江省勃利县《质量员之设备安装质量基础知识》考试必背200题题库及答案【典优】.docx
- 2024黑龙江省勃利县《执业药师之西药学专业一》考试内部题库及答案【全国使用】.docx
- [庆阳]2024年甘肃庆阳市人大常委会办公室下属事业单位选调笔试历年参考题库附带答案详解.docx
- 使用希沃教学白板心得体会.pptx
- 2024黑龙江省前进区《质量员之设备安装质量基础知识》考试题库及参考答案(考试直接用).docx
- 2023-2024学年重庆涪陵区物理八年级第一学期期末达标检测模拟试题含解析.doc
- 2024黑龙江省南山区《质量员之设备安装质量基础知识》资格考试完整题库含答案(考试直接用).docx
- 供应链金融培训课件.pptx
文档评论(0)