驱动
hedtao
这个作者很懒,什么都没留下…
展开
-
Linux内核定时器原理
转自:http://hi.baidu.com/eygaqurchnbhsyq/item/939630a06c27907d6cd455b0一、定义:/include/linux/timer.hstruct timer_list {struct list_head entry;unsigned long expires;void (*function)(unsign转载 2013-04-12 14:19:04 · 870 阅读 · 0 评论 -
snd_soc_codec_device 之 snd_soc_new_pcms
转自:snd_soc_codec_device 之 snd_soc_new_pcms以wolfsen的wm8900 codec为例,在wm8900.c中可以看到struct snd_soc_codec_device soc_codec_dev_wm8900 = {.probe = wm8900_probe,.remove = wm8900_remove,.sus转载 2013-07-19 15:27:11 · 808 阅读 · 0 评论 -
驱动相关问题
有转载有摘抄驱动笔记FIQ和IRQ区别 向量中断控制器VIC具有32个中断请求输入,可将其编程分为3类,FIQ,向量IRQ和非向量IRQ。FIQ快速中断请求要求具有最高优先级。如果分配给FIQ的请求多于一个,VIC将中断请求相或后向ARM处理器产生FIQ信号。当只有一个中断被分配为FIQ时可实现最短的FIQ等待,但如果分配给FIQ级的中断多于1个,FIQ服务程序需要读取F原创 2013-09-08 20:46:01 · 1437 阅读 · 0 评论 -
Linux-2.6.38的LCD驱动分析(一)
inux-2.6.38的LCD驱动分析(一)参考自:http://blog.chinaunix.net/uid-11114210-id-2907026.html一、让LCD显示可爱的小企鹅还是先说说环境吧,处理器为S3C6410,linux的版本是2.6.38(友善之臂提供的)。下面先说说怎样让LCD上显示出可爱的小企鹅。最直接的步骤如下(记住不要问为什么哈~_~,一步一步跟着转载 2013-09-11 14:19:00 · 982 阅读 · 0 评论 -
Linux-2.6.38的LCD驱动分析(二)
Linux-2.6.38的LCD驱动分析(二)参考自:http://blog.chinaunix.net/uid-11114210-id-2907026.html二、s3cfb_probe函数分析2.1 驱动的入口点 摆在面前的第一个问题相信应该是,这个函数是从那里开始运行的。这里就应该从long long ago 开始了,打开linux-2.转载 2013-09-11 14:19:51 · 715 阅读 · 0 评论 -
Linux-2.6.38的LCD驱动分析(三)
Linux-2.6.38的LCD驱动分析(三)参考自:http://blog.chinaunix.net/uid-11114210-id-2907026.html三、解剖s3cfb_driver变量 s3cfb_driver变量有什么作用呢?在前面的2.2节提到了它的定义,从它的原型可以看出s3cfb_driver是个platform_driver类型的变量,前面的几转载 2013-09-11 14:19:37 · 787 阅读 · 0 评论 -
Linux-2.6.38的LCD驱动分析(四)
Linux-2.6.38的LCD驱动分析(四)参考自:http://blog.chinaunix.net/uid-11114210-id-2907026.html四、s3cfb_ops变量详解 在上面的文字中,较为详细的解释了platform device相关的代码,通过上面的代码的执行,一个platform设备(framebuffer被当作了platform设备转载 2013-09-11 14:20:25 · 772 阅读 · 0 评论 -
基于S3c6410触摸屏驱动分析(一)
首先说明一下,本文使用的环境是S3C6410(Tiny6410),Linux-2.6.38(友善之臂提供),触摸屏驱动位于drivers/input/touchscreen/目录下。好吧,就让我们开始我们的触摸屏之旅。。。一.硬件简介 S3C6410触摸屏接口与ADC接口集成在一起,触摸屏X、Y坐标所产生的模拟信号通过通道7、5输入如下图示,6410提供触摸屏接口有转载 2013-09-11 14:23:42 · 792 阅读 · 0 评论 -
LCD驱动分析(三): framebuffer驱动的注册
原文地址:LCD驱动分析(三): framebuffer驱动的注册 作者:huabinbin00这里最好牵涉到几个文件S3cfb.c、S3cfb_fimd6x.c setuo-fb.c fb_mem.c在这里之前最好知道pci,和memio一些术语的意思S3cfb.c中的s3cfb_probe设备探测,是驱动注册的主要函数 点击(此处)折叠或打开转载 2013-09-11 14:39:57 · 729 阅读 · 0 评论 -
FIMD架构分析
转自:http://www.embedu.org/Column/Column431.htmFIMD架构分析作者:邹南,华清远见嵌入式学院讲师。一、名称含义(FIMC& FIMD)FIMC : Fully Interactive Mobile Camera (完全交互式移动摄像机) FIMD:转载 2013-09-11 14:40:47 · 909 阅读 · 0 评论 -
LCD驱动分析(一):时序的分析
原文地址:LCD驱动分析(一):时序的分析 作者:huabinbin00第一次调试lcd驱动的话是不是对下面的结构有点陌生,不知道那些值是如何得来的,当然我就属于其中的一个点击(此处)折叠或打开 static struct s3cfb_lcd lte480wv = { .width = 1024,//800, .height转载 2013-09-11 14:38:18 · 1836 阅读 · 0 评论 -
【简介】如何编写linux下nand flash驱动
转自 :http://www.cnblogs.com/shenhaocn/archive/2011/03/10/1980310.html1. 硬件特性:【Flash的硬件实现机制】Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile Memory Device),与此相对应的是易失性存储设备(Volatile Memory Device)。转载 2013-05-15 20:10:24 · 541 阅读 · 0 评论 -
Linux I2C驱动源码分析(二)
转自 http://www.cnblogs.com/nick123/archive/2010/09/06/1819037.html下面开始分析linux/drivers/i2c/busses/i2c-s3c2410.c,在设备与驱动匹配成功后,会执行s3c24xx_i2c_probe()函数,此处传给s3c_i2c_probe 的参数就是 我们注册的i2c 平台设备 s3c_device_转载 2013-05-08 14:20:34 · 579 阅读 · 0 评论 -
Linux I2C驱动分析 S3C6410
转自:http://www.linuxidc.com/Linux/2011-08/39948p1.htmLinux中I2C体系结构如下图所示(图片来源于网络)。图中用分割线分成了三个层次:用户空间(也就是应用程序),内核(也就是驱动部分)和硬件(也就是实际物理设备,这里就是6410中的i2c控制器和at24xx)。这个够清晰了吧?我们主要研究的是中间那一层。中间一层又分为i2c转载 2013-05-11 21:29:45 · 1110 阅读 · 0 评论 -
Linux驱动头文件说明
http://hi.baidu.com/%BB%F0%D0%C7%C6%B0%B3%E6911/blog/item/3c01cb8c3c5bccab0f244491.html驱动程序: #include 是在linux-2.6.29/include/linux下面寻找源文件。#include 是在linux-2.6.29/arch/arm/include/asm下面寻找源文件。转载 2013-04-13 21:32:47 · 351 阅读 · 0 评论 -
wait_event_interruptible() 和 wake_up()的使用
http://www.newsmth.net/nForum/#!article/KernelTech/20731 1. 关于 wait_event_interruptible() 和 wake_up()的使用 读一下wait_event_interruptible()的源码,不难发现这个函数先将 当前进程的状态设置成TASK_INTERRUPTIBLE,然后调用schedu转载 2013-04-13 21:14:41 · 575 阅读 · 0 评论 -
Unable to handle kernel NULL pointer dereference.
这几天调试Wlan遇到的错误,有必要记录一下....Thu Jan 1 00:00:59 UTC 1970rt73 driver version - 1.0.4.0rt73 driver step1 loki**RT2573**--> PortCfgInit**RT2573****RT2573**--> RTMPInitAdapterBlock**RT2573**转载 2013-04-18 17:05:09 · 1008 阅读 · 0 评论 -
struct nand_ecclayout 之解义 ,eccbytes,eccpos,eccfree
【转帖请注明出处:blog.csdn.net/lanmanck】内核的nand flash驱动真可谓用“日新月异”来形容,今儿个刚写完的驱动,等到明天下个新内核放进去,又不好使了,shit!这里讨论下struct nand_ecclayout,即nand 的ecc布局问题,基于2.6.32-rc2.该结构体定义如下:struct nand_ecclayout {转载 2013-05-17 15:38:02 · 626 阅读 · 0 评论 -
I2C设备驱动的编写
前面我们说了如何I2C用户模式驱动,这种驱动基于I2C子系统,但是他对于应用程序开发人员的要求较高,需要应用程序开发人员了解硬件的一些东西,比如时序,地址等等,而多数时候应用程序开发人员是按照操作文件的方法操作设备,所以我们更希望用一些更简单的接口去访问。也就是我们今天的内容——基于I2C子系统的字符驱动。I2C子系统的代码分为三部分如图:Host:主机控制器驱动Device:转载 2013-05-09 10:30:21 · 528 阅读 · 0 评论 -
Linux I2C驱动源码分析(一)
内核版本:2.6.31.6 转自http://www.cnblogs.com/nick123/archive/2010/09/05/1818471.html首先在S3C2440平台的初始化函数中,主要是将开发平台的设备注册进了系统,也就是将device注册到了platform虚拟的总线上,并进行了一些初始化的工作,这里我们只关注I2C的部分。 static void __init转载 2013-05-08 14:15:45 · 468 阅读 · 0 评论 -
实例解析linux内核I2C体系结构(2)
转自 :http://blog.csdn.net/hongtao_liu/article/details/5260739四、在内核里写i2c设备驱动的两种方式前文介绍了利用/dev/i2c-0在应用层完成对i2c设备的操作,但很多时候我们还是习惯为i2c设备在内核层编写驱动程序。目前内核支持两种编写i2c驱动程序的方式。下面分别介绍这两种方式的实现。这里分别称这两种方式为“Adapte转载 2013-05-09 10:52:30 · 419 阅读 · 0 评论 -
实例解析linux内核I2C体系结构(1)
转载:http://blog.csdn.net/hongtao_liu/article/details/4964244一、概述谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。下面比较下这两种驱动。第一种方法的好处(对应第二种方法的劣势)有: ●转载 2013-05-09 10:50:45 · 559 阅读 · 0 评论 -
container_of 用法解析
在学习Linux驱动的过程中,遇到一个宏叫做container_of。该宏定义在include/linux/kernel.h中,首先来贴出它的代码:/** * container_of - cast a member of a structure out to the containing structure * @ptr: the pointer to the转载 2013-05-11 17:15:17 · 446 阅读 · 0 评论 -
LCD驱动分析(二):framebuffer结构的介绍
原文地址:LCD驱动分析(二):framebuffer结构的介绍 作者:huabinbin00基于S5PV210下Framebuffer驱动的分析1. 知道Framebuffer的工作原理2. 了解Framebuffer的架构3. Framebuffer的注册,驱动实现的机制Frame:你所看到的屏幕的图像,或者在一个窗口中的图像转载 2013-09-11 14:39:59 · 762 阅读 · 0 评论