字符驱动(按键)初始化函数分析: 1 static struct char_device_struct { 2 struct char_device_struct *next; 3 unsigned int major; 4 unsigned int baseminor; 5 int minorct ...
分类:
系统相关 时间:
2019-04-12 23:16:26
阅读次数:
184
I/Oports(I/O设备地址):这些其实都是文件(Linux的思想就是一切皆文件),因此可以用open(),write(),read(),close()来进行操作块设备:block,存取单位是‘块’,如:磁盘字符设备:char,存取单位是‘字符’,如:键盘设备文件:关联至一个设备驱动程序,进而能够跟与之对应的硬件设备进行通信设备号码:主设备号(majornumber),标识设备类型次设备号(m
分类:
系统相关 时间:
2019-04-08 22:58:03
阅读次数:
289
块设备和字符设备的差异(1)块和字符是两种不同的访问设备的策略(2)同一个设备可以同时支持块和字符两种访问策略(3)设备本身的物理特性决定了哪一种访问策略更适合(4)块设备本身驱动层支持缓冲区,而字符设备驱动层没有缓冲(5)块设备驱动最适合存储设备 块设备驱动的特点(1)字符设备只能顺序访问(如串口 ...
分类:
其他好文 时间:
2019-04-08 01:12:21
阅读次数:
175
硬件地址又称物理地址或MAC地址 以太网的MAC帧格式开始的标志是有11出现时,没电时自动结束 适配器的重要功能:进行串行/并行转换;对数据进行缓存;在计算机的操作系统安装设备驱动系统;实现以太协议 适配器的作用:通过适配器;装有处理器和存储器;与局域网之间通过电缆或双绞线以串行传输方式进行;与计算 ...
分类:
其他好文 时间:
2019-04-05 15:38:47
阅读次数:
166
编写linux设备驱动的注意事项之一当然写驱动,你得清楚上层调用是否导致存在函数重入、什么执行context下(1.中断、2.软中断、3.tasklet(软中断的一种)、4.timer(基于软中断实现)、5.hrtimer(软中断或硬中断环境下执行)、6.workqueue(也是kernelthread)、7.kernelthread、8.普通thread的内核态下)会访问此函数和此资源,需要什么
分类:
系统相关 时间:
2019-03-24 00:28:34
阅读次数:
251
关于如何编写linux设备驱动1)首先确定硬件接口使用的总线,2)然后确定要实现的功能,是网卡、sensor还是什么?再确定对上层应用暴露的接口,从而选择子系统,例如iio、input子系统等。由于linux只有字符设备、块设备、网络设备三种设备,其实iio、input子系统都是字符设备,只是它们帮你封装好了字符设备的file_operations和Major设备号了,另外提供统一的sysfs接口
分类:
系统相关 时间:
2019-03-24 00:27:56
阅读次数:
237
i2c总线注意事项和在linux下使用实战仔细阅读上图中的下部分文字。注意你的i2c_msg发送方式,决定了是否有pause。注意图中,什么叫sr。注意图上说的什么样的才是真i2c协议i2c设备驱动涉及的linuxi2capi:参见include/linux/i2c.hi2c_transfer()i2c_master_send()、i2c_master_recv()i2c_smbus_xfer()
分类:
系统相关 时间:
2019-03-24 00:16:29
阅读次数:
387
好久没有写博客了,距离上次眼看有一年了,每次入职新公司都会放弃一段时间的自我学习.感觉在新公司也学到了很多.但都是面对项目工作,来真对性的学习.感觉这一年确实学到了一些程序框架上面的知识,在网络编程方面有了更多的了解.C语言的基础也得到了巩固.编程规范也学到一些,有了与公司同样的风格,看上去也算比较 ...
分类:
其他好文 时间:
2019-03-23 16:12:47
阅读次数:
158
一、描述计算机的组成及其功能。VonNeumannarchitecture计算机五大组成部分:运算器、控制器、存储器、输入设备、输出设备二、描述内核功能以及作用系统内核是计算机操作系统的基础部分,直接与计算机硬件交互,核心功能是内存管理与cpu时间分配。linux内核还包括了各类设备驱动。内核为应用程序提供系统调用服务,使得应用程序可以利用计算机的各类硬件资源。三、按系列罗列常见Linux的发行版
分类:
系统相关 时间:
2019-03-19 18:26:47
阅读次数:
227
Linux中的Platform总线是虚拟总线,它把驱动和设备的注册都分开来,对于他们的牵红线(匹配)过程,提供了“总线-设备-驱动”模型。 它的结构如下图所示: 为什么要这么做? 试想,如果设备和驱动不分开,那么不同设备将会产生大量驱动(代码冗余),而且维护起来工作量很大。 Platform模型则把 ...
分类:
系统相关 时间:
2019-03-17 01:00:52
阅读次数:
186