驱动
for_kernel
这个作者很懒,什么都没留下…
展开
-
DDR工作原理
转载:http://www.cnblogs.com/shengansong/archive/2012/09/01/2666213.htmlDDR SDRAM全称为Double Data Rate SDRAM,中文名为“双倍数据流SDRAM”。DDR SDRAM在原有的SDRAM的基础上改进而来。也正因为如此,DDR能够凭借着转产成本优势来打败昔日的对手RDRAM,成为当今的主流。本文只着重转载 2017-09-02 13:56:45 · 844 阅读 · 0 评论 -
Linux驱动学习笔记之触摸屏驱动
http://blog.chinaunix.net/uid-25737580-id-3143259.html触摸屏归纳为输入子系统,这里主要是针对电阻屏,其使用过程如下当用触摸笔按下时,产生中断。在中断处理函数处理函数中启动ADC转换x,y坐标。ADC结束,产生ADC中断在ADC中断处理函数里上报(input_event)启动定时器再次启动定时器(可转载 2014-01-15 20:12:00 · 568 阅读 · 0 评论 -
linux中断申请之request_threaded_irq
http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=21977330&id=3755609在linux里,中断处理分为顶半(top half),底半(bottom half),在顶半里处理优先级比较高的事情,要求占用中断时间尽量的短,在处理完成后,就激活底半,有底半处理其余任务。底半的处理方式主要有soft_irq, task转载 2014-01-15 20:11:03 · 925 阅读 · 0 评论 -
触摸屏驱动(基于mini2440)
http://blog.csdn.net/charistain_huang/article/details/6372902驱动路径:drivers/input/touchscreen/s3c2410_ts.c在static int __init s3c2410ts_init(void)函数中注册了两个中断1.if (request_irq(IRQ_ADC, stylus转载 2014-01-15 20:13:56 · 524 阅读 · 0 评论 -
关于schedule_timeout
http://blog.chinaunix.net/uid-10221131-id-357017.htmlschedule_timeout这个函数除了对当前进程调用schedule之外,还有一个功能,如同其名字中暗示的,在指定的时间到期后(timeout了)将进程唤醒。我们知道,进程一旦进入睡眠状态,就会从cpu的run queue中移走,直觉是系统将不会维护散落到系统各处(等待队列等转载 2014-01-14 22:31:07 · 676 阅读 · 0 评论 -
去掉linux内核打印信息的一种方法
http://www.linuxdiyf.com/viewarticle.php?id=15978 在使用嵌入式linux系统开发产品的过程中,有时会使用console作为用户操作界面,这时就没必要看到linux系统的启动信息,需要将它去掉,现有方法如下: 在linux内核中的/kernel目录下printk.c文件中有一个函数:CODE:stat转载 2013-12-23 11:37:32 · 3263 阅读 · 0 评论 -
SD卡驱动开发心得体会
http://blog.csdn.net/edsam49/article/details/5893068最近在负责SD卡驱动的开发移植工作,支持vfat文件系统,现在谈一下开发心得吧! SD卡高度集成闪存,具备串行和随机存取能力。可以通过专用优化速度的串行接口访问,数据传输可靠。接口允许几个卡垛叠,通过他们的外部连接。接口完全符合最新的消费者标准,叫做SD卡转载 2014-01-07 16:29:58 · 736 阅读 · 0 评论 -
__init
http://blog.csdn.net/unbutun/article/details/4588248在2.6内核中,initcall.init区段又分成7个子区段,分别是 .initcall1.init .initcall2.init .initcall3.init .initcall4.init .initcall5.init .initcall6.init转载 2014-01-03 22:01:19 · 510 阅读 · 0 评论 -
linux 内核定时器 timer_list详解
http://www.cnblogs.com/leaven/archive/2010/08/19/1803382.htmlhttp://www.linux-cn.com/html/linux/kernel/20070412/1886.shtml http://linux.ccidnet.com/art/741/20061116/952655_1.htmlLinux内核转载 2014-01-04 17:31:07 · 553 阅读 · 0 评论 -
嵌入式Linux实现关机断电
http://blog.chinaunix.net/uid-23028407-id-3085685.html文章在描述时基于以下环境: 硬件平台:Micro 2440; 软件:Linux 2.6.32; 撰写本文的目的在于知识分享,但因本人能力有限,难免有描述不当或错误的地方,欢迎大家批评指正。转载 2013-12-19 15:46:09 · 5754 阅读 · 0 评论 -
Linux kernel panic解决方法
http://www.linuxidc.com/Linux/2012-02/53272p4.htmkernel panic错误表现kernel panic 主要有以下几个出错提示:Kernel panic-not syncing fatal exception in interruptkernel panic - not syncing: Attempted to kill t转载 2013-12-04 15:59:47 · 1037 阅读 · 0 评论 -
oops的解读方法-----怎么通过oops查找源码行
http://blog.csdn.net/android_huber/article/details/7580513本文系本站原创,欢迎转载!转载请注明出处:http://blog.csdn.net/android_huber交流邮箱:dp.shao@gmail.com-----------------------------------------------------转载 2014-02-09 16:23:10 · 974 阅读 · 0 评论 -
I2C设备驱动编写,struct i2c_device_id,struct i2c_driver,i2c_add_driver,i2c_register_board_info
http://blog.csdn.net/lanmanck/article/details/7836734我的理念:简单实用即可,不要搞一堆源码出来,结果让人看了以后还不知道怎么用,看我的:1、在arch/arm/mach-xxx/ 自己的平台文件里添加i2c信息,美其名曰:i2c_board_info例如:static struct i2c_boa转载 2014-03-03 11:55:59 · 849 阅读 · 0 评论 -
Linux驱动之触摸屏 单点 多点 举列
http://blog.csdn.net/tommy_wxie/article/details/92415733. 多点触摸3.1overview 多点触摸没啥好特别的,就是把多个单点捆绑起来,组合成一组坐标值。然后上层应用对其手势进行解析,就有了我们平常看到的两个手指对图片进行缩放等功能。从Linux-2.6.30才对多点触摸支持。转载 2014-03-04 10:12:00 · 1767 阅读 · 0 评论 -
NAND Flash的坏块管理设计
http://gugongshuai.blog.163.com/blog/static/169967462201151454038762/摘要:主要介绍了基于嵌入式Linux的NAND Flash坏块管理设计和实现方案,详细阐述了坏块映射表的建立、维护及其相关算法,同时分析了此坏块算法在Linux内核及Bootloader中的具体应用。测试结果表明该算法能够处理NANDFlash的相关坏块问题转载 2015-07-17 11:52:00 · 925 阅读 · 0 评论 -
S5pv210 HDMI 接口在 Linux 3.0.8 驱动框架解析
本文主要简述S5pv210处理器的 HDMI 接口在 Linux 3.0.8 内核下的驱动框架。 现在三星的主流处理器基本都支持HDMI,使用HDMI也有段时间了,却一直不知道它是怎么工作的,只知道linux和android下都会有一个HDMI-service的用户服务程序。然后底层会有HDMI驱动。知道HDMI 和framebuffer有点关系,却不知道两者是如何联系在一起转载 2015-04-30 18:33:36 · 1422 阅读 · 0 评论 -
基于V4L2的视频驱动开发
Tags:V4L2驱动框架、API、操作流程……原文地址:http://www.eefocus.com/ayayayaya/blog/10-09/196261_9360a.html作者:刘洪涛,华清远见嵌入式学院讲师。编写基于V4L2视频驱动主要涉及到以下几个知识点:● 摄像头方面的知识 要了解选用的摄像头的特性,包括访问控制转载 2015-03-31 17:31:27 · 643 阅读 · 0 评论 -
CMOS Sensor的调试经验分享
CMOS Sensor的调试经验分享 我这里要介绍的就是CMOS摄像头的一些调试经验。 首先,要认识CMOS摄像头的结构。我们通常拿到的是集成封装好的模组,一般由三个部分组成:镜头、感应器和图像信号处理器构成。一般情况下,集成好的模组我们只看到外面的镜头、接口和封装壳,这种一般是固定焦距的。有些厂商只提供芯片,需要自己安装镜头,镜头要选择合适大小的镜头,如果没有夜视要求的话,最好转载 2015-03-11 13:50:06 · 981 阅读 · 0 评论 -
linux usb 驱动详解
内核使用2.6.29.4 拓扑结构上, 一个 USB 子系统并不是以总线的方式来分布; 它是一棵由几个点对点连接构成的树。这些连接是连接设备和集线器的4线电缆(地, 电源, 和 2 个差分信号线), 如同以太网的双绞线。USB主控制器负责询问每个USB设备是否有数据需要发送。由于这个拓扑结构,一个 USB 设备在没有主控制器要求的情况下不能发送数据. 也就是说:USB转载 2015-03-10 11:35:13 · 2728 阅读 · 0 评论 -
UBI文件系统 nand驱动子页支持问题
我在用TI的dm368开发板,kernel是2.6.32.17,默认的flash文件系统是jffs2,但是jffs2在大分区下,mount速度很慢,而且占用ram较多,因此,我想使用ubifs看看性能是否会更好些。ubifs的原理和配置过程,很多网页都有介绍的,我给一个链接,大家可以看看,我就不转载了,我重点说我移植过程中遇到并解决的问题。http://bbs.chinaunix.原创 2013-09-17 14:18:31 · 4101 阅读 · 0 评论 -
SDIO WiFi Card Driver
http://blog.csdn.net/ylyuanlu/article/details/7629846(1) Wifi卡的常用接口有:–CF 接口–USB接口–SDIO接口–SPI接口–PCMCIA接口很多时候,同一个wifi卡同时支持多种接口,譬如marvell的8686的wifi卡,既支持spi接口,也支持sdio接口.转载 2014-03-06 08:40:51 · 1095 阅读 · 0 评论 -
电阻式触摸屏的基本结构和驱动原理
http://blog.csdn.net/thewayma/article/details/4443023四线电阻式触摸屏 四线电阻式触摸屏的结构如图1,在玻璃或丙烯酸基板上覆盖有两层透平,均匀导电的ITO层,分别做为X电极和Y电极,它们之间由均匀排列的透明格 点分开绝缘。其中下层的ITO与玻璃基板附着,上层的ITO附着在PET薄膜上。X电极和Y电极的正负端由“导电条”(图中黑转载 2014-03-04 10:22:02 · 4415 阅读 · 0 评论 -
linux 触摸屏驱动分析
http://blog.csdn.net/funy_liu/article/details/5345589mini2440驱动分析系列之---------------------------------------Mini2440触摸屏程序分析By JeefJiang July,8th,2009这是mini2440驱动分析系列的第三篇文章,本文分为三个部分,第一部分讲叙硬件知识转载 2014-03-04 10:21:17 · 568 阅读 · 0 评论 -
mini2440驱动分析之TouchScreen
http://blog.csdn.net/yaozhenguo2006/article/details/6761183mini2440驱动分析之触摸屏 mini2440触摸屏驱动对应的文件为mini2440_ts.c,他是作为输入设备注册到内核的,功能实现是通过输入子系统来完成的,现在分析触摸屏的实现。以后再分析输入子系统。一. 分析一个驱动首先看它的模转载 2014-03-04 10:18:50 · 722 阅读 · 0 评论 -
unrecognised EXT_CSD revision 6解决办法
http://blog.csdn.net/remme123/article/details/14521103我是在编译了3.0内核后发现eMMC卡怎么也初始化不了,老提示这个错误。但正常的SD卡确可以使用,经过一番研究,在结合网上查找的资料,终于将问题解决了。在网上搜到的资料,说明了内核对eMMC4.5的支持方法:[html] view转载 2013-12-10 14:20:29 · 1915 阅读 · 0 评论 -
mmc0: Too large timeout requested for CMD25
http://blog.csdn.net/remme123/article/details/14646675说明首先,如果你出现以上错误,绝大部分原因是内核的问题,我测试过出现此种问题的内核版本为3.4.68,可以对一下是不是一样的内核版本。可以跟换其他版本内核测试,我测试过3.0.8、3.6.7均未出现错误。因此,可能是3.4这版内核新添加的特性。运行截图转载 2013-12-10 14:22:45 · 1136 阅读 · 0 评论 -
linux 嵌入式启动优化
以前写了一篇Linux PC启动过程的日记,最近项目中,想优化一下启动过程,减少启动时间.因此研究了我们项目的启动全过程.第一步: BootLoader -- U boot 1 在cpu/arm926ejs/start.s中 a) b reset ; //jump to reset b) set cpsr ;svc mode ,disable I,F in转载 2013-10-24 17:20:20 · 705 阅读 · 0 评论 -
输入子系统分析
http://blog.csdn.net/colorant/article/details/15618371 输入子系统架构Overview 输入子系统(Input Subsystem)的架构如下图所示 输入子系统由 输入子系统核心层( Input Core ),驱动层和事件处理层(Event Handler)三部份组成转载 2013-10-24 13:57:26 · 576 阅读 · 0 评论 -
嵌入式系统的动态电源管理技术
嵌入式系统的动态电源管理技术作者:刘旭晖 Raymond转载请注明出处Email:colorant@163.comBLOG:http://blog.csdn.net/colorant/主页:http://sites.google.com/site/rgbbones/ http://blog.csdn.net/colorant/article/det转载 2013-10-24 14:00:56 · 963 阅读 · 0 评论 -
SD卡相关
http://li53262182.blog.163.com/blog/static/128393387201041055449658/ //android源码开发http://blog.csdn.net/jiajie961/archive/2010/11/10/5999519.aspx //android系统移植http://blog.chinaunix.net/space.php?u转载 2013-09-29 11:36:51 · 1975 阅读 · 1 评论 -
mips64高精度时钟引起ktime_get时间不准,导致饿狗故障原因分析
重点关注关中断的情况。临时做了一个版本,在CPU 0上监控所有非0 CPU的时钟中断计数,检查他们在100ms内是否增加。如果否,则认为此CPU关中断。另外,在高精度时钟中断处理函数hrtimer_interrupt以及时钟中断总入口打点,记录最长耗时。关中断检测代码如下:void check_timer_start(void){int i = 1;for(;icpu_转载 2013-09-17 20:08:32 · 2068 阅读 · 0 评论 -
MTD(1)---nand flash的基本知识
这是我准备的一个讲解MTD子系统的一个文档,我是以DM368 EVM板子的kernel 2.6.32.17为样本代码来讲述的,各位最好准备3样东西再开始阅读我的文档。1、DM368的芯片手册 sprufg5_TMS320DM36xDMSoC ARM Subsystem Reference Guide.pdf2、kernel 2.6.32.17的源码3、一份nand flas转载 2013-09-17 14:25:02 · 1136 阅读 · 0 评论 -
MTD(2)---nand flash的底层驱动代码分析
介绍完了nand flash的基本知识,我们现在可以看kernel的代码了。 首先看下Board-dm365-evm.c(arch\arm\mach-davinci),这个文件定义了板子的一些外设信息,其中跟nand flash相关的摘录部分如下;static struct davinci_nand_pdatadavinci_nand_data = {转载 2013-09-17 14:21:49 · 1083 阅读 · 0 评论 -
MTD(4)---nand flash的bbt坏块表的建立函数代码分析
其实现在Linux kernel的bbt做的也比较简单,就是把整个flash的block在内存里面用2bit位图来标识good/bad,这样,在上层判断一个block是否good时就不需要再去读取flash的oob里面的坏块标记了,只需要读取内存里面的bbt就可以了,这是一个比较重要的优化。但,我想这只是一个开始,希望将来能够把BBM加入到kernel里面来,让上层不再操心nand flash转载 2013-09-17 14:20:09 · 2695 阅读 · 0 评论 -
Linux内核中NAND Flash坏块管理
由于NAND Flash的现有工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠,因此在NAND芯片出厂的时候,厂家只能保证block 0不是坏块,对于其它block,则均有可能存在坏块,而且NAND芯片在使用的过程中也很容易产生坏块。因此,我们在读写NAND FLASH 的时候,需要检测坏块,同时还需在NAND驱动中加入坏块管理的功能。 NAND驱动在转载 2013-09-17 14:35:28 · 929 阅读 · 0 评论 -
MTD(3)---nand flash的erase,read,write接口函数代码分析
本来是想按照代码流程往下讲bbt的,但是写着写着,还是要先介绍下mtd的几个基本flash读写擦函数接口。那就调整下,先讲基本接口函数,再讲到bbt的时候,就不用回头来讲基本读写函数了,这样主线清楚些。忽然觉得我讲的流程有些乱:)还没有讲flash的具体操作命令,要是穿插在下来的章节里面讲,会更乱,那就在这里补充下吧:) 前面这章已经提到了一些东西,但我光顾着分解代转载 2013-09-17 14:21:48 · 5346 阅读 · 0 评论 -
Linux 驱动开发人员所需要做的工作
Boot Loader 当CPU一上电,此时CPU必须从NOR Flash或者NAND Flash中取指令 , 直接从 NAND Flash取指令的AP为支持Nand 启动 。Nand boot ,其实原理就是AP 内部的ROM里有一小段代码,包括NAND Flash驱动,它启动从Nand Flash中读取一段(比如4KB)到内部的SRAM中, 然后跳转到SRA转载 2013-10-24 17:28:18 · 654 阅读 · 0 评论 -
修改linux/Android启动logo/开机画面
转载请注明出处:http://blog.csdn.net/drivelinux/article/details/8593788一、修改uboot显示开机logo此处有两种情况,一种情况是通过uboot提供的logo显示功能显示开机logo,另一种情况是通过定制显示函数来进行logo的显示。对于第一种情况,只需要在tools/logos目录下添加自己的logo图片转载 2013-11-01 00:03:23 · 856 阅读 · 0 评论 -
自旋锁
http://www.cnblogs.com/jesse123/archive/2011/07/01/2095388.html瞎旋个啥,咋不去休眠、挂起呢?因为一些代码是大忙人,闲不得,更是停不得,就在门口自己玩死循环,急切的等待屋子里的人出来把锁给自己。关于锁,最常使用的便是:自旋锁与信号量。先贴些实例,来点感性的认识。--转载 2013-11-04 17:34:39 · 618 阅读 · 0 评论 -
[Linux笔记]gpiolib的调用过程分析
http://weimenlove.blog.163.com/blog/static/1777547320139251031924/1、通用头文件如何与具体的平台联系 不管是什么体系或平台,比如atmel、TI等,使用gpiolib只需要包含头文件include/linux/gpio.h即可,以使用TI的DM8148为例。1.1 include/linux/转载 2013-12-02 17:55:37 · 941 阅读 · 0 评论