
linux驱动开发
文章平均质量分 89
linux驱动开发总结
嵌入式小胖
一个自命不凡的电子厂打工仔
展开
-
Emmc系列(一)--------基本概念
1. 名词解释Emmc:Embedded Multi-Media Card,嵌入式多媒体卡。在工程技术领域,会引入Emmc设备、Emmc控制器、Emmc协议这些概念。Emmc设备:遵循Emmc通信协议的设备(通常是一个芯片);Emmc控制器:实现Emmc协议的控制器;Emmc协议:由MMC协会订立,符合JEDEC标准,主要针对手机或平板电脑等产品的内嵌式存储器标准规格。2. 系统框架Host顾名思...原创 2021-07-31 18:12:53 · 3898 阅读 · 0 评论 -
linux挂载QSPI FLASH
常用的flash设备有:nor-flash、nand-flash、qspi-flash。对于qspi-flash设备,linux要想正常挂载的话,必须要注册qspi控制器驱动、qspi设备驱动两种驱动文件。qspi控制器驱动主要是初始化好控制器的寄存器,而qspi设备驱动则是对应的flash操作接口以及调用到块设备驱动,进行块设备解析。对于flash设备驱动的架构,可以参阅博主的上篇文章。这里我们从字符设备的角度分析下qspi-flash的驱动架构。以zynq为例来分析:一、qspi控制器驱动q原创 2020-12-03 18:22:22 · 5190 阅读 · 3 评论 -
zynq之nand-flash驱动
pl35x_nand驱动程序按照阅读linux驱动程序的方法,来解读pl35x_nand.c文件。首先也是注册驱动,如果compatible能够与设备树对应上,则调用probe函数,先看下probe函数都干了啥?static int pl35x_nand_probe(struct platform_device *pdev){ struct pl35x_nand_info *xnand; struct mtd_info *mtd; struct nand_chip *nand_chip;原创 2020-11-17 15:40:38 · 2487 阅读 · 0 评论 -
zynq-smc驱动框架解析
zynq-nand flash linux驱动解析原创 2020-11-16 18:03:29 · 2390 阅读 · 0 评论 -
linux驱动开发----字符驱动模板
之前看到在这里我想把字符驱动讲的简单点,其基本思想是:向内核注册驱动; 在驱动中注册设备; 构造字符设备file_operation结构体,实现file_operation中定义的行为函数。原创 2020-08-11 17:07:15 · 267 阅读 · 0 评论 -
linux驱动开发----zynq----SPI驱动(总线框架)
注:本文针对linux-xlnx-xilinx-v2017.4版本进行介绍一、引言 前面我们讲到了SPI的接口标准,以及SPI的工作模式,那么知道这些其实就可以进行SPI驱动的开发了,但是我们这里讲的是linux驱动开发,那么是不是掌握了SPI接口的一些知识就可以进行linux驱动开发呢?当然不是,linux驱动开发对应于总线类型(如:SPI / IIC / USB)的驱动,有一套独立的驱动框架,SPI驱动的开发就需要在SPI驱动框架中去实现。二、体系结构 ...原创 2020-06-08 11:09:14 · 3987 阅读 · 2 评论 -
module_platform_driver 与 module_init
在linux内核源码中,我们经常看到module_platform_driver 与 module_init这两个宏定义,有时候在这个驱动中用module_platform_driver,有时候用module_init,那这两个宏定义之间有什么差异吗?还是说可以随便用呢?这就需要我们旭跟踪代码,来看看这两个宏定义到底什么东西? 首先,介绍下module_init,module_init对于做驱动的人应该不陌生,linux内核是一个宏内核,宏内核就是驱动和内核打包在一起的。由于...原创 2020-06-02 12:26:58 · 11695 阅读 · 2 评论 -
linux驱动开发----SPI驱动(SPI基础知识)
注:本文针对xilinx的zynqMP系列芯片讲解SPI驱动一、引言 SPI接口是Motorola 首先提出的全双工三线同步串行外围接口,采用主从模式(Master Slave)架构。支持多slave模式应用,一般仅支持单Master。时钟由Master控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在后(MSB first)。SPI接口有2根单向数据线,为全双工通信,目前应用中的数据速率可达几Mbps的水平。二、SPI总线结构三、SPI接口 SPI...原创 2020-05-27 08:33:40 · 3609 阅读 · 0 评论 -
linux驱动开发----如何看懂LINUX驱动代码
对于一个从单片机驱动开发转到linux驱动开发的人员来说,最头疼的莫过于是linux的驱动框架了。在传统单片机开发的过程中,都是直接操作寄存器,比喻说配置个IO口引脚输出为高电平,只需要向方向寄存器、数据寄存器写入值就可以实现了,这种方法比较直观简单,开发人员只需要掌握C语言、原理图以及datasheet就可以进行开发了。而linux驱动开发需要涉及的东西就比较多了,开发人员需要掌握C语言、原理图、datasheet、驱动框架等内容,特别时驱动框架,对于刚从事Linux驱动开发的人员来说,简...原创 2020-05-13 14:13:16 · 3576 阅读 · 1 评论 -
Device Tree -----设备树
Device Tree文件的格式为dts,包含的头文件格式为dtsi,dts文件是一种通俗易懂的编码格式,人可以直接看懂,但uboot和kernel不能直接识别dts文件,他们只能识别二进制文件,所以需要把dts文件编译成dtb文件。dtb文件是一种可以被kernel和uboot识别的二进制文件。把dts文件编译成dtb文件的工具是dtc。 ...原创 2020-05-07 21:37:52 · 1595 阅读 · 0 评论