zoukankan      html  css  js  c++  java
  • mtd框架

    概述:

    对于我们写驱动的来说,nand Flash、norFlash 等常见设备的驱动内核已经帮我们是实现好了,我们只需要在板级文件或平台文件中对分区表信
    息进行修改(如arch/arm/match-s3c24xx/mach-jive.c)。
    针对不同的CPU,根据nand控制器时序要求,微改一下最底层操作硬件的函数如(drivers/mtd/nand/s3c2410.c中的一些初始化函数)
    

    层次:

    norFlash驱动:

    在mtd基础上又做了一层抽象,对于我们写驱动的,不用过分关心mtd的细节,只要定义一个map_info,再调用do_map_probe()即可。
    

    重要的结构体:

    实例:

    内核源码drivers/mtd/maps/physmap.c
    

    nandFlash驱动:

    在mtd基础上又做了一层抽象,对于我们写驱动的,不用过分关心mtd的细节,只要定义一个nand_chip,
    初始化其中的操作方法(当然,这些操作方法不赋值也是可以的将会使用默认的nand_base.c中的相应方法)。
    将这个nand_chip作为mtd_info的私有数据域,最后调用nand_scan().
    

    重要的结构体:

    实例:

    `内核源码 drivers/mtd/nand/s3c2410.c
    

  • 相关阅读:
    bzoj 4007
    bzoj 2190
    bzoj 2186
    bzoj 2005
    bzoj 2721
    bzoj 1951
    CF919F
    CF1005F
    CF1019C
    bitset用法详解
  • 原文地址:https://www.cnblogs.com/xxg1992/p/6636371.html
Copyright © 2011-2022 走看看