![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux内核与驱动
文章平均质量分 88
袁海璐
不要想着站在巨人的肩膀上,你要想想巨人走了,你是什么。
展开
-
Linux USB Gadget驱动 part1数据传输
内核gadget驱动主要有两个作用,第一是实现真实usb从设备,常见的UAC、UVC、大容量存储设备等;第二是虚拟一些USB设备,例如Hub、光驱、键盘等。本文作为Linux USB Gadget驱动的第一篇,先介绍下如gadget驱动做简单的数据传输,顺便分析下udc驱动,以便于后面的上层驱动出现问题更好的定位问题。1、注册function 内核为了层次分明的描述一个复合设备(在同一个配置下,有多个interface,实现不同的功能即为复合设备,比如usb声卡有一个UAC...原创 2021-08-18 21:02:46 · 2599 阅读 · 0 评论 -
linux驱动程序中设备树、device、driver之间的关系
linux驱动程序中设备树、device、driver之间的关系驱动程序的一般形式1、platform_driver2、platform_device驱动程序的一般形式下面是一个简单的驱动程序框架:#include <linux/fs.h>#include <linux/init.h>#include <linux/mm.h>#include <...原创 2020-03-29 15:44:02 · 4210 阅读 · 0 评论 -
zynq pl i2c控制器驱动程序
明确一下关系:adapter--对应的是soc上实际的iic控制器;struct i2c_adapter {struct module *owner; //所属模块unsigned int id; //algorithm的类型,定义于i2c-id.h,unsigned int class;const struct i2...原创 2019-10-26 15:52:28 · 1352 阅读 · 1 评论 -
USB网卡驱动分析(rt8152)
USB网卡驱动分析(rt8152)USB设备驱动程序分析USB总线和USB设备USB设备匹配方式思考网络设备驱动程序分析网卡设备驱动分析USB+网卡驱动linux 源码中rt8152驱动程序分析总结USB设备驱动程序分析最近一直在搞zynq的PL部分,为了保持对驱动程序的敏感度,看着源码分析一下rt8152的驱动程序。之前学单片机一直想着给单片机装一个USB网卡,但是一直没有思路。今天突然想到...原创 2019-10-26 15:51:02 · 6249 阅读 · 0 评论 -
生成FIT格式的系统镜像
什么是FIT格式?全称是flattened image tree uImage,为了更好的支持单个固件的通用性,类似于kernel device tree机制,uboot也需要对这种uImage固件进行支 持。FIT uImage中加入多个dtb文件,和ramdisak文件,当然如果需要的话,同样可以支持多个kernel文件。![uboot中对FIT格式的描述](https://img-blo...原创 2019-07-19 14:27:52 · 2414 阅读 · 0 评论 -
linux 内核驱动一 字符驱动
linux 字符驱动是最基本的设备驱动程序,接下来的所有内容都会基于这个Demo,当然也会不断的修改其中的BUG。(早晨逛超市突然想出一句话,“看别人吃肉,自己在流口水的同时,也需要想想他是怎么捕猎的”)。开个玩笑。进入正题:#include <linux/module.h> /* 最基本的文件,支持动态添加和卸载模块 */#include <linux/fs.h&g...原创 2019-08-03 14:40:30 · 130 阅读 · 0 评论 -
对linux用户空间DMA的分析(和单片机一样简单)
一般情况下,对外设的操作包括轮训方式、中断方式,对于数据量很大的情况会用到DMA操作。本文介绍一种在用户空间实现DMA操作的方法来获取AXI总线上的数据,FPGA部分暂时不详细说明,之后会有专题来介绍。首先要明白几个Linux的机制: 1、UIO机制,该机制可以在用户空间操作内核空间的IO设备,这里用来实现中断信号的上报。 2、/dev/mem ,该设备能够直接映射Linux物理内...原创 2019-08-18 16:47:59 · 2362 阅读 · 0 评论 -
linux网卡设备驱动(任意传输介质传输(与FPGA交互))
1 、底层数据分析最近由于公司项目需求,需要实现需要把网络数据包与DMA的交互,DMA后面连接的是FPGA,FPGA再和宽带收发器相连接。先不关心FPGA侧的数据过程,以后会专门来说。首先分析下体现在ARM侧的DMA数据流,(好吧,还得看下FPGA的部分结构,由于电脑没装vivado,用viso画个简单版本的,也便于专门搞ARM驱动的好理解)。第一幅是COPY Xilinx的,第二幅自己画的。...原创 2019-09-08 10:54:15 · 1143 阅读 · 0 评论 -
zynq 实现液晶显示器显示(ADV7511)
首先来明确下设计结构,不管是用HDMI,VGA还是DP,最重要的过程是把帧缓冲中的RGB数据转换成显示扫描时序。显示扫描时序这个词并不存在于显示行业,只是我认为这样说能概括问题。 来解释下显示扫描时序。先说几个名词,之后会用上:1、像素时钟(CLK):屏幕上每个像素点显示动态显示都需要像素时钟来刷新;2、行同步时钟(HSYNC):当显示器显示一行像素的时间;3、...原创 2019-10-07 11:18:03 · 7675 阅读 · 3 评论