Linux MTD 源分析.PDF

OOB: out of band,某些内存技术支持out-of-band数据——例如,NAND flash每512字节的

Linux MTD 源代码分析

by Jim Zeus

Version 0.1

2002/4/29

Copyright ©

OOB: out of band,某些内存技术支持out-of-band数据——例如,NAND flash每512字节的

Please mail to:jimzeus@

Any correction will be appreciated.

目录

专有名词:

Linux MTD介绍:

设备层和原始设备层的函数调用关系(红色部分需要我们实现):

NOR型Flash芯片驱动与MTD原始设备

NAND和NOR 的比较

源码分析

头文件分析

mtd.h

MTD_CHAR_MAJOR

MTD_BLOCK_MAJOR

MAX_MTD_DEVICES

mtd_info

mtd_info.type 的取值

mtd_info.flags 的取值

mtd_info.ecctype 的取值

erase_info

erase_info.state 的取值

mtd_notifier

get_mtd_device

put_mtd_device

partitions.h

mtd_partition

MTDPART_OFS_APPEND

MTDPART_SIZ_FULL

map.h

map_info

mtd_chip_driver

gen_probe.h

chip_probe

OOB: out of band,某些内存技术支持out-of-band数据——例如,NAND flash每512字节的

cfi.h

cfi_private

cfi_private.cfi_mode 的取值

cfi_ident

cfi_ident.P_ID 的取值

flashchip.h

flchip

/drivers/mtd/子目录

mtdcore.c

mtd_table

mtd_notifiers

add_mtd_device

del_mtd_device

register_mtd_user

unregister_mtd_user

__get_mtd_device

mtdpart.c

mtd_partitions

mtd_part

PART(x)

add_mtd_partitions

del_mtd_partitions

part_read

part_write

part_readv

part_writev

part_erase

part_lock

part_unlock

part_sync

part_suspend

part_resume

mtdblock.c

notifier

mtdblk_dev

mtdblks

erase_callback

erase_write

write_cached_data

do_cached_write

do_cached_read

OOB: out of band,某些内存技术支持out-of-band数据——例如,NAND flash每512字节的

mtdblock_open

mtdblock_release

handle_mtdblock_request

leaving

mtdblock_thread

mtdblock_ioctl

mtd_fops

init_mtdblock

cleanup_mtdblock

mtdchar.c

notifier

mtd_lseek

mtd_open

mtd_close

MAX_KMALLOC_SIZE

mtd_read

mtd_write

mtd_erase_callback

mtd_ioctl

mtd_fops

init_mtdchar

cleanup_mtdchar

/drivers/mtd/chips子目录

chipreg.c

chip_drvs_list

register_mtd_chip_driver

unregister_mtd_chip_driver

get_mtd_chip_driver

do_map_probe

cfi_probe.c

cfi_chipdrv

cfi_pr

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐