Linux内核从3.x开始引入设备树的概念,用于实现驱动代码与设备信息相分离。在设备树出现以前,所有关于设备的具体信息都要写在驱动里,一旦外围设备变化,驱动代码就要重写。引入了设备树之后,驱动代码只负责处理驱动的逻辑,而关于设备的具体信息存放到设备树文件中,这样,如果只是硬件接口信息的变化而没有驱动 ...
分类:
系统相关 时间:
2017-03-03 01:08:21
阅读次数:
265
本文转载自:http://www.cnblogs.com/xiaojiang1025/p/6131381.html 概念 Linux内核从3.x开始引入设备树的概念,用于实现驱动代码与设备信息相分离。在设备树出现以前,所有关于设备的具体信息都要写在驱动里,一旦外围设备变化,驱动代码就要重写。引入了设 ...
分类:
系统相关 时间:
2017-02-18 17:08:16
阅读次数:
815
驱动步骤: 1、驱动框架:一般读驱动代码需要module_init一层层找代码 2、硬件配置 代码中led_ioctl函数设置引脚的电平高低,该函数是驱动程序对设备的通道进行统一设置/控制的函数 一、 在用户空间,使用ioctl系统调用来控制设备,原型如下: 用户使用 int ioctl(int f ...
分类:
其他好文 时间:
2017-01-03 21:03:11
阅读次数:
279
转自:http://blog.csdn.net/cailiwei712/article/details/7998525 在查看内核驱动代码的时候会经常看到在一些函数后面总会跟EXPORT_SYMBOL()这样的宏定义,通过网上查阅,它的作用大致总结如下: 1、定义说明 把内核函数的符号导出,也可以理 ...
分类:
其他好文 时间:
2016-12-26 22:04:32
阅读次数:
227
#include <ntddk.h> void DriverUnload(IN PDRIVER_OBJECT DriverObject);NTSTATUS MyCreateClose(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp);NTSTATUS MyDe ...
分类:
其他好文 时间:
2016-12-11 18:15:46
阅读次数:
200
之前在分析samsung的fb驱动代码的时候,其中有一段代码是处理内核logo显示相关的,今天就内核logo这个话题来聊一聊! 一、处理内核logo显示相关的代码在哪? 回到samsung的fb驱动代码中,因为fb的驱动代码是基于platform平台总线编写的,所以我们需要找到platform_dr ...
分类:
系统相关 时间:
2016-11-19 23:02:35
阅读次数:
222
在前面讲过,驱动层是应用层是分离,驱动层的代码不能使用再应用层,应用层也不能直接操作驱动代码,那么应用层和驱动层之间是如何来实现数据间的交换的能,方法就是通过相应的接口函数。(1)copy_from_userunsignedlongcopy_from_user(void*to,constvoid__user*from,unsigned..
分类:
其他好文 时间:
2016-11-14 02:43:02
阅读次数:
158
/************************************************************************/ Linux内核版本:2.6.35.7 运行平台:三星s5pv210 /**************************************** ...
分类:
其他好文 时间:
2016-11-05 20:15:27
阅读次数:
198
首先应用程序执行poll函数 kernel中的sys_poll do_sys_poll init_poll_funcptr-->do_poll do_poll for(;;) { if(do_pollfd(pfd,pt)) { count++; //如果驱动的poll返回非0值,那么count++ ...
分类:
系统相关 时间:
2016-10-26 14:19:26
阅读次数:
373
首先贴上代码: 字符设备驱动代码: 模块的Makefile: 测试文件: sd ...
分类:
系统相关 时间:
2016-10-25 09:43:04
阅读次数:
323