linux驱动
文章平均质量分 88
yuanlulu
做过嵌入式Linux开发、深度学习平台开发。擅长c++和python。
展开
-
linux自旋锁的理解
自己看了半天LDD3关于自旋锁的部分,开始很是迷惑,慢慢想明白了,分享一下自己的理解.1.自旋锁为什么要禁止抢占?加入进程A拥有自旋锁的过程中被B抢占,而B企图获取同一个自旋锁,理想情况下B也要白白耗尽自己的时间片,等待A释放自旋锁。糟糕的情况是系统死锁或者崩溃。2.使用自旋锁前为什么要禁止中断?首先,并不是所有情况下需要这么做。只有当进程上下文和中断上下文中都会使用同一个自旋锁时才要在进程上下文中禁止中断。假如进程A获取自旋锁之后,中断B发生,如果B企图获取A拥有的自旋锁,B就会一直自旋下去,非中断代码没原创 2010-12-01 15:34:00 · 1390 阅读 · 0 评论 -
linux内核gpiolib文档
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================自己翻译的内核gpiolib文档,是2.6.38版本的。原文在:http:/翻译 2011-05-16 18:01:00 · 9790 阅读 · 3 评论 -
用户空间的spi驱动
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================1.1 重要的数据结构1. spi_device虽然用户空原创 2011-04-13 15:26:00 · 23599 阅读 · 13 评论 -
linux spi子系统
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================spi_master/spi_device和spi_driver的关系。原创 2011-04-12 15:34:00 · 13184 阅读 · 11 评论 -
linux输入子系统(6)--- evdev_handler的实现
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================2.3 evdev_handler的实现Linux输入子系统已经建立好了原创 2011-01-12 17:23:00 · 1792 阅读 · 0 评论 -
linux输入子系统(5)
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================第2章 输入子系统的事件驱动上一章已经说过输入子系统分为三层,最上面的一原创 2011-01-12 17:19:00 · 1635 阅读 · 0 评论 -
RTC子系统内核文档
============================================译者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================RTC内核文档 英文原文地址:http://lxr.linux.no/linux翻译 2011-05-18 16:50:00 · 3546 阅读 · 1 评论 -
platform驱动管理机制
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================第1章platform驱动管理机制Linux2.6内核引入了一套新的驱动原创 2011-02-14 15:58:00 · 2846 阅读 · 0 评论 -
用户空间使用i2c_dev
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================第1章 用户空间使用i2c_dev对于注册的i2c适配器,用户空间也可以原创 2011-01-24 17:42:00 · 13794 阅读 · 4 评论 -
I2C的Standard driver model驱动
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================第1章 I2C的Standard driver model驱动第一章开头原创 2011-01-24 17:39:00 · 4887 阅读 · 2 评论 -
linux驱动中使用其它模块导出的符号
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================我写了一个驱动,由于要依赖另一个模块导出的符号,搞了很久才弄好。现在总结一下我的做法原创 2010-11-10 18:56:00 · 4678 阅读 · 6 评论 -
增加u-boot对ubi的支持
最近需要让u-boot支持ubi,方便下载ubi根文件系统。由于参照网上的文章http://blog.chinaunix.net/u3/96428/showart_2275685.html做还是有一些错误,所以总结一下自己的移植。 软件版本:Linux内核:2.6.27.8u-boot:201006LZO:LZO-2.03zlib:zlib-1.2.5mtd-u原创 2010-08-31 17:00:00 · 3779 阅读 · 0 评论 -
linux背光子系统(backlight)
(基于linux2.6.34) 概述=====linux的背光(backlight)子系统用于在/sys目录下提供用户空间控制LCD或者其他显示设备的背光亮度的接口。这里的亮度并不是亮和灭两个状态,可有很多个等级的亮度,便于用户空间根据节能、可视范围等需求调节背光的亮度。相关代码======背光子系统的代码在/driver/video/backlight目录中原创 2011-12-27 18:45:13 · 12934 阅读 · 1 评论 -
【已解决】external abort on non-linefet
自己在驱动中将定时器timer2的物理地址转化为虚拟地址之后访问会出现以下错误: [root@lpc3250 tmp]# insmod timer2.kotimer_test init...Unhandled fault: external abort on non-linefetch (0x808) at 0xf4058004Internal error: : 808 [原创 2010-10-27 19:36:00 · 12708 阅读 · 4 评论 -
amba_device使用分析
什么是AMBA? ---AMBA是一个片内总线规范。ARM官网的介绍:http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0224b/index.htmlAMBA 协议是用于连接和管理片上系统 (SoC) 中功能块的开放标准和芯片上互连规范。使用它,可以帮助开发带有大量控制器和外设的多处理器设计。AMBA 通原创 2012-03-10 14:59:01 · 6804 阅读 · 2 评论 -
用户空间访问RTC
第1章用户空间访问RTC1.1概述RTC是“RealTimeClock”的简称。RTC时钟一般由板载电池供电,系统掉电后仍可以照常运行,系统启动的时候从RTC读取时间作为系统时间的初始值,系统启动以后内核会根据系统中断不停的更新系统时间,并每过11分钟将内核维护的系统时间写入RTC一次。系统掉电之后,RTC的时间不会丢失,而且会根据输入的震荡时钟信号不停的更新自己的时间。除原创 2011-09-24 11:43:43 · 2978 阅读 · 0 评论 -
lcd fb参数如何计算
本文参考了:http://www.linuxidc.com/Linux/2011-01/31800.htm感谢该文的作者。Linux内核的amba lcd控制器使用clcd_panel结构体表示一个LCD屏的硬件参数:/* include/linux/fb.h */struct fb_videomode { const char *name; /* optiona原创 2012-03-21 13:57:33 · 16725 阅读 · 4 评论 -
内核中led触发器实例
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================ gpio-led框架/driver/leds/leds-gpio.c下原创 2011-05-23 09:03:00 · 12630 阅读 · 0 评论 -
移植u-boot支持ubi遇到的问题总结
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================自己最近在移植u-boot.201006到smartarm3250,后来又增加了ub原创 2010-08-31 17:37:00 · 18882 阅读 · 4 评论 -
events/0--工作者线程
<br />今天在“top”时无意中发现每次都会出现一个events/0进程。<br />网上貌似很少对它的描述,总结一下《Linux内核设计与实现》中的内容(page87)。<br /> <br />我们都知道中断的底半部机制有三种:软中断、tasklet和工作队列。其中软中断很少使用,内核中只有网络在使用,它的延时是最小的。<br />tasklet是软中断的一个应用,所有线程注册的tasklet都会顺序被执行。因此tasklet的执行环境是软中断上下文,所以不能阻塞或者睡眠。一般情况下,tasklet原创 2011-02-21 19:16:00 · 7010 阅读 · 3 评论 -
『已解决』插入模块时sys_init_module报错
插入模块时出现以下错误信息:[root@zlg tmp]# insmod usbpll.ko yll:usb initsys_init_module: usbpll->init suspiciously returned 17, it should follow 0/-E conventionsys_init_module: loading module anyway...[] (dump原创 2011-06-13 14:39:00 · 5776 阅读 · 0 评论 -
uda1380驱动的静音问题
使用2.6.34内核,系统起来之后没有声音。在内核的sound/soc/codecs/uda1380.c的uda1380_pcm_prepare函数最后添加两行:u16 mute_reg = uda1380_read_reg_cache(codec, UDA1380_DEEMP) & ~R13_MTM ;//去除静音屏蔽位uda1380_write(codec, UDA1380_DEE原创 2011-10-25 16:16:27 · 2131 阅读 · 0 评论 -
Linux CF卡驱动经验小结
(2.6.34内核, 使用cf卡的IDE模式,PIO传输方式)设备选择协议============设备选择协议请参考: http://wenku.baidu.com/view/40f58020aaea998fcc220e2e.html在写设备寄存器之前需要确定BSY和DRQ这两位为0: /* yll * 根据设备选择协议,在往device寄存器中写入以前原创 2011-12-21 09:40:54 · 6078 阅读 · 0 评论 -
Linux内核Socket CAN中文文档
自己在年假中空闲之余翻译的内核中Socket CAN的文档,原文地址在:http://lxr.linux.no/linux+v2.6.34/Documentation/networking/can.txt但是这篇文档没有涉及广播管理协议套接字 (SOCK_DGRAM) 的内容。另外一篇比较好的Socket CAN的英文文档是(详细介绍了广播管理协议套接字):Low翻译 2012-01-30 16:26:12 · 29064 阅读 · 3 评论 -
linux输入子系统(8)--input core
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================第3章 输入子系统核心层上面两章分别讲了Linux输入子系统的设备驱动层和事件处理层原创 2011-01-13 17:34:00 · 2133 阅读 · 0 评论 -
linux输入子系统(7)--mouse_handler的实现
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================2.4 mouse_handler的实现在内核的driver/input/m原创 2011-01-12 17:48:00 · 4414 阅读 · 0 评论 -
linux输入子系统(4)
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================1.5 事件报告的传递输入子系统设备报告各种事件通过input_原创 2011-01-12 17:16:00 · 1636 阅读 · 0 评论 -
linux输入子系统(3)
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================1.4 input_dev的注册在输入设备驱动的初始化函数的最原创 2011-01-12 17:13:00 · 1585 阅读 · 2 评论 -
linux输入子系统(1)
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================第1章 Linux输入子系统设备驱动Linux输入子系统将输入驱动抽象为原创 2011-01-12 17:02:00 · 3982 阅读 · 5 评论 -
kernel2.6.34:i2c驱动如何编写
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================关于如何建立i2c_client的方法参考上一篇博文http://blog.cs原创 2011-06-21 17:24:00 · 3041 阅读 · 4 评论 -
i2c--2.6.34文档:如何枚举产生i2c_client
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================根据自己的理解翻译了http://lxr.linux.no/linux+原创 2011-06-21 10:26:00 · 7191 阅读 · 3 评论 -
led子系统
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================ 数据结构/include/linux/leds.henum led_bri原创 2011-05-23 08:59:00 · 8421 阅读 · 1 评论 -
linux下如何写RTC驱动
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================/drivers/rtc/rtc-test.c下有一个rtc驱动的框架例程。原创 2011-05-19 17:22:00 · 3854 阅读 · 3 评论 -
内核产生信号
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================之前只知道内核往用户空间发送信号可以用“异步通知”。昨天接触到一个新的函数,查了原创 2011-02-23 09:21:00 · 2234 阅读 · 5 评论 -
I2C的Legacy model驱动
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================第1章 I2C的Legacy model驱动Linux下的i2c驱动的编写有原创 2011-01-24 17:28:00 · 4087 阅读 · 0 评论 -
gettimeofday和xtime的定时精度
============================================作者:yuanluluhttp://blog.csdn.net/yuanlulu版权没有,但是转载请保留此段声明============================================客户反映,gettimeofday获取的时间us部分总是零。自己修改测试代码有如原创 2010-11-20 13:05:00 · 6451 阅读 · 6 评论