kernel space
文章平均质量分 61
hongjiujing
这个作者很懒,什么都没留下…
展开
-
linux logo显示LCD屏幕中央的解决方案。
改写fb_do_show_logo函数。呵呵。static void fb_do_show_logo(struct fb_info *info,struct fb_image *image,int rotate){u32 *palette = NULL, *saved_pseudo_palette = NULL;int x,xoffset;int y,yoffset;/**原创 2008-07-29 11:01:00 · 1186 阅读 · 0 评论 -
Linux-USB Gadget : Part 4: 最简单的 gadget驱动:g_zero
document.body.oncopy = function() { if (window.clipboardData) { setTimeout(function() { var text = clipboardData.getData("text");转载 2009-09-01 16:44:00 · 3707 阅读 · 2 评论 -
Linux framebuffer ---double buffer
【什么是FrameBuffer】FrameBuffer直译就是,帧缓冲。Frame帧:你所看到的屏幕的图像,或者在一个窗口中的图像,就叫一帧。Buffer缓冲:一段RAM,用来暂存图像数据,这些数据会被直接写入到显示设备。 帧缓冲就相当于介于 图形操作 和 图像输出中间的一个中间人。将程序对图形数据的处理操作,反馈到显示输出上。显卡(显存中的数据) 帧缓冲(程序对其中的数转载 2009-09-02 09:59:00 · 3138 阅读 · 0 评论 -
udev实现原理
udev实现原理 转载时请注明出处和作者联系方式:http://blog.csdn.net/absurd作者联系方式:李先静更新时间:2007-4-29 相对于linux来说,udev还是一个新事物。然而,尽管它03年才出现,尽管转载 2009-09-07 09:12:00 · 1668 阅读 · 0 评论 -
usb鼠标驱动注解及测试
参考2.6.14版本中的driver/usb/input/usbmouse.c。鼠标驱动可分为几个部分:驱动加载部分、probe部分、open部分、urb回调函数处理部分。 下文阴影部分为注解。 一、驱动加载部分 static int __init usb_mouse_init(void) { int retval = usb转载 2009-09-07 09:50:00 · 534 阅读 · 0 评论 -
LInux sysfs
"sysfs is a ram-based filesystem initially based on ramfs. It provides a meansto export kernel data structures, their attributes, and the linkages between them touserspace.” --- documentation/file转载 2009-09-07 16:16:00 · 7401 阅读 · 0 评论 -
libertas wifi 分析
整体流程: 1.lbs_add_card的时候指定并打开线程priv->main_thread = kthread_run(lbs_thread, dev, "lbs_main"); 2.在线程lbs_thread中处理cmd/packet/event。其中cmd/packet通过调用priv->hw_host_to_card = if_sdio_host_to_card;发原创 2009-11-05 11:41:00 · 1885 阅读 · 0 评论 -
浅析user用户态程序如何访问kernel空间的物理内存DDR和物理寄存器
浅析user用户态程序如何访问kernel空间的物理内存DDR和物理寄存器fs_initcall(chr_dev_init);创建如下的char设备在/dev/下:/dev/mem/dev/kmen/dev/null/dev/port/dev/zero/dev/full转载 2009-11-06 12:10:00 · 2018 阅读 · 1 评论 -
about s3c64xx-ac97 irq and mmc interrupt trigger
hi,all!Several days ago ,i have a post ,as following!"HI,all!I have met a big error in s3c6410 linux2.6.24.2 BSP ,the same as thefollowing"Kernel MMC/SD developers,Ive been原创 2009-10-30 18:25:00 · 482 阅读 · 0 评论 -
amixer alsa
上层使用amixer命令设置声卡,首先可以使用amixer contents 命令查看可供设置的选项,包括当前设置的值,通过amixercset 命令修改设置。使用amixer命令设置声卡,用户可以直观的看到当前设置的功能,而不需要了解底层修改了哪些寄存器。 一、上层使用的amixer命令。amixer命令示例如下:amixer cset iface=MIXE转载 2009-12-07 13:30:00 · 3737 阅读 · 0 评论 -
Realtek ALC5625 Driver
/* * * rt5625.c -- ALSA Soc ALC5625 codec Kernel 2.6.27+ support * * Original code is based on Realtek * * Copyright Androidin.org * Author:tommy.hong * * This program is free soft原创 2009-12-21 20:52:00 · 4104 阅读 · 3 评论 -
RT2070 ARM-linux
http://ubuntuforums.org/showthread.php?t=1285828Tenda W541U V2.0 Wireless USB Adapter / Ralink RT2070 How ToHi,After some time of searching, switching between sadness and happiness and pulling my hair out I finally got my Tenda W541U V2.0 a.k.a. Tenda转载 2010-07-15 14:22:00 · 3218 阅读 · 2 评论 -
Performance Measurement on ARM
<br /> After working mostly with different ARM processors in the 200...400MHz range in lots of Embedded Linux projects over the last years, wehave seen an interesting development in the market recently: ARM cpus, having been known for their low power转载 2010-07-30 13:34:00 · 567 阅读 · 0 评论 -
Linux-USB Gadget : Part 3: PXA U2D controller 简介
特性:ü 物理接口使用 12pin ULPI, 支持 15 个端点,16KB 内存, 4*4 DMA 通道,支持 OTGü 遵循 usb 2.0 规范ü 支持 High Speed 以及 full-speed 模式ü转载 2009-09-01 16:43:00 · 1120 阅读 · 0 评论 -
使用 gpio 模拟 ps/2 接口对 Linux 实时性的要求
公司需要支持 ps/2 键盘, 但是 PXA310 上没有 ps/2 控制器。 硬件让研究一下 gpio 模拟的可能性。 仔细看了一下 ps/2 协议, 它主要是两根线, 一根 CLK, 一根 DATA. CLK 的频率大概是10k – 30k . 对应一个 CLK 周期为 30us转载 2009-09-01 16:39:00 · 676 阅读 · 0 评论 -
一个 SPI 转串口驱动的优化
一个 SPI 转串口驱动的优化作者: zjujoe 转载请注明出处Email:zjujoe@yahoo.comBLOG:http://blog.csdn.net/zjujoe 由于串口不够用,我们选用了 Exar公司的 xr20m1172 SPI/I2C 转串口芯片。考虑到速率问题(I2c转载 2009-09-01 16:38:00 · 2158 阅读 · 1 评论 -
S3C6400 简介
芯片服务领域:消费电子,通信领域(2.5G,3G)。芯片主要功能接口:1:集成了多媒体处理(音视频)单元,支持mpeg4/h.264的编解码。硬解码支持实时会议和TV-OUT等模式。2:集成了DRAM和Flash Rom/DRAM接口,硬件优化单元,包括camera、TFT 24位真彩色LCD控制器、系统管理(电源管理等),4路UART、32路DMA、4通道定时器,GPIO口,以及I2S/I2C/原创 2008-08-06 19:07:00 · 1317 阅读 · 0 评论 -
关于DM9000网卡工作模式的驱动修改。
以下代码修改是针对开发环境所在网络不是很好的情况下,将DM9000从100M工作模式改为10M工作模式。//dm9000_init_dm9000函数最后添加两行语句:+ dm9000_phy_write(dev,0,MII_ADVERTISE,0x41);+ dm9000_phy_write(dev,0,MII_BMCR,0x1100);原创 2008-11-26 09:39:00 · 963 阅读 · 0 评论 -
关于S3C6400 DM9000a 驱动
平台:S3C6400Ethernet :DM9000a由于是A公司的BSP,改了网卡的片选,发现可以找到ID,但是就是ping失败。厂家的帮忙 ,加上了一些debug信息,最后发现应该是SROM的设置不对,发的数据高位都没有了。A公司开发板用的是片选1,在u-boot初始化的时候,调用了一个CS8900的初始化文件,里面设置了SROM的相关设置,由于只是改了DM9000_BASE为片选4,可以发现原创 2008-11-28 12:23:00 · 2321 阅读 · 0 评论 -
关于nand flash yaffs2 的问题总结。
如果kernel在启动过程中:yaffs: dev is 32505858 name is "mtdblock2" yaffs: passed flags "" yaffs: Attempting MTD mount on 31.2, "mtdblock2" yaffs: auto selecting yaffs2 mount: mounting /dev/mtdblock2 on /mnt fa原创 2008-12-11 16:42:00 · 2585 阅读 · 2 评论 -
关于linux kernel fastboot /suspend 资料整理。
最近在做linux kernel 快速启动以及休眠等功能。资料整理如下:http://kerneltrap.org/mailarchive/linux-kernel/2008/7/18/2571144http://people.debian.org.tw/~chihchun/tag/moblin/http://lwn.net/Articles/299591/moblin 的 fast原创 2008-12-13 16:26:00 · 1558 阅读 · 0 评论 -
Linux内核wait_queue深入分析
前几天在看驱动的时候碰到了等待队列,上网去搜了一下,再结合代码看了一下,深有体会.在 kernel 里,wait_queue 的应用很广,举凡 device driver,semaphore 等方面都会使用到 wait_queue 来 implement。所以,它算是 kernel 里蛮 基本的一个数据结构。首先,我们得明白,linux中的所有的进程都由task_struct这个结构管理。在生原创 2009-04-23 19:59:00 · 474 阅读 · 0 评论 -
Linux设备驱动之I2C架构分析
一:前言I2c是philips提出的外设总线.I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL.正因为这样,它方便了工程人员的布线.另外,I2C是一种多主机控制总线.它和USB总线不同,USB是基于master-slave机制,任何设备的通信必须由主机发起才可以.而I2C 是基于multi master机制.一同总线上可允许多个master.关于I2C协议的知识,这里不再赘述.转载 2009-04-21 19:40:00 · 19736 阅读 · 8 评论 -
Linux热插拔
将可移动设备连入系统时,系统的后台中会依次发生如下事件: 内核检测到新硬件插入,然后分别通知hotplug和udev。前者用来装入相应的内核模块(如usbstorage),而后者用来在/dev中创建相应的设备节点(如/dev/sda1)。 udev创建了相应的设备节点之后,会将这一消息通知hal的守护程序(hald)。当然udev还得保证新创建的设备节点可以被普通用户访问。l转载 2009-05-05 17:31:00 · 993 阅读 · 0 评论 -
驱动中如何访问CPU中的寄存器?
如果都是在memory空间的话,CPU内部的寄存器(非CPU核的寄存器)和外设上的寄存器地位是同等的,因此映射方法也是2种:1是静态映射(S3C2410的基本上是这种),2是ioremap,注意映射的单位都至少是page。当然CPU核的寄存器(如X86的CS、DS,ARM的R0,R1等)只能用汇编来访问了。在将Linux移植到目标电路板的过程中,通常会建立外设I/O内存物理地址到转载 2009-05-11 09:39:00 · 1130 阅读 · 0 评论 -
Linux I/O资源 (ZZ)
Linux I/O资源 (ZZ) 3.1 Linux对I/O资源的描述3.2 Linux对I/O资源的管理 3.2.1 I/O资源的申请 3.2.2 资源的释放 3.2.3 检查资源是否已被占用 3.2.4 寻找可用资源 3.2.5 分配接口allocate_resource() 3.2.6 获取资源的名称列表3.转载 2009-05-25 18:48:00 · 1493 阅读 · 0 评论 -
双buffer与单buffer
嵌入式平台Linux,主要通过framebuffer来显示UI。FrameBuffer实际上就是嵌入式系统中专门为GPU所保留的一块连续的物理内存,LED通过专门的总线从framebuffer读取数据,显示到屏幕上。根据系统中framebuffer的数量,可以分成单buffer和双buffer两种。 先来说说单buffer: CPU往framebuf转载 2009-08-31 17:19:00 · 974 阅读 · 0 评论 -
hrtimer + clockevent + Timekeeping
kernel-2.6.22中的arm arch加入了对dynticks, clocksource/event支持. imx31的BSP在clock这里有一些改动. 找了些kernel clock及timer子系统近来的变化, 总结一下. 一般来说Soft-Timer (timer wheel / hrtimer)都是由Hardware-Timer(时钟中断之类)以及相关的clo转载 2009-09-01 15:57:00 · 683 阅读 · 0 评论 -
Re: [PATCH RFC] maxSize option for usb-serial to increase max endpoint buffer size
<br /><br />I've been working with Ken on getting this driver to work better<br />(meaning faster). Here's the latest version (without your new device id<br />added). Care to test it out and let me know if it works or not?<br /><br />thanks,<br /转载 2010-08-16 15:03:00 · 715 阅读 · 0 评论