摘要:
<按键驱动程序> #include <stdio.h> #include <fcntl.h> #include <linux/input.h> #include <sys/types.h> #include <unistd.h> int main(int argc, char** argv) { i 阅读全文
摘要:
<输入子系统简介> a:背景 内核的输入子系统是对“分散的”,“多种不同类别”的输入设备(键盘,鼠标,跟踪杆,触摸屏,加速度计等)进行“统一处理”的驱动程序。具有如下特点: a-1:统一各种形态各异的相似的输入设备的处理功能(鼠标,不论是PS/2形的鼠标,还是usb形式的鼠标,还是蓝牙形式的鼠标), 阅读全文
摘要:
linxu_usb驱动之框架 USB骨架程序可以被看做一个最简单的USB设备驱动的实例。 首先看看USB骨架程序的usb_driver的定义 [cpp] view plain copy static struct usb_driver skel_driver = { .name = "skeleto 阅读全文
摘要:
<uart驱动程序概述> 在嵌入式Linux系统中,串口被看成终端设备,终端设备(tty)的驱动程序分为3部分: tty_core tty_disicipline tty_driver 包括3个结构体:uart_driver,uart_port,uart_ops(include/serial_cor 阅读全文
摘要:
字符设备之混杂设备: 定义混杂设备: 向Linux系统注册混杂设备驱动: 卸载混杂设备: 注意:混杂设备的初始化没有使用函数cdev_init(stuct cdev *,const struct file_operation *)来将将设备描述结构和设备操作函数集联系起来。 <wiz_tmp_tag 阅读全文
摘要:
<简介> a:什么是液晶 物质一般有三态,固态,气态,和液态。这只是一种比较大致的划分,但是有些物质介于液体和固体之间——液晶。一般固体的分子或原子都由固定的排列方式,但是液晶介于固体和液体之间,具有流动性和排列性,可以用磁场来改变液晶的排列方式。 b:LCD背光 场致发光(Electro-Lumi 阅读全文
摘要:
<平台设备设备驱动> a:背景: 平台总线是Linux2.6的设备驱动模型中,关心总线,设备和驱动这3个实体。一个现实的Linux设备和驱动通常需要挂接在一种总线上(比如本身依附于PCI,USB,IIC,SPI等设备而言)。但是在嵌入式系统里面,SoC系统即集成的独立外设控制器,挂接在SoC内存空间 阅读全文
摘要:
<linux系统7大子系统> a:SCI(system call interface) ————用户程序通过软件中断后,调用系统内核提供的功能,这个在用户空间和内核提供的服务之间的接口称为系统调用。系统调用是Linux内核提供的,用户空间无法直接使用系统调用。在用户进程使用系统调用必须跨越应用程序和 阅读全文
摘要:
<机械硬盘> a:磁盘结构 传统的机械硬盘一般为3.5英寸硬盘,并由多个圆形蝶片组成,每个蝶片拥有独立的机械臂和磁头,每个堞片的圆形平面被划分了不同的同心圆,每一个同心圆称为一个磁道,位于最外面的道的周长最长称为外道,最里面的道称为内道,通常硬盘厂商会将圆形蝶片最靠里面的一些内道(速度较慢,影响性能 阅读全文
摘要:
USB概述 <USB简介> a:背景 USB是Universal Serial Bus的缩写,是一种全新的,双向同步传输的,支持热插拔的PC串行通信协议,USB标准提出的主要目的是为了提供一种兼容低速和高速,可扩充并且使用方便外围设备接口共人们使用,同时解决之前计算机接口过多的难题(这也是造成USB 阅读全文