自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

实现一个虚拟的温度传感器驱动,涉及的知识点包括 1. 实现一个虚拟的i2c总线控制器; 2. 实现一个虚拟的i2c设备,用于模拟温度传感器,主要用于提供转换寄存器、配置寄存器,主要提供四路温度。 3. 实现一个虚拟的i2c驱动,用于和模拟温度传感器通信,主要实现配置温度采集及转换的channel、读取温度; 4. 实现一个虚拟的hwmon driver,该driver实现了四路温度的采集,实现temp_input,并实现show接口,而在show接口中,通过与模拟温度传感器通信,完成温度的采集等功能。 通过实现platform device、platform driver,实现i2c adapter的注册操作。

2020-05-16

virtual_uart_driver.tar.gz

此驱动linux虚拟串口控制器驱动,可用于无开发板模式下雪串口控制器驱动,用于学习uart_driver的开发流程

2020-04-18

virtual_tty_driver.tar.gz

本驱动模块主要实现一个虚拟的串口驱动,该串口驱动仅仅是用于tty子系统驱动的开发学习。针对本驱动,目前实现的是loopback的功能,即应用程序向次虚拟串口驱动写数据时,该驱动程序会将写入的数据再返回应用程序。

2020-04-13

virtual_tty_driver.tar.gz

本驱动模块主要实现一个虚拟的串口驱动,该串口驱动仅仅是用于tty子系统驱动的开发学习。针对本驱动,目前实现的是loopback的功能,即应用程序向次虚拟串口驱动写数据时,该驱动程序会将写入的数据再返回应用程序。

2020-04-12

virtual_spi_controller_test.tar.gz

虚拟spi控制器驱动模拟代码,并模拟了spi device以及应用层测试程序。通过模拟程序,可当我们在没有开发板时,练习spi驱动的流程

2020-03-25

virtual_i2c_controller_test.tar.gz

虚拟的i2c adapter驱动以及虚拟 i2c device的创建,从而可以用于练习linux i2c device driver以及i2c adapter驱动开发流程

2020-03-23

linux-kconfig.tar.gz

移植linux3.10的kconfig工具,使用该工具之后,可以针对不同的需求,生成不同的编译配置文件,完成不同应用组合的构建功能。 (busybox、buildroot也是借助linux 的kconfig工具实现类似功能)

2019-09-01

Linux netfilter 学习笔记

本文档主要为本人博客里的《Linux netfilter学习笔记》的集合,本文主要包括《ip 层netfilter的hook 注册以及执行hook函数的概要分析》、《ip层netfilter的table、rule、match、target结构分析》、《 ip层netfilter的table注册及规则的添加》、《ip层netfilter的table中规则的匹配检查》、《ip层netfilter的filter表的创建及其hook函数分析》、《ip层netfilter的连接跟踪模块的概念及相关的数据结构分析》、《 ip层netfilter的连接跟踪模块初始化》、《ip层netfilter的连接跟踪模块代码分析》、《ip层netfilter的连接跟踪模块 学习小结》、《ip层netfilter的NAT模块初始化以及NAT原理》、《ip层netfilter的NAT模块代码分析》等内容

2019-02-24

windows下定时关机程序

该软件为windows下的定时关机小程序,通过该程序可实现定时关机功能

2019-02-24

linux platform架构解析资料

Linux platform driver 机制和传统的 device driver 机制 ( 通 过 driver_register 函数进行注册 ) 相比,一个十分明显的优势在 于 platform 机制将设备本身的资源注册进内核,由内核统一管理,在驱动程 序中使用这些资源时通过 platform device 提供的标准接口进行申请并使 用。这样提高了驱动和资源管理的独立性,并且拥有较好的可移植性和安全 性 ( 这些标准接口是安全的 )

2019-02-24

linux 2.6 内核设备驱动模型精华

linux 2.6 内核设备驱动模型精华描述,包括链表、hash链表、kobject等

2019-02-24

C ++ 面 试 最新

程序员 面试 帮助程序员 面试 帮助程序员 面试 帮助

2009-08-25

c++思想编程 c++思想编程 c++思想编程

c++编程的思想 c++编程的思想 c++编程的思想 c++编程的思想

2009-06-26

c#有关课件

c#有关课件

2009-04-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除