Linux 下 Nand Flash 调用关系

Posted fanweisheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 下 Nand Flash 调用关系相关的知识,希望对你有一定的参考价值。

Nand Flash 设备添加时数据结构包含关系

struct mtd_partition        partition_info[]

--> struct s3c2410_nand_set     nandset

--> struct s3c2410_platform_nand superlpplatfrom

--> struct platform_device      s3c_device_nand

在该数据结构的 name 字段的初始化值"s3c2410-nand",必须与 Nand Flash 设备驱动注册时 struct device_driver结构中的 name 字段相同,因为 platfrom bus 是依靠名字来匹配的.

--> struct platform_device      *smdk2410_devices[]

 

 Nand Flash 设备注册时数据结构包含关系

struct device_driver s3c2410_nand_driver

-->struct device *dev 该数据构由系统分配.

-->struct platform_device *pdev

-->struct s3c2410_platform_nand *plat

-->struct s3c2410_nand_set nset

-->struct mtd_partition

 

当发生系统调用时数据结构调用关系

struct mtd_info

 

它的*priv 指向 chip

-->struct nand_chip 它的*priv 指向 nmtd

-->struct s3c2410_nand_mtd

它是 s3c2410_nand_info 的一个字段

-->s3c2410_nand_info

它被设为 Nand Flash 设备驱动的私有数据结构,在 Nand Flash 设备驱动注册时分配空间.

-->struct device

以上是关于Linux 下 Nand Flash 调用关系的主要内容,如果未能解决你的问题,请参考以下文章

如何编写Linux下Nand Flash驱动

Linux MTD下获取Nand flash各个参数的过程的详细解析

如何编写Linux下Nand Flash驱动

Linux 下 Nand Flash 驱动主要数据结构说明

Nand flash基本知识

linux下怎样写数据到nandflash