- 博客(21)
- 资源 (14)
- 收藏
- 关注
原创 Linux虚拟spi控制器实现---适用于无开发板学习spi driver
在上一章中,我们已经完成了虚拟i2c控制器的模拟,本章我们准备完成一个虚拟spi控制器,该章的的流程和上一章类似。本篇文章的目的如下:当你没有开发板,又想学习spi驱动模型,并想进行linux spi device driver的练习时; 当你完成了spi device driver,在硬件开发板出来之前进行spi device driver的验证时。本章的...
2020-03-27 22:04:54 838
原创 Linux虚拟i2c控制器实现---适用于无开发板学习i2c driver
在之前分析mdio子系统时,我们提到系统实现了fixed-mii_bus,从而为mac2mac提供虚拟mii_bus和虚拟phy_device,实现对虚拟phy_device的模拟。受此启发,我打算实现一个虚拟的i2c adapter,并基于该i2c adapter挂载一个虚拟的i2c device,并基于虚拟i2c adapter、i2c device搭建一个虚拟的i2c c...
2020-03-27 22:00:10 1401
原创 Linux nand controller驱动开发指导(Linux mtd子系统专栏分析之六)
在前面的两章,我们基本上完成了nand驱动模型的介绍以及nand_chip的注册说明,本章我们主要说明如何进行nand controller驱动的开发,以及我们在进行nandflash的适配时,需要注意的事项。本章的主要内容如下:一、 nand controller驱动开发流程说明二、nandflash适配注意事项说明一、 nand controller驱动...
2020-03-27 21:58:37 918 1
原创 Linux nand驱动注册相关接口说明(Linux mtd子系统专栏分析之五)
在上一篇文章中,我们分析了nand驱动模型中接口抽象以及相关数据结构体的分析,本章我们主要说明nand驱动模型提供的nand controller驱动注册以及nand驱动模块提供的通用接口说明。本章主要包括如下几个内容:一、nand_controller驱动的注册流程及功能说明二、nand驱动模型中通用接口说明一、nand_controller驱动的注册...
2020-03-27 21:56:38 1001
原创 Linux mtd子系统专栏分析之四 NANDFLASH驱动模型概述
在上几篇文章中,基本上理清了mtd子系统的架构,并将mtd子系统对上的抽象及相应的函数接口进行了说明。从本章开始,主要以nandflash为例,介绍具体类型的闪存设备驱动模型是如何衔接mtd的抽象层,并完成对闪存芯片的读写操作。nandflash概念 针对一个nandflash,包括块、页;一个flash包含多个块;而一个块又包含多个页。针对每一个页而言...
2020-03-27 21:54:01 1336
原创 Linux mtd子系统专栏分析之三 MTD层相关接口说明(注册与注销等)
原文再续,书接上回。在上篇文章中,我们介绍了mtd层相关数据结构以及接口的关联,并简要说明了mtd层与vfs、文件系统层、闪存芯片驱动层的关联,本篇文章主要介绍mtd层相关的接口,这些接口用于实现这些数据结构的关联与解绑。本篇文章的主要内容如下:mtd设备相关的注册与注销接口说明 Mtd info master与slave的区别 如何进行分区设置操作 ...
2020-03-09 20:25:03 2038
原创 Linux mtd子系统专栏分析之二 MTD设备驱动模型架构及数据结构说明
本篇文章我们主要说明向mtd设备驱动模型的架构及相应的数据结构,我们从数据结构入手,即可以较好的理解mtd设备驱动模型的架构,以便我们能较好的理解mtd设备驱动模。本篇主要包括如下几个部分:一、mtd设备驱动模型的架构说明二、mtd设备驱动相关的数据结构说明一、mtd设备驱动模型的架构说明 为了方便我们认识mtd设备驱动模型...
2020-03-08 17:48:01 1775
原创 Linux mtd子系统专栏分析之一 概述
从今天开始,我们进行linux mtd子系统的分析。mtd子系统即为内存技术设备子系统,主要包括nor flash、nand flash等闪存设备相关的子系统模块,而针对sd、tf等存储设备,则主要由mmc子系统模块进行管理并创建对应的块设备。而针对mtd子系统,则会基于mtd原始设备,创建mtd字符设备与mtd块设备,从而在上层与vfs系统进行关联。针对mtd子系统,...
2020-03-08 17:47:48 1874
原创 Linux Mii management/mdio子系统分析之六 fixed-mii_bus分析(mac2mac分析)
前面几章我们介绍了MDIO模块的大部分内容,针对mii_bus、mdio_bus、phy_device、phy_driver相关的注册、注销均进行了介绍。基本上把mdio模块的内容介绍完了,而本篇介绍的内容,主要是针对虚拟mii_bus实现,并将虚拟phy_device注册至该mii_bus上。(本次分析内容基于LINUX3.10的内核)那fixed-mii_bus起到什...
2020-03-08 17:47:34 3914 1
原创 Linux Mii management/mdio子系统分析之五 PHY状态机分析及其与net_device的关联
前面几章基本上完成了mdio模块驱动模型的分析,本篇文章主要讲述phy device的状态机以及phy device与net_device的关联。Phy device主要是对phy的抽象,而net_device主要是对mac的抽象,而mdio总线以及mii_bus主要用于对phy设备的控制(包括设置phy设备的工作模式、速率模式、是否为自适应、phy的link状态等),而net_...
2020-03-08 17:47:17 2621
原创 Linux Mii management/mdio子系统分析之四 mdio总线及phy驱动模型及其开发流程
前三篇文章完成了mdio子系统概述、mdio子系统驱动模型概述、mii_bus子模块方法及驱动实现分析,本篇文章我们主要进行mdio总线驱动实现分析、phy驱动实现分析等部分,涉及的内容如下:一、mdio总线实现及相应方法分析二、phy驱动实现相应方法的分析三、phy驱动开发步骤说明一、mdio总线实现及相应方法分析 既然m...
2020-03-08 17:47:01 3897 6
原创 Linux Mii management/mdio子系统分析之三 mii_bus注册、注销及其驱动开发流程
本篇是mii management/mdio模块分析的第三篇文章,本章我们主要介绍mii-bus的注册与注销接口。在前面的介绍中也已经说过,我们可以将mii-bus理解为mdio总线的控制器的抽象,就像spi-master、i2c-adapter一样。本篇文章主要涉及如下两部分:mii-bus的注册与注销接口mii-bus提供的方法说明mii-b...
2020-03-07 17:29:33 4571 3
原创 Linux Mii management/mdio子系统分析之二 mdio总线-设备-驱动模型分析
接着上篇文章继续分析mdio子系统,本章主要介绍mdio子系统的驱动模型,当然了介绍mdio子系统的驱动模型,就绕不开linux系统设备-总线-驱动模型,所有的总线类的驱动,基本上都可以理解为继承自linux系统设备-总线-驱动模型。本篇主要介绍如下几部分的内容:一、总线-设备-驱动-控制器模型分析二、总线定义三、class定义一、总线-设备-驱动-控制...
2020-03-07 17:27:51 3025
原创 Linux Mii management/mdio子系统分析之一 总体概述
从本章开始,我们介绍linux的mii management对应的mdio子模块,该模块主要用于管理phy设备,实现phy device创建与phy driver的注册等功能。本系统主要涉及如下按如下几个篇章进行分析:一、总线概述(介绍mdio驱动模型的简要逻辑模型)二、mdio总线-设备-驱动模型分析三、虚拟mii_bus模型分析(即fixed-mii_bus,主要的应用...
2020-03-07 17:24:59 3774 5
原创 LINUX MMC 子系统分析之六 MMC card添加流程分析
原文再续,书接上回。本文我们进行mmc子系统中mmc card的添加与删除流程。针对iic设备、spi设备、rtc设备等非热插拔设备而言,我们一般在板级文件或者设备树中定义外设信息,完成外设的注册;但针对mmc card而言,其属于热插拔设备,不需要在板级文件或设备树中进行外设的注册,而由mmc子系统通过mmc card的rescan机制,实现mmc card的自动检测及注...
2020-03-07 17:22:46 1968 2
原创 LINUX MMC 子系统分析之五 MMC driver模块分析
前面我们介绍了MMC 子系统驱动模型、mmc host模块,本篇主要介绍MMC Driver模块,在前面几篇文章中,我们已经说明mmc 子系统已实现mmc driver,即针对所有的mmc card(除 sdio设备外,包括mmc/sd/tf等存储卡),均可以使用该mmc driver。下面我们分析下mmc 子系统为何实现了统一的mmc driver,主要有如下几点:...
2020-03-07 17:21:09 2764 2
原创 LINUX MMC子系统分析之四 MMC host模块概述
本章主要介绍mmc host相关的内容,包括mmc子系统提供的mmc host相关的接口,以及mmc host与mmc card等子模块的关联等内容。我们按如下几部分进行介绍:一、相关的数据结构体及关联关系二、mmc host相关的接口三、完成一个mmc host驱动需要哪些步骤相关的数据结构及关联 该模块最重要的数据结构为mmc_host,用...
2020-03-07 17:18:50 4000 2
原创 LINUX MMC子系统分析之三 MMC/SDIO总线接口分析
在上一章节中,我们分析了mmc子系统的驱动模型,针对mmc子系统包括mmc bus、mmc driver、 mmc host以及mmc通用命令接口层、mmc card rescan机制、mmc block driver层等等内容。本章则主要介绍mmc子系统的bus type的定义,针对mmc 子系统包括mmc bus、sdio bus两个bus总线。其中mmc bus主要针对mmc/...
2020-03-07 17:13:11 2029
原创 LINUX MMC子系统分析之二 MMC子系统驱动模型分析(包括总线、设备、驱动)
本模块主要介绍MMC子系统与设备-总线-驱动模型的关联,并介绍该MMC子系统是如何借助LINUX内核的设备-总线-驱动模型实现自己的驱动模型的。针对MMC子系统而言,主要使用了系统中的两个模型:设备-总线-驱动模型、块设备驱动模型。设备-总线-驱动模型 在分析MMC子系统的设备-总线-驱动模型时,我们可以借助之前已经分析的i2c驱动模型、spi驱动模型的实现,来学习...
2020-03-07 17:10:13 2027 1
原创 LINUX MMC子系统分析之一 概述
从本章开始,我们分析mmc子系统,其也遵循LINUX设备-总线-驱动模型,并基于自身的特点进行了相应的抽象。针对本专题,我们主要涉及如下几个章节:一、MMC子系统概述;二、MMC子系统驱动模型分析(包括总线、设备、驱动);三、MMC总线分析四、MMC host分析五、MMC driver分析六、MMC card添加流程分析七、MMC block分析 ...
2020-03-07 17:07:29 3330 7
原创 LINUX字符设备驱动模型学习内容总结
经过几篇文章的分析,我们基本上完成了字符设备驱动模型的介绍,以及基于字符设备驱动模型而建立的复杂设备模型的介绍(混杂设备模型、RTC设备模型中的字符设备模型使用篇),本章我们主要针对字符设备驱动模型做一个总结说明,也算是对上面几篇文章中没有提到的知识点的补充。字符设备驱动模型与文件系统以及VFS之间的关联说明 在之前几个模块的分析中我们知道(主要是VFS模块分...
2020-03-07 17:04:19 417
hwmon_driver_V1.0.tar.gz
2020-05-16
virtual_tty_driver.tar.gz
2020-04-13
virtual_tty_driver.tar.gz
2020-04-12
virtual_spi_controller_test.tar.gz
2020-03-25
virtual_i2c_controller_test.tar.gz
2020-03-23
linux-kconfig.tar.gz
2019-09-01
Linux netfilter 学习笔记
2019-02-24
linux platform架构解析资料
2019-02-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人