
LINUX drivers类
ddicode
这个作者很懒,什么都没留下…
展开
-
Linux内核源码下载地址速度快
http://ftp.sjtu.edu.cn/sites/ftp.kernel.org/pub/linux/kernel/原创 2020-05-07 09:32:43 · 539 阅读 · 0 评论 -
Linux串口(serial、uart)驱动程序设计
转载自:http://blog.chinaunix.net/uid-23089249-id-34481.html一、核心数据结构串口驱动有3个核心数据结构,它们都定义在<#include linux/serial_core.h>1、uart_driveruart_driver包含了串口设备名、串口驱动名、主次设备号、串口控制台(可选)等信息,还封装了tty_driver(底层串口驱动无...转载 2016-04-01 13:19:58 · 659 阅读 · 0 评论 -
linux的kobject分析
一、kobject结构定义kobject是Linux设备模型的最底层数据结构,它代表一个内核对象。kobject结构体定义在include/linux/kobject.h文件中:[cpp] view plain copy 60struct kobject { 61 const char *name; 62 struct list_head entry; 63 ...转载 2016-03-30 17:59:43 · 587 阅读 · 0 评论 -
Linux 程序获取文件系统挂载信息
linux shell可以通过查看/etc/mtab或者/proc/mounts文件来获取当前文件系统挂载信息,程序内直接读取/etc/mtab或者/proc/mounts,解析字符串较为繁琐,可以使用GNU C Library提供的mntent.h中的库函数FILE *setmntent(const char *filename, const char *type);struct mntent...转载 2017-03-16 21:32:43 · 1231 阅读 · 0 评论 -
linux timer
目录(?)[-]包含的头文件linuxtimerh数据类型struct timer_list主要相关的API函数时间与jiffies的转换函数使用简例Linux内核中提供了timer使用的API,做一个简单的记要。1. 包含的头文件:linux/timer.h2. 数据类型:struct timer_list;包含的主要成员:a. data:传递到超时处理函数的参数,主要在多个定时器同时使用时,...转载 2016-10-11 14:14:21 · 629 阅读 · 0 评论 -
error while loading shared libraries: libXXX.so.X: cannot open shared object file: No such file
工作PC机上装有VMware,里面的ubuntu版本跟ubuntu-debug机器上相同,都是ubuntu 11.10版本。VMware的家目录下有个目录pdu-IVT,是从SVN上更新出来之后,直接拷贝过来的。在将ubuntu-debug机器上,make能成功,并且生成的二进制可执行程序pdu也能运行,并与switch成功建立连接;但在工作PC机的VMware中,运行make时,提示错误:[cp...转载 2016-08-03 17:12:33 · 988 阅读 · 0 评论 -
module_platform_driver宏解析
该函数实际是一个宏,它在include/linux/platform_device.h中定义如下:[cpp] view plain copy /* module_platform_driver() - Helper macro for drivers that don't do * anything special in module init/exit. This eliminates a...原创 2016-05-06 13:57:37 · 28891 阅读 · 3 评论 -
linux input subsystem虚拟键盘和鼠标
转自:http://blog.sina.com.cn/s/blog_659defdb0100wgvp.html 1 event device in /dev/input/event? cat data from /dev/input/event? the data format is : struct input_event { struct timeval time; __u16 t...转载 2016-05-04 15:08:03 · 760 阅读 · 0 评论 -
linux下sysfs
转自:http://blog.youkuaiyun.com/yj4231/article/details/7799245目录(?)[+]本文将对Linux系统中的sysfs进行简单的分析,要分析sysfs就必须分析内核的driver-model(驱动模型),两者是紧密联系的。在分析过程中,本文将以platform总线和spi主控制器的platform驱动为例来进行讲解。其实,platform机制是基于driv...转载 2016-05-04 10:43:38 · 1156 阅读 · 0 评论 -
Linux--内核Uevent事件机制 与 Input子系统
目录(?)[-]一Uevent机制Uevent在kernel中的位置Uevent的内部逻辑解析二Input子系统 从应用层的角度出发看input子系统输入设备上报事件的处理过程通过设备节点读取输入事件通过设备节点写入输入事件总结一、Uevent机制1.前提摘要(1)Sysfs文件系统 内核设备模型主要的模块和用户之间能看到的相关部分就是sysfs文件系统了。内核在启动的时候会注册s...转载 2016-04-21 19:16:17 · 997 阅读 · 0 评论 -
sysfs
为了更好地了解kobject的层次关系,有必要了解一下这种层次关系的表现机制:sysfs。本文简单地学习了一下sysfs,大部分内容来自内核文档sysfs.txt。好了,开始我们的学习之旅,呵呵。 何为sysfs sysfs是一种基于ram的文件系统,它提供了一种用于向用户空间展现内核空间里的对象、属性和链接。sysfs与kobject层次紧密相连,它将kobject层次关系表现出来,使得用...转载 2016-04-19 14:55:25 · 277 阅读 · 0 评论 -
linux设备模型
linux设备模型http://www.cnblogs.com/wwang/archive/2010/12/21/1912380.html http://www.wowotech.net/device_model/dm_sysfs.htmlsysfs:https://www.ibm.com/developerworks/cn/linux/l-cn-sy...原创 2016-04-19 14:48:59 · 250 阅读 · 0 评论 -
GM平台mmc驱动分析
linux-3.3-fa\arch\arm\mach-GM\platform-GM8136\platform.c注册多个platform设备:platform_add_devices(gm_devices, ARRAY_SIZE(gm_devices));包括ftsdc021_0_devicelinux-3.3-fa\drivers\mmc\host\sdhci-ftsdc021.c注册platf...原创 2018-03-20 09:56:23 · 534 阅读 · 0 评论 -
TL-WN725N V3无线网卡驱动移植与wireless工具wpa_supplicant-2.6
一、TL-WN725N V3无线网卡驱动移植1、下载源码网址:https://www.tp-link.com/en/download/TL-WN725N.html#Driver有两种型号,根据自己的型号选择则正确的驱动2、解压源码unzip TL-WN725N_V3_Linux.zip 3、编译进入解压出的Driver目录: cd Driver修改Makefile文件###############...原创 2018-04-01 18:00:02 · 11316 阅读 · 2 评论 -
Linux下offsetof与container_of结构体
转载:http://www.cnblogs.com/skywang12345/p/3562146.htmlLinux中的两个经典宏定义倘若你查看过Linux Kernel的源码,那么你对 offsetof 和 container_of 这两个宏应该不陌生。这两个宏最初是极客写出的,后来在Linux内核中被推广使用。1. offsetof1.1 offsetof介绍定义:offs...转载 2018-07-26 15:50:54 · 953 阅读 · 0 评论 -
linux字符设备驱动 cdev
出自:http://blog.youkuaiyun.com/ghostyu/article/details/6876667字符设备驱动cdev中用到的两个重要的结构体如下,现补充下基本知识一、cdev[html] view plain copy/* *内核源码位置 *linux2.6.38/include/linux/cdev.h */ struct cdev { struct kobj...转载 2016-04-14 13:18:13 · 411 阅读 · 0 评论 -
linux字符cdev和Inode的关系
本文所说的Inode是struct inode结构体,并不是在inode块中的inode结点。 Char Device Driver 相关数据结构:struct cdev { struct kobject kobj; struct module *owner; const struct file_operations *ops; struct list_head list; dev_t...转载 2016-04-14 13:37:20 · 473 阅读 · 0 评论 -
android开发 dts、各种接口porting
原文网址:http://www.xuebuyuan.com/1023185.html1. repo init -u git://review.sonyericsson.net/platform/manifest -b volatile-jb-mr1-yangtze2. https://wiki.sonyericsson.net/androiki/CN3-II/Bringup_Trail_F转载 2016-05-13 09:10:25 · 4253 阅读 · 0 评论 -
android MSM8974 上DeviceTree简介
原文网址:http://blog.youkuaiyun.com/dongwuming/article/details/12784213简介主要功能是不在代码中硬编码设备信息,而是用专门的文件来描述。整个系统的设备节点会形成一个树,设备节点里可以设置属性。官网在http://www.devicetree.org 。入门指南请参考http://www.devicetree.org/Device_Tree_转载 2016-05-13 09:11:35 · 331 阅读 · 0 评论 -
(DT系列一)DTS结构及其编译方法
原文网址:http://www.cnblogs.com/biglucky/p/4057476.htmlDTS结构及其编译方法 一:主要问题1,需要了解dtsi与dts的关系2,dts的结构模型3,dts是如何被编译的,以及编译后会生成一个什么文件. 二:参考文字1,DTS(device tree source).dts文件是一种ASCII文本格式的Devic转载 2016-05-13 09:16:59 · 665 阅读 · 0 评论 -
(DT系列二)device tree的书写规范
原文网址:http://www.cnblogs.com/biglucky/p/4057478.htmldevicetree的书写规范 下面从节点,属性,reg,ranges,中断控制器等几个方面叙述devicetree的书写规范。1,dts的基本元素:节点.dts(或者其include的.dtsi)基本元素为结点和属性。举例说明节点的概念:/ { node1 {转载 2016-05-13 09:18:01 · 572 阅读 · 0 评论 -
(DT系列三)系统启动时, dts 是怎么被加载的
原文网址:http://www.cnblogs.com/biglucky/p/4057481.html一,主要问题:系统在启动的时候,是怎么加载 dts的;Lk,kernel中都应调查。二:参考文字dts加载流程如下图所示:启动过程中,bootloader(默认是bootable/bootloader/lk)会根据机器硬件信息选择合适的devicet转载 2016-05-13 09:18:58 · 488 阅读 · 0 评论 -
(DT系列四)驱动加载中, 如何取得device tree中的属性
原文网址:http://www.cnblogs.com/biglucky/p/4057488.html本文以At91rm9200平台为例,从源码实现的角度来分析驱动加载时,Device tree的属性是如何取得的。一:系统级初始化DT_MACHINE_START 主要是定义"struct machine_desc"的类型,放在 section(".arch.info.init"),是初转载 2016-05-13 09:19:56 · 396 阅读 · 0 评论 -
(DT系列五)Linux kernel 是怎么将 devicetree中的内容生成plateform_device
原文网址:http://www.cnblogs.com/biglucky/p/4057495.htmlLinux kernel 是怎么将 devicetree中的内容生成plateform_device1,实现场景(以Versatile Express V2M为例说明其过程)以arch/arm/mach-vexpress/v2m.c 为例,在该文件中的v2m_dt_in转载 2016-05-13 09:20:35 · 377 阅读 · 0 评论 -
(DT系列六)devicetree中数据和 struct device有什么关系
原文网址:http://www.cnblogs.com/biglucky/p/4057499.htmldevicetree中数据和structdevice有什么关系总体来说,devicetree与structdevice的关系应该还是在其生成platformdevice的时候,一直传递的structdevice *parent参数。下面先把其源码中传递过程描述如下(仍以At91转载 2016-05-13 09:21:18 · 394 阅读 · 0 评论 -
Linux 3.10 ARM Device Tree 的初始化
转自:http://blog.chinaunix.net/uid-20522771-id-3785808.html本文代码均来自标准 linux kernel 3.10,可以到这里下载 https://www.kernel.org/ 以 arch/arm/mach-msm/board-dt-8960.c 为例,在该文件中的 msm_dt_init 函数的作用就是利用 dt(dev转载 2016-05-13 10:35:04 · 328 阅读 · 0 评论 -
Linux设备驱动中得 DTS文件加载过程
原文地址:Linux设备驱动中得 DTS文件加载过程 作者:taiping6365From:http://m.blog.youkuaiyun.com/blog/liliyaya/91881931. 在\kernel\of\fdt.c 中有如下初始化函数 注释上:展开设备树,创建device_nodes到全局变量allnodes中void __init unflatten_de转载 2016-05-13 10:36:08 · 2643 阅读 · 0 评论 -
DeviceTree基础
DeviceTree(以下简称DT)用于描述设备信息以及设备于总线之间的层级关系,DT可用于描述绝大多数板级设备的细节,包括CPU、内存、中断、总线以及外设等,与DT相关的Object有dts、dtsi、dtc、dtb、dt.img。dts:DT源文件称为dts文件,Ascii文本文件,一般一个dts文件对应一个Machine,ARM架构下dts文件存放于arch/arm/boot/dts转载 2016-05-13 10:37:13 · 3248 阅读 · 0 评论 -
device tree 实例
http://www.eefocus.com/marianna/blog/15-02/310352_46e8f.html原创 2016-05-13 10:47:03 · 496 阅读 · 0 评论 -
Kinect移植到嵌入式ARM平台上面
我毕业设计做的libusb移植, 而kinect通信是基于libusb,所以,就做了一个kinect+libusb在嵌入式平台上面的移植, 经过几个月忙碌,终于将毕业设计给完成了,写下一点心得, 也算是我多年在csdn索取资源的回馈。 本系统主要由两个部件构成:嵌入式硬件平台和USB设备,通过USB总线建立起它们之间通讯,如图2.16所示,USB设备Kinect中包含一个USB集线器,在Ki...转载 2016-11-02 11:52:29 · 972 阅读 · 1 评论 -
linux sysfs
内核已经集成了很多驱动,很多都成了子系统了,像我最近看的gpio、led、i2c、spi。就是说,人家已经做好了一个框架在那里,只有符合它的使用条件,都可以用。闲话不多说,真正了解了sysfs是那个内核提供的led点灯方式,我一直停留在以前s3c2440时代用的ioctl,不知道可以通过sysfs来访问内核空间,也不知道内核已经做好了led框架,认为直接用echo能让led亮灯,真的太神奇了。本篇...转载 2016-04-19 14:22:25 · 445 阅读 · 0 评论 -
关于platform_driver 是如何匹配 platform_device的和如何调用到platform_driver中的probe函数
原文地址:http://blog.youkuaiyun.com/adc0809608/article/details/7289285在linux中platform平台驱动又三大部分组成,第一是bus、第二是驱动、第三是设备。 第一总线也就是platform_bus,总线也是一种特殊的device,到底层下面还是要调用device_register来注册该总线设备,然后是用来注册总线的属性结构体bus_...转载 2016-04-14 15:38:12 · 530 阅读 · 0 评论 -
基于Device tree机制的驱动编写
转自:http://www.69900.com.cn/zengxianyang/article/details/50732929目录(?)[+]前言Device Tree是一种用来描述硬件的数据结构,类似板级描述语言,起源于OpenFirmware(OF)。在目前广泛使用的Linux kernel 2.6.x版本中,对于不同平台、不同硬件,往往存在着大量转载 2016-05-13 09:08:16 · 1403 阅读 · 0 评论