nandflash驱动的读写操作实现过程
韦东山的视频讲了nandflash驱动的初始化过程,但是没有讲 '发生 ' 读 系统调用'时 驱动的硬件操作过程. 我找了半天也没找到相关的读写硬件操作在哪里. 因为太晚了,先在这里记点笔记.打个开头. --------------------------------------------------------------------------------------------------------- 首先韦东山的例程里没有设置nand_chip 结构体的 read_byte 等成员. 所以会在nand_scan()--->nand_set_defaults()中设置 if (!chip->read_byte) --------------------------------------------------------------------------------------------------------- 在nand文件夹查找cmd_ctrl的调用,会发现,cmd_ctrl使用了以NAND_CMD_开头的宏 这些宏对应了芯片的硬件操作命令. 读系统调用要操作硬件必须使用这些宏,那么找一个例子来搜索 NAND_CMD_READSTART 但是并没有什么发现,这个宏还是在命令相关的函数中使用.. 在Sh_flctl.c中,有很多类似这样的函数 flctl_cmdfunc if (flctl->page_size) { --------------------------------------------------------------------------------------------------------- 再看chip->cmdfunc = nand_command; chip->cmd_ctrl(mtd,page_addr,ctrl); --------------------------------------------------------------------------------------------------------- 虽然不知道具体调用哪个函数,但是应该是把需要操作的命令存在 int command中,第二周期的命令左移8位保存 然后再调用nand_chip 的读写函数 太晚了..眼睛痛,明天继续 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |