linux驱动
文章平均质量分 68
MichaelJay2015
这个作者很懒,什么都没留下…
展开
-
linux驱动概述
linux设备驱动分类字符设备驱动块设备网络设备套路框架如下驱动三要素实现module_initmodule_exit对应的函数添加其他功能模块file_operations硬件地址到内核地址的映射ioremap应用层调用驱动的流程结合linux软件层次Note幻数加密驱动添加到内核从内核卸载linux设备驱动分类1. 字符设备驱动;在传递数据时,按照字节流先后顺序传递.原创 2016-08-18 09:42:54 · 315 阅读 · 0 评论 -
linux驱动-其他知识点
时间流jiffies内存空间分配kmaklloc128kget_free_pages4Mvmalloc4MIO内存空间端口空间映射机制ioremap动态map_dec静态mmap1. 时间流jiffies全局变量,从上电开始. 每隔一个固定时间就会+1, 这个时间是由定时器中断实现的, 只读.相当于计数定时器产生中断的个数.#include <linux/param.h>中的原创 2016-08-22 14:49:55 · 258 阅读 · 0 评论 -
linux驱动-阻塞_非阻塞_异步通知
linux设备驱动中的阻塞非阻塞IO异步通知阻塞操作等待队列的驱动编程在已有的设备驱动基本框架上继续非阻塞操作实现过程驱动编程实现编程典型模板异步通知编程实现使用场景linux设备驱动中的阻塞,非阻塞I/O,异步通知阻塞操作在执行设备操作时, 若不能获得资源则进程睡眠,让出CPU,当满足可操纵条件后,内核唤醒进程继续执行;由于阻塞的进程会进入睡眠状态,因此需要适时的唤醒它,否则进程原创 2016-08-22 14:46:29 · 393 阅读 · 0 评论 -
linux驱动-字符设备驱动
linux驱动(一) — 字符设备char dev驱动编写流程1. 注册设备号找到设备的设备号;设备号唯一标示设备. register_chrdev_region();2. 初始化;cdev_init; 初始化cdev_add();添加到系统ioremap(); convert HAL address to virtual address in kernel.3. 文件操作(open原创 2016-08-22 14:45:50 · 205 阅读 · 0 评论 -
linux驱动-中断机制
中断机制linux中断机制如何实现与别的系统中断的区别 上下半部中断机制1. linux中断机制如何实现,与别的系统中断的区别— 上下半部为了解决高优先级的执行时间很长, 但是低优先级执行时间短,这样就会造成其他中断无法响应.将所有的中断分成上,下 两部分, 其中上半部分的优先级平级, (优先解决紧急事件,时间尽量短), 而下半部分按照优先级来执行(推迟处理). 类似于到餐馆吃饭, 来的都是客原创 2016-08-22 14:45:18 · 299 阅读 · 0 评论 -
linux驱动-并发
linux中的并发情况:进程;中断;CPU;(多核cpu)并发互斥控制机制:1. 中断屏蔽;(有中断处理程序访问共享资源时)说白了, 就是操作硬件的时候,关闭该硬件的中断,使之独占.中断屏蔽的使用方法:local_irq_disable(); //关闭local所有中断........local_irq_enable();这样可以实现中断的屏蔽,但是同时也会关闭其他的中断,如系原创 2016-08-22 14:41:05 · 294 阅读 · 0 评论 -
linux驱动-平台设备
平台设备把硬件设备添加到设备树更改驱动程序中的加载入口驱动程序的修改平台设备集成SOC系统中的设备,从resource角度统一抽象为platform设备.它的优点就是实现了硬件信息和驱动的分离.早起是通过板级文件(在内核中)修改, 但是那样需要重新编译内核,比较麻烦. 于是平台设备就**直接将硬件设备的信息放到 设备树 中, 从而驱动不在存放硬件信息, 实现硬件与驱动的分离.方便维护**1原创 2016-08-22 14:40:26 · 326 阅读 · 0 评论 -
块设备
块设备块设备和字符设备区别块设备的 硬件原理块驱动层次结构块设备能够随机访问固定大小(如512字节)数据片(chunk)的设备被称作块设备块设备和字符设备区别:---- | 块设备 | 字符设备访问单位 | 固定大小 | 无 //块设备访问最小单位是扇区sector(常见的是512字节)随机访问 | 支持原创 2016-08-22 14:39:38 · 265 阅读 · 0 评论 -
linux驱动-I2C设备
UART硬件I2C设备硬件I2C驱动框架I2C驱动编写进入内核源码修改设备树dts文件添加如下内容修改驱动程序SPI硬件UART全双工,异步, **U**niversual **A**sync **R**eceive **T**ransport.硬件1根 发送线Tx;1根 接收线Rx;I2C设备硬件:CLK —– 1根时钟线: 标准的时钟方波DATA —– 1根数据线:原创 2016-08-22 14:37:50 · 1779 阅读 · 1 评论