NAND flash.doc


文档分类:IT计算机 | 页数:约2页 举报非法文档有奖
1/2
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/2
文档列表 文档介绍
在s3c2410处理器中有专门的NAND flash控制器,他们位于SFR区,具体可以参看s3c2410用户手册。以下的这些代码均可以在vivi或者kernel里面找到。在vivi中,有关NAND flash的驱动都在driver/mtd/nand/下,该目录中包含的源文件: flash的主要驱动。 NAND flash 芯片定义了一个很长的结构,这个结构中包含了操作NAND flash的函数和一些必要的变量(include/mtd/)。
struct nand_chip {
#ifdef CONFIG_MTD_NANDY /* =y */
void (*hwcontrol)(int cmd); void (*write_cmd)(u_char val); void (*write_addr)(u_char val); u_char (*read_data)(void);
void (*write_data)(u_char val);
void (*wait_for_ready)(void); int page_shift;
u_char *data_buf;
u_char *data_cache;
int cache_page; struct nand_smc_dev *dev; u_char spare[SMC_OOB_SIZE]; #else /* CONFIG_MTD_NANDY */
……
#ifdef
u_char ecc_code_buf[6];
u_char reserved[2]; #endif
#endif /* CONFIG_MTD_NANDY */
};
纵观对NAND flash的各种操作(read、write、erase),无外乎如下几种操作:
nand_select()
mand()
read,write……
flash nand_deselect() 下面是以上四步的实现代码:
1、选择NAND flash
#define nand_select() this->hwcontrol(NAND_CTL_SETNCE); \
mand(mtd, NAND_CMD_RESET, -1, -1); \ udelay (10);
hwcontrol(NAND_CTL_SETNCE)的作用是设置2410的NAND FLASH CONFIGURATION (NFCONF) REGISTER的NAND Flash Memory chip enable位为0,这位寄存器在自动重启后就被系统自动清零。如果要访问NAND flash的内存,这位必须置1。 mand(mtd, NAND_CMD_RESET, -1, -1);向flash发送命令,此命令为reset,即为重置NAND flash。
然后是10us的延迟,给flash个反应时间。
2、发送命令
mand()。NAND flash的命令有如下几种:命令命令值描述
NAND_CMD_READ0 0 读操作 NAND_CMD_READ1 1 读操作
NAND_CMD

NAND flash 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数2
  • 收藏数0 收藏
  • 顶次数0
  • 上传人fy5186fy
  • 文件大小0 KB
  • 时间2015-05-19