Nand Flash驱动程序编写(2)

void    (*write_buf)(struct mtd_info *mtd, const uint8_t *buf, int len);
void    (*read_buf)(struct mtd_info *mtd, uint8_t *buf, int len);
/*读取数据并验证*/
int    (*verify_buf)(struct mtd_info *mtd, const uint8_t *buf, int len);
/*选定芯片*/
void    (*select_chip)(struct mtd_info *mtd, int chip);
/*检查坏块*/
int    (*block_bad)(struct mtd_info *mtd, loff_t ofs, int getchip);
/*mark(标记)bad block*/
int    (*block_markbad)(struct mtd_info *mtd, loff_t ofs);
/*发送命令/地址*/
void    (*cmd_ctrl)(struct mtd_info *mtd, int dat,unsigned int ctrl);
/*读取芯片状态*/
int    (*dev_ready)(struct mtd_info *mtd);
/*发送命令*/
void    (*cmdfunc)(struct mtd_info *mtd, unsigned command, int column, int page_addr);
/*等待就绪*/
int    (*waitfunc)(struct mtd_info *mtd, struct nand_chip *this);
/*擦除命令函数*/
void    (*erase_cmd)(struct mtd_info *mtd, int page);
/*扫描坏块表*/
int    (*scan_bbt)(struct mtd_info *mtd);
int    (*errstat)(struct mtd_info *mtd, struct nand_chip *this, int state, int status, int page);
/*高级页面写功能*/
int    (*write_page)(struct mtd_info *mtd, struct nand_chip *chip,const uint8_t *buf, int page, int cached, int raw);

int    chip_delay;
struct nand_ecc_ctrl ecc;
struct nand_buffers *buffers;
...................
};

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/8de93cc6319f1cca71498a4b52c50343.html