首页 > 其他分享 >mtd子系统

mtd子系统

时间:2023-03-21 17:01:56浏览次数:30  
标签:drivers 子系统 mtd 驱动 节点 MTD 设备

 

MTD(memory technology device内存技术设备)是用于访问memory设备(ROM、flash)的Linux的子系统。MTD的主要目的是为了使新的memory设备的驱动更加简单,为此它在硬件和上层之间提供了一个抽象的接口。MTD的所有源代码在/drivers/mtd子目录下。CFI接口的MTD设备分为四层(从设备节点直到底层硬件驱动),这四层从上到下依次是:设备节点、MTD设备层、MTD原始设备层和硬件驱动层。

                          

 

 

设备节点层:MTD框架可以在/dev下创建字符设备节点(主设备号90)以及块设备节点(主设备号31), 用户通过访问此设备节点即可访问MTD字符设备或块设备。

MTD设备层: 基于MTD原始设备, Linux在这一层次定义出了MTD字符设备和块设备, 字符设备在mtdchar.c中实现, 块设备则是通过结构mtdblk_dev来描述,"/drivers/mtd/mtdchar.c"文件实现了MTD字符设备口; "/drivers/mtd/mtdblock.c"文件实现了MTD块设备接口

MTD原始设备层: 由MTD原始设备的通用代码+特定的Flash数据组成。mtd_info、mtd_part、mtd_partition以及mtd_partitions等对象及其操作方法就属于这一层,对应的文件是"drivers/mtd/mtdcore.c"。类似于i2c驱动框架中的核心层。

硬件驱动层: 内核将常用的flash操作都已经在这个层次实现, 驱动开发只需要将相应的设备信息添加进去即可, 比如,NOR flash的芯片驱动位于"drivers/mtd/chips/", Nand flash位于"drivers/mtd/nand/"(eg s3c2410.c)

 

标签:drivers,子系统,mtd,驱动,节点,MTD,设备
From: https://www.cnblogs.com/kernelx/p/17240602.html

相关文章

  • linux input子系统
    为什么要用INPUT子系统在不采用input子系统,而是自己实现的按键字符驱动中,会自己注册驱动,提供file_operations接口,并在读接口中,读取按键的电平值上传给应用。在linux系统中......
  • Windows 10安装安卓子系统(WSA)最详细教程
    WSA forWindows10下载地址https://pan.baidu.com/s/15rUmm7UsSSY6BIo2UD9MIQ提取码:c97x 要想在Win10系统中正常运行安卓子系统,首先要保证你爱机的系统是“22H2......
  • #创作者激励# 【FFH】子系统,部件,模块编译构建全实践
    【本文正在参加2023年第一期优质创作者激励计划计】子系统,部件,模块编译构建全实践个人简介:深圳技术大学FSR实验室大三学生,正于九联科技实习,共同学习研究鸿蒙南向开发知识......
  • 公司某资料子系统定期cpu过高的诊断
    背景公司里的某负责保存用户文档的子系统有时会忽然cpu很高,过了大约5分钟后又恢复正常水平。领导协调让我帮看一下(我心里是:不熟悉这个子系统里面的代码,我尽力哈......
  • pinctl和gpio子系统
    pnctrl子系统之前这么操作pinctrl是gpio框架gpio子系统实现引脚功能的配置,如设置为gpio,特殊功能,gpio方向,设置中断常用gpio子系统提供的api函数gpio_request......
  • Linux时钟子系统分析
    梦开始的地方X86硬件时钟首先我们需要了解一下,目前有哪些时钟PITpit是最古老的pc时钟设备。Intel8253/8254PIT是具有3个16位计数器通道的可编程计数/定时器芯片,晶振......
  • linux驱动移植-GPIO子系统
    ----------------------------------------------------------------------------------------------------------------------------内核版本:linux5.2.8根文件系统:busybo......
  • 嵌入式Linux—输入子系统
    输入系统常见的输入设备有键盘、鼠标、遥控杆、书写板、触摸屏等等,用户通过这些输入设备与Linux系统进行数据交换。内核中怎样表示一个输入设备//include/linux/inp......
  • 中断子系统
    GIC是ARM公司给Cortex-A/R内核提供的一个中断控制器,类似Cortex-M内核(STM32)中的NVIC。GIC:GenericInterruptController,通用中断控制器。NVIC:NestedVectoredInt......
  • JVM中类加载子系统
    1、类加载子系统中有哪些常用类加载器?1、BootStrapClassLoader(负责加载基础类库中的类,例如Object,String....)2、ExtClassLoader(负责加载扩展类库中的类ext/...)3、AppCla......