logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

linux设备模型七(device_driver细节)

阅读这篇之前,建议先阅读我的下面这篇博客了解device_driver的数据结构和大概作用。https://blog.csdn.net/qq_16777851/article/details/81429257了解我的下面这篇博客可以对device部分了解清晰。同时,下面用到了device中相同的接口分析,也会略过。https://blog.csdn.net/qq_16777851/ar...

linux内核的链表的实现

在Linux内核中,绝大对数的数据结构都是通过链表来连接的,所以链表在内核中起着异常重要的作用。在Linux中链表的使用是以一个非常巧妙的,非常有意思的方式来实现的。这种使用方式和我们平时在传统数据结构课程所教导的使用有很大的差异。先看一下最终使用时的结构。下面我先来分析一下linux内核对于链表的实现。里面好多的操作我本人都是通过画图方式理解的。大家也可以尝试。下面是双向链表的基...

device_create和device_add区别

在学习linux驱动的时候经常遇到device_create和device_add两个函数,因为这两个函数都是属于驱动底层的,所以平时很少关注。但最近准备写一个简单驱动框架练手,所以到底用那个来创建出相应的设备,所以准备学习一下这两个的区别,并做好记录。 1.首先看一下device_create函数,注释写的很清楚,创建一个设备,并注册它到sysfs中。提供了强大的格式化注册接口。...

linux设备模型一(基础知识)

1. 前言在上一节中,蜗蜗大神有提到,由于Linux支持世界上几乎所有的、不同功能的硬件设备(这是Linux的优点),导致Linux内核中有一半的代码是设备驱动,而且随着硬件的快速升级换代,设备驱动的代码量也在快速增长。个人意见,这种现象打破了“简洁就是美”的理念,是丑陋的。它导致Linux内核看上去非常臃肿、杂乱、不易维护。但蜗蜗也知道,这不是Linux的错,Linux是一个宏内核,它必须面..

linux设备模型十二(热拔插hotplug)

我们知道,一个最简单的字符设备驱动应该是下面这个形式。#include <linux/fs.h>#include <linux/init.h>/* 定义一个open函数 */static int first_drv_open(struct inode *inodep, struct file *filep){return 0;}...

嵌入式linux单板上开启telnet功能

第一步,在文件系统中开启,开启这些命令。当然一般是开启的(busybox-1.28.4)Networking Utilities--->......[*] telnet (8.7 kb)...

linux驱动input子系统学习一(基础知识)

一.Linux中的input子系统介绍Input驱动程序是linux输入设备的驱动程序,分成游戏杆(joystick)、鼠标(mouse和mice)、键盘(keyboard)、事件设备(event)。其中事件设备驱动程序是目前通用的驱动程序,可支持键盘、鼠标、触摸屏等多种输入设备。Linux input 子系统将一个输入设备的输入过程分成了设备驱动(input device driver...

#linux#学习#驱动开发
linux的虚拟文件系统一(框架)

1.什么是文件系统文件系统是一种存储和组织计算机数据的方法,它使得对其访问和查找变得容易,文件系统使用文件和树形目录的抽象逻辑概念  代替了硬盘和光盘等物理设备是使用数据块的概念,用户使用文件系统来保存数据不必关心数据实际保存在硬盘(或者光盘)的地址为多少的数据块上,只需要记住这个文件的所属目录和文件名。在写入新数据之前,用户不必关心硬盘上的那个块地址没有被使用,硬盘上的存储空间管理(分配和释..

linux的虚拟文件系统二(数据结构)

1.概念从本质上讲,文件系统是特殊的数据分层存储结构,它包含文件、目录和相关的控制信息。为了描述 这个结构,linux引入了一些基本概念:文件 一组在逻辑上具有完整意义的信息项的系列。在Linux中,除了普通文件,其他诸如目录、设备、套接字等 也以文件被对待。总之,“一切皆文件”。目录 目录好比一个文件夹,用来容纳相关文件。因为目录可以包含子目录,所以目录是可以层层嵌套,形成 文件路径...

linux设备模型八(bus)

1. 概述在Linux设备模型中,bus(总线)是一类特殊的设备,它是连接处理器和其它设备之间的通道(channel)。为了方便设备模型的实现,内核规定,系统中的每个设备都要连接在一个Bus上,这个Bus可以是一个内部Bus、虚拟Bus或者Platform Bus。内核通过struct bus_type结构,抽象bus,它是在include/linux/device.h中定义的。本文会围绕...

    共 11 条
  • 1
  • 2
  • 请选择