Linux
boboo
这个作者很懒,什么都没留下…
展开
-
Linux Platform Device and Driver
从Linux 2.6起引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver。Linux中大部分的设备驱动,都可以使用这套机制, 设备用Platform_device表示,驱动用Platform_driver进行注册。 Linux platform driver机制和传统的device driver 机制(通过driver_register函数转载 2010-04-20 08:47:00 · 212 阅读 · 0 评论 -
设备文件系统剖析与使用
一、什么是Linux设备文件系统 首先我们不看定义,定义总是太抽象很难理解,我们先看现象。当我们往开发板上移植了一个新的文件系统之后(假如各种设备驱动也移植好了),启动开发板,我们用串口工具进入开发板,查看系统/dev目录,往往里面没有或者就只有nu转载 2011-07-05 11:11:21 · 200 阅读 · 0 评论 -
Linux内核通知链机制的原理及实现
一、概念: 大多数内核子系统都是相互独立的,因此某个子系统可能对其它子系统产生的事件感兴趣。为了满足这个需求,也即是让某个子系统在发生某个事件时通知其它的子系统,Linux内核提供了通知链的机制。通知链表只能够在内核的子系统之间使用,而不能够在内核与用户转载 2011-07-05 11:09:47 · 617 阅读 · 0 评论 -
嵌入式Linux之我行——S3C2440上LCD驱动(FrameBuffer)实例开发讲解(一)
要使一块LCD正常的显示文字或图像,不仅需要LCD驱动器,而且还需要相应的LCD控制器。在通常情况下,生产厂商把LCD驱动器会以COF/COG的形式与LCD玻璃基板制作在一起,而LCD控制器则是由外部的电路来实现,现在很多的MCU内部都集成了LCD控制器.转载 2011-07-05 10:58:27 · 385 阅读 · 1 评论 -
嵌入式Linux之我行——S3C2440上LCD驱动(FrameBuffer)实例开发讲解(二)
上接:S3C2440上LCD驱动(FrameBuffer)实例开发详解(一)四、帧缓冲(FrameBuffer)设备驱动实例代码:①、建立驱动文件:my2440_lcd.c,依就是驱动程序的最基本结构:FrameBuffer驱动的初始化和卸载部分及其他,如下:转载 2011-07-05 11:00:29 · 430 阅读 · 0 评论 -
Linux内核的cpufreq(变频)机制
linux低功耗研究也有一段时间了,基本把低功耗的实现方式想清楚了(主要分成机制和策略),这段时间的工作主要在机制上。暂时想实现的主要的机制有:cpu级,设备驱动级,系统平台级。管理颗粒度不断递增,形成三驾马车齐驱的形势。cpu级:主要实现比较容易的在系统处于转载 2011-07-05 11:16:08 · 835 阅读 · 0 评论 -
嵌入式Linux之我行——S3C2440上MMC/SD卡驱动实例开发讲解(二)
嵌入式Linux之我行——S3C2440上MMC/SD卡驱动实例开发讲解(二) 嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。共享资源,欢转载 2011-07-04 10:05:39 · 383 阅读 · 0 评论 -
嵌入式Linux之我行——S3C2440上MMC/SD卡驱动实例开发讲解(一)
嵌入式Linux之我行——S3C2440上MMC/SD卡驱动实例开发讲解(一) 嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。共享资源,欢转载 2011-07-04 10:03:06 · 456 阅读 · 0 评论 -
Linux MMC/SD/SDIO体系结构
Linux MMC/SD/SDIO体系结构 有关MMC/SD/SDIO相关的知识这里就不多讲了,请参考相关资料。这里主要涉及Linux下MMC相关内容。内核版本(2.6.36)首先说一下Linux相关MMC的代码分布,主要有两个目录,一个头文件目录和一个源代码目录。分别位置如下:include/linux/mmcdrivers/mmc转载 2011-07-01 09:43:00 · 415 阅读 · 0 评论 -
Linux 工作队列
工作队列(work queue)是另外一种将工作推后执行的形式,它和tasklet有所不同。工作队列可以把工作推后,交由一个内核线程去执行,也就是说,这个下半部分可以在进程上下文中执行。这样,通过工作队列执行的代码能占尽进程上下文的所有优势。最重要的就是工作队列允许被重新调度甚至是睡眠。那么,什么情况下使用工作队列,什么情况下使用tasklet。如果推后执行的任务需要睡眠,那么就选择工作队列。如果推后执行的任务不需要睡眠,那么就选择tasklet。另外,如果需要用一个可以重新调度的实体来执行你的下半原创 2011-04-29 11:25:00 · 567 阅读 · 0 评论 -
中断、软中断及其它
<br />在分析linux内核的中断,软中断时,先应该明确这样一个派生关系:<br />irq ==> softirq ==> tasklet ==> bottom half ==> task queue<br />----------------------------------------------|==> timer<br />中断是最初的原动力。分时系统依赖于时钟中断来定时重新调度可以运行的程序。外设通过中断来通知cpu处理相关的任务。中断处理程序是内核中一段特殊的,独立的,可运行实体。这转载 2011-04-27 14:30:00 · 215 阅读 · 0 评论 -
linux kernel 2.4 和 2.6 的区别
<br />作者:晏渭川<br />随着Linux2.6的发布,由于2.6内核做了较大的改动,各个设备的驱动程序在不同程度上要进行改写。为了方便各位Linux爱好者我把自己整理的这分文档share出来。该文当列举了2.6内核同以前版本的绝大多数变化,可惜的是由于时间和精力有限没有详细列出各个函数的用法。<br />特别声明:该文档中的内容来自http://lwn.net,该网上也有各个函数的较为详细的说明可供各位参考。如果需要该文档的word版的朋友,请mail到weiriver@sohu.co转载 2011-04-27 09:41:00 · 474 阅读 · 1 评论 -
Linux自动生成设备名的方法
<br />从linux内核2.6的某个版本之后,devfs不复存在,udev成为devfs的替代。相比devfs,udev有很多优势,在此就不罗嗦了,提醒一点,udev是应用层的东东,不要试图在内核的配置选项里找到它,而在android系统中没有udev,但是udev的功能在androidsrc/system/core/init的代码中实现的;加入对udev的支持很简单,以作者所写的一个字符设备驱动为例,在驱动初始化的代码里调用class_create为该设备创建一个class,再为每个设备调用原创 2011-04-27 09:51:00 · 265 阅读 · 0 评论 -
Linux Kernel Procfs Guide
Linux Kernel Procfs GuideErik(J.A.K.)MouwDelft University of Technology<br />Faculty of Information Technology and Systems<br /><br /><br /> <J.A.K.Mouw@its.tudelft.nl><br /> PO BOX 5031<br /> 2600 GA<br />转载 2011-02-12 15:50:00 · 339 阅读 · 0 评论 -
Linux 解压命令大全
Linux下解压命令大全 Linux下解压命令大全 .tar解压:tar xvf filename.tar打包:tar cvf filename.tar dirname.gz解压:gzip -d filename.gz / gunzip filename.gz压缩:gzip filen原创 2010-04-27 12:36:00 · 161 阅读 · 0 评论 -
内核访问外设I/O资源的方式
我们知道默认外设I/O资源是不在Linux内核空间中的(如sram或硬件接口寄存器等),若需要访问该外设I/O资源,必须先将其地址映射到内核空间中来,然后才能在内核空间中访问它。Linux内核访问外设I/O内存资源的方式有两种:动态映射(ioremap)和静态转载 2011-07-05 11:12:47 · 192 阅读 · 0 评论