求一本flash编程之书
现在需要将nand flash的一个mtd分区作为日志记录的专用分区,每条日志大小固定,应用程序通过/dev/mtd5节点直接读写这一块日志分区而不通过文件系统,我参考了一下mtd-utils的源码发现内容还比较多自己又不熟悉,希望找本书先系统地学习一下再自己做这个日志模块,希望有大家推荐一本好书,或者提供些连接,谢谢。 有篇讲MTD的文章写得不错,你可以搜索一下。Flash各个厂家的差异也挺大的,要写flash驱动,无非写驱动的几个要素要清晰:
1、硬件datasheet;
2、操作系统驱动层架构
如果是单片机裸系统的flash驱动,纯粹就是理解datasheet来操作了。 mtd源代码分析 我的意思是,熟悉/dev/mtdx字符设备的read()/write()/ioctl()这些系统调用尤其是ioctl()的命令和参数用法,并不涉及底层驱动,因为我是想在应用程序中不通过文件系统直接读写这块裸Nand flash 这个可能吗?不通过系统调用,应用层没法直接操作硬件的。你怎么应用层裸读写呢? 回复 5# EZWORD
当然要通过系统调用了,我说过就是read/write/ioctl这些系统调用了,问题是对针对/dev/mtdx的这些系统调用尤其是ioctl()命令参数等不熟悉,想看相关资料。 我的意思是,熟悉/dev/mtdx字符设备的read()/write()/ioctl()这些系统调用尤其是ioctl()的命令和参数用法, ...
garyv 发表于 2010-12-29 22:04 http://linux.chinaunix.net/bbs/images/common/back.gif
你这些要求,是了解Linux驱动架构的问题,还是加强看看LDD3吧 ls所言及是 回复 8# EZWORD
我并不是要看这些系统调用的语法,这几个系统调用我都用过多次了,问题是:比如ioctl(),他的命令有哪些,各个命令带什么样的结构体指针,结构体成员是什么含义,使用read/write要注意什么。。。 回复 9# garyv
补充:以上是针对/dev/mtdx的ioctl()/read()/write()的疑问,因为不同的字符设备虽然都能用ioctl,但它的命令码和最后那个结构体指针通常是不同的
页:
[1]
2