从零开始之驱动发开、linux驱动(四十四、虚拟网卡驱动)

网卡驱动的书写格式很简单 1.申请一个网卡设备结构体 2.设置这个结构体,硬件相关初始化 3.注册这个网卡设备 参考的韦东山老师的视屏,代码如下 #include <linux/module.h> #include <linux/iopor...

2019-03-22 00:03:16

阅读数 1

评论数 0

从零开始学USB(二十八、usb鼠标驱动驱动实例分析[3]传输)

我们分析的这个usb鼠标是一个输入类型的中断传输。 既然是输入类型,必然要做好接收。 而一个端点中,一次事务中,传输的的最大字节数即量是在端点描述符中定义的。 /* USB_DT_ENDPOINT: Endpoint descriptor */ struct usb_endpoint_de...

2019-03-19 23:32:52

阅读数 24

评论数 0

从零开始学USB(二十七、usb鼠标驱动驱动实例分析[2]管道)

端点是USB设备的唯一可识别部分,其是主机和设备之间的通信流的终点。 管道,就是一个USB主机和USB设备端点之间的数据传输的通道。 站在主机的角度,它的目的是设备的某个端点。 而管道这算是主机和端点之间的连线。 这里我们先看一下管道在usb里的定义 /* * For vari...

2019-03-18 23:28:49

阅读数 13

评论数 0

从零开始学USB(二十六、usb鼠标驱动驱动实例分析[1]简介)

这个驱动是在上一节的最简单的usb驱动基础上增加了输入子系统和usb包的获取和请求。 首先先给出一个稍微简化了一下的usb的鼠标驱动,这里只做了鼠标的三个按键。为了方便验证,这里用鼠标的左键,右键和中间分别作为标准按键的l s enter 键。 #include <linu...

2019-03-18 00:01:41

阅读数 23

评论数 0

从零开始学USB(二十五、4.19版本的内核支持usb驱动)

用的是S5PV210的SOC 1.设备树支持设备树 设备树默认是支持USB驱动的。 如下: usbphy: usbphy@ec100000 { compatible = "samsung,s5pv210-usb2-phy&a...

2019-03-17 00:04:13

阅读数 19

评论数 0

设备树学习(二十九、番外篇-中断子系统之workqueue使用)

workqueue使用举例 #include <linux/fs.h> #include <linux/init.h> #include <linux/module.h&a...

2019-03-16 21:42:28

阅读数 529

评论数 0

设备树学习(二十八、番外篇-中断子系统之workqueue处理work[4])

本文参考了下面两位博主的文章,采用4.18版本的内核分析。 http://www.wowotech.net/sort/irq_subsystem https://blog.csdn.net/chenying126/article/details/78786406 一、前言 本文主要讲述...

2019-03-15 00:32:33

阅读数 635

评论数 1

设备树学习(二十七、番外篇-中断子系统之workqueue创建[3])

一、前言 前一节我们知道了可以用下面几个函数来创建workqueue。 #define alloc_ordered_workqueue(fmt, flags, args...) \ alloc_workqueue(fmt, WQ_UNBOUND | __WQ_ORDERED | \ ...

2019-03-13 23:58:22

阅读数 103

评论数 0

设备树学习(二十六、番外篇-中断子系统之CMWQ概述[2])

一、前言 一种新的机制出现的原因往往是为了解决实际的问题,虽然linux kernel中已经提供了workqueue的机制,那么为何还要引入CMWQ(Concurrency Managed Workqueue)呢?也就是说:旧的workqueue机制存在什么样的问题?在新的cmwq又是如何解决这...

2019-03-12 00:12:40

阅读数 26

评论数 0

设备树学习(二十五、番外篇-中断子系统之workqueue[1])

本文参考蜗窝大神的中断系列教程 http://www.wowotech.net/irq_subsystem/workqueue.html 一、前言 在许多情况下,需要异步流程执行上下文,而workqueue(wq)API是此类情况最常用的机制。 当需要这样的异步执行上下文时,描述要执行哪个函...

2019-03-11 19:57:05

阅读数 54

评论数 0

从零开始学USB(二十四、最简单的USB驱动开始)

18年底,花了2个月啃学习USB2.0协议。现在终于开始要派上用场了,开始和代码打交道了。 当然,现在只是从简单的开始usb设备驱动开始,后面再慢慢的分析usb总线,usb的hub之类。 先给出代码,后面再一句一句分析。 #include <linux/kerne...

2019-03-10 00:34:50

阅读数 35

评论数 0

linux设备模型十一(device resource management)

注:本文参考蜗窝大神的文章,采用4.18版本的内核代码来分析 http://www.wowotech.net/device_model/device_resource_management.html 1. 前言 相信每一个写过Linux driver的工程师,都在probe函数中遇到过下...

2019-03-09 18:37:57

阅读数 32

评论数 0

修改/tmp目录大小

sudo mount -t tmpfs -o size=100M none /tmp 遇到的问题是编译内核,说tmp空间不够了。使用上面命令增加tmp空间就就够了

2019-03-07 00:36:52

阅读数 48

评论数 0

设备树学习(二十四、番外篇-中断子系统之tasklet)

本文继续参考蜗窝大神的博客,使用4.19的内核进行分析,同时加入一些自己的理解和举例。 http://www.wowotech.net/irq_subsystem/tasklet.html 一、前言 对于中断处理而言,linux将其分成了两个部分,一个叫做中断handler(top ha...

2019-03-05 23:39:30

阅读数 315

评论数 0

设备树学习(二十三、番外篇-中断子系统之softirq)

既然开始学了,那么还是一次把中断的所有知识都系统的学一下。刚好有蜗窝大神的博客做指引。 http://www.wowotech.net/irq_subsystem/soft-irq.html 一、前言 对于中断处理而言,linux将其分成了两个部分,一个叫做中断handler(top h...

2019-03-05 00:04:35

阅读数 26

评论数 0

设备树学习(二十二、番外篇-中断子系统之驱动申请API)

本文继续参照蜗窝大神的文档,采用4.19内核的代码学习,同时会有自己的一些举例和部分代码分析 http://www.wowotech.net/sort/irq_subsystem 一、前言 本文主要的议题是作为一个普通的驱动工程师,在撰写自己负责的驱动的时候,如何向Linux Kerne...

2019-03-03 18:40:54

阅读数 52

评论数 0

设备树学习(二十一、番外篇-中断子系统之简单举例使用)

这里以一个按键程序为例进行简单说明 首先是驱动程序,基本和之前3.16.57版本的一样的,唯一不同就是增加了of_match_table 的一个和设备树节点的匹配表而已 #include <linux/fs.h> #include &...

2019-03-02 21:32:52

阅读数 38

评论数 0

设备树学习(二十、番外篇-中断子系统之中断号的映射与反映射[二])

上一篇我们留了一个坑,说是通过下面这个函数获取一个中断描述符以及对应的虚拟中断号。 本节就分析一下怎样获取。 在这个开始之前我们先要说的是,因为中断目前分为两种分配方式,一种是通过一次性定义一个全局数组,每个virq是数组的一项的下标。 另一种是内核配置了CONFIG_SPARS...

2019-03-01 22:29:18

阅读数 27

评论数 0

设备树学习(十九、番外篇-中断子系统之中断号的映射与反映射[一])

映射值的是通过某一个中断控制器的domain里的某一个物理号,来获取一个全局中断描述符表中的一个全局的中断号。 反映射时通过一个全局的中断号,来获取到domain,进而通过domain来找到在一个中断控制器的domain里的某一个物理号。 本文先分析反映射,下一篇再分析映射。 接...

2019-03-01 20:41:08

阅读数 48

评论数 0

设备树学习(十八、番外篇-中断子系统之初始化一个中断控制器)

一、前言 上一篇写到,使用设备树的情况下,对所有的中断控制器进行了检索,提取到一个链表中。并对这些中断控制器中所谓的父中断控制器进行检索,并按照等级一次初始化。本文就以一种常见的中断控制器VIC的初始化为例,进行分析。 void __init of_irq_init(const struct...

2019-02-28 08:15:39

阅读数 18

评论数 0

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