Shimejing

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 5 6 7 8 9 10 11 12 下一页

2014年1月1日

摘要: devs.c:static struct resource s3cfb_resource[] = {[0] = {.start= S5P_PA_LCD,.end= S5P_PA_LCD + S5P_SZ_LCD - 1,.flags= IORESOURCE_MEM,},[1] = {.start= IRQ_LCD1,.end= IRQ_LCD1,.flags= IORESOURCE_IRQ,},[2] = {.start= IRQ_LCD0,.end= IRQ_LCD0,.flags= IORESOURCE_IRQ,},};static u64 fb_dma_mask = 0xffffffff 阅读全文
posted @ 2014-01-01 15:38 Shimejing 阅读(360) 评论(0) 推荐(0) 编辑

摘要: http://blog.csdn.net/adcxf/archive/2009/03/14/3989725.aspx共 享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空 间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。采用共享内存通信的一个显而易 见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而 共享内存则只拷贝两次 阅读全文
posted @ 2014-01-01 00:58 Shimejing 阅读(302) 评论(0) 推荐(0) 编辑

摘要: poll 和 select 使用非阻塞 I/O 的应用程序常常使用 poll, select, 和 epoll 系统调用. poll, select 和 epoll 本质上有相同的功能: 每个允许一个进程来决定它是否可读或者写一个或多个文件而不阻塞. 这些调用也可阻塞进程直到任何一个给定集合的文件描述符可用来读或写. 因此, 它们常常用在必须使用多输入输出流的应用程序, 而不必粘连在它们任何一个上. 相同的功能常常由多个函数提供, 因为 2 个是由不同的团队在几乎相同时间完成的: select 在 BSD Unix 中引入, 而 poll 是 System V 的解决方案. epoll 调用[ 阅读全文
posted @ 2014-01-01 00:55 Shimejing 阅读(349) 评论(0) 推荐(0) 编辑

摘要: Linux 设备模型浅析之 uevent 篇本文属本人原创,欢迎转载,转载请注明出处。由于个人的见识和能力有限,不可能面面俱到,也可能存在谬误,敬请网友指出,本人的邮箱是 yzq.seen@gmail.com,博客是http://zhiqiang0071.cublog.cn。Linux 设备模型,仅仅看理论介绍,比如 LDD3 的第十四章,会感觉太抽象不易理解,而通过阅读内核代码就更具体更易理解,所以结合理论介绍和内核代码阅读能够更快速的理解掌握 linux 设备模型。这一序列的文章的目的就是在于此,看这些文章之前最好能够仔细阅读LDD3 的第十四章。uevent,即 user space e 阅读全文
posted @ 2014-01-01 00:51 Shimejing 阅读(749) 评论(0) 推荐(0) 编辑

摘要: hotplug就是热拔插,在linux里面,这个功能是通过class_device_create这个函数来实现的,那么我们来分析下这个函数:class_device_create(cls, NULL, MKDEV(major, 0), NULL, "dma"); /* /dev/dma */ class_device_register(class_dev); class_device_add(class_dev); kobject_uevent(&class_dev->kobj, KOBJ_ADD); kob... 阅读全文
posted @ 2014-01-01 00:47 Shimejing 阅读(460) 评论(0) 推荐(0) 编辑

2013年12月30日

摘要: 这几天在观察apache使用内存情况,所以特意了解了下linux的内存机制,发现一篇写得还不错。转来看看。一般来说在ps aux中看到的rss就是进程所占用的物理内存。但是如果将所有程序的rss加起来的话。会发现比实际的内存还要大很多,这个是由于rss还包括了共享的部分。这个可以通过pmap -d PID来看到具体情况。一. 内存使用说明Free 命令相对于top 提供了更简洁的查看系统内存使用情况:1[root@rac1 ~]# free2total used free shared buffers cached3Mem: 1035108 1008984 26124 0 124212 413 阅读全文
posted @ 2013-12-30 00:12 Shimejing 阅读(457) 评论(0) 推荐(0) 编辑

2013年12月29日

摘要: 最近在看SPI、I2C这样简单点的总线驱动程 序,从Linux2.6起,内核引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver。现在Linux中 大部分的设备驱动都可以使用这套机制,总线为platform_bus,设备用platform_device表示,驱动用 platform_driver进行注册。 Linux的这种platform driver机制和传统的device_driver机制相比,一个十分明显的优势在于platform机制将本身的资源注册进内核,由内核统一管理,在 驱动程序中使用这些资源时通过platform_device提供的标准 阅读全文
posted @ 2013-12-29 21:23 Shimejing 阅读(311) 评论(0) 推荐(0) 编辑

2013年12月27日

摘要: http://www.kernel.org HTTPhttps://www.kernel.org/pub/FTPftp://ftp.kernel.org/pub/http://www.oldlinux.org 阅读全文
posted @ 2013-12-27 01:42 Shimejing 阅读(162) 评论(0) 推荐(0) 编辑

2013年12月19日

摘要: 多线程通信的方法主要有以下三种:1.全局变量进程中的线程间内存共享,这是比较常用的通信方式和交互方式。注:定义全局变量时最好使用volatile来定义,以防编译器对此变量进行优化。2.Message消息机制常用的Message通信的接口主要有两个:PostMessage和PostThreadMessage,PostMessage为线程向主窗口发送消息。而PostThreadMessage是任意两个线程之间的通信接口。2.1.PostMessage()函数原型: B00L PostMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);参数 阅读全文
posted @ 2013-12-19 22:00 Shimejing 阅读(289) 评论(0) 推荐(0) 编辑

2013年12月9日

摘要: 1.蜂鸣器http://baike.baidu.com/link?url=lLLI5khUqmRQqoBlBNy2XJfW6t45eKNjCXJuCLa_aspl71cJnILqSgvUSI9Jd4nz2.继电器http://zh.wikipedia.org/wiki/%E7%BB%A7%E7%94%B5%E5%99%A83.锁存器http://zh.wikipedia.org/wiki/%E9%94%81%E5%AD%98%E5%99%A84.寄存器http://zh.wikipedia.org/wiki/%E5%AF%84%E5%AD%98%E5%99%A8 阅读全文
posted @ 2013-12-09 02:35 Shimejing 阅读(157) 评论(0) 推荐(0) 编辑

上一页 1 ··· 5 6 7 8 9 10 11 12 下一页