
驱动深化
xxgui1992
认真踏实的小晚辈
展开
-
misc设备
misc混杂设备原创 2017-02-04 10:33:03 · 359 阅读 · 0 评论 -
运用层是怎样找到驱动的+open中子设备识别
子设备识别翻译 2017-02-04 10:49:19 · 349 阅读 · 0 评论 -
usb
框架解释:见xmind思维导图:实例:例程代码下载:https://git.coding.net/xxgui1992/LinuxDriver-usb.git原创 2017-02-22 16:16:30 · 348 阅读 · 0 评论 -
mmap专题
概念及作用:应用层有这样的需求:我要映射一片空间,但这片空间不是随便的一片空间,他跟我当前要操作的设备有关联,但我又不知道他的绝对物理地址,只是想能够获得一片与该设备相关的,偏移一定偏移量的区域,并映射到用户空间。那么此后我在用户空间操作这片虚拟地址就相当于操作了与该设备相关的物理地址。类似的需求在lcd中常常会用到。这里的回调机制与read(),write()的回调机制一样。运用层mmap原创 2017-02-13 22:15:03 · 202 阅读 · 0 评论 -
input子系统
1、分层设备驱动层:1.结构体:核心层:1.结构体:事件处理层:1.结构体:2、步骤流程:1.定义input_dev结构方法1:struct input_dev dev;方法2:struct input_dev *dev ;struct input_dev __must_check *input_allocate_device(void);2.初始化1. 支持什么事件 set_bit(原创 2017-02-07 14:23:53 · 335 阅读 · 0 评论 -
I2C子系统
exynos4412的IIC控制器工作流程:裸机程序如下: 重要的数据结构:1.描述控制器的:2.控制器操作硬件的方法:3.核心层的总结构体;4.描述从机mpu6o50的:设备树:i2c@138B0000 { samsung,i2c-sda-delay = <100>; samsung,i2c-max-bus-freq = <20000>; pinc原创 2017-02-08 15:34:54 · 417 阅读 · 0 评论 -
mtd框架
概述:对于我们写驱动的来说,nand Flash、norFlash 等常见设备的驱动内核已经帮我们是实现好了,我们只需要在板级文件或平台文件中对分区表信息进行修改(如arch/arm/match-s3c24xx/mach-jive.c)。针对不同的CPU,根据nand控制器时序要求,微改一下最底层操作硬件的函数如(drivers/mtd/nand/s3c2410.c中的一些初始化函数)层次:no原创 2017-02-20 17:07:50 · 590 阅读 · 0 评论 -
platform深入
最简范例驱动代码设备信息设备信息有是三种提供方式1.通过platform_device模块提供设备信息:2.通过平台文件提供设备信息:3.通过设备树提供设备信息:靠设备树来提供:源码下载: https://git.coding.net/xxgui1992/LinuxDriver-test.git原创 2017-02-04 20:36:01 · 314 阅读 · 0 评论 -
LCD驱动
数据结构重要函数:mmap:1.运用层:【1】void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);功能:在进程的虚拟地址空间建立一个内存映射。参数: addr :指定映射的起始地址,如果写NULL,系统自动分配 length:映射的长度原创 2017-02-11 17:18:07 · 263 阅读 · 0 评论 -
网卡驱动
skb原创 2017-02-16 17:01:38 · 516 阅读 · 0 评论