随笔分类 -  linux驱动及内核开发

摘要:http://www.cnblogs.com/biyeymyhjob/archive/2012/07/21/2602015.html一、信号量 信号量又称为信号灯,它是用来协调不同进程间的数据对象的,而最主要的应用是共享内存方式的进程间通信。本质上,信号量是一个计数器,它用来记录对某个资源(如共享内... 阅读全文
posted @ 2014-10-08 19:52 静之深 阅读(343) 评论(0) 推荐(0)
摘要:request_mem_region仅仅是linux对IO内存的管理,意思指这块内存我已经占用了,别人就不要动了,也不能被swap出去。使用这些寄存器时,可以不调用request_mem_region,但这样的话就不能阻止别人对他的访问了。http://blog.csdn.net/skyflying... 阅读全文
posted @ 2014-10-01 09:16 静之深 阅读(2872) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/angle_birds/article/details/16802099本文介绍linux中class_create和class_register的相关使用方法 1 class结构体介绍 内核中定义了struct class结构体,顾名思义,一个struc... 阅读全文
posted @ 2014-09-28 14:47 静之深 阅读(973) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/hzhzh007/article/details/6532988“ 信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在sem_wait的时候,就阻塞在 那里)。而互斥锁是用在多线程多任务互斥的,一... 阅读全文
posted @ 2014-06-25 10:00 静之深 阅读(3073) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/FrankTan/archive/2010/12/11/1903377.htmlgcc从4.1.2提供了__sync_*系列的built-in函数,用于提供加减和逻辑运算的原子操作。其声明如下:type__sync_fetch_and_add(type*... 阅读全文
posted @ 2014-04-28 10:15 静之深 阅读(398) 评论(0) 推荐(0)
摘要:http://blog.sina.com.cn/s/blog_53e81e2a0100zkxi.html1,/sbin/update-modules文件,他是一个linux通用的模块管理脚本程序.2,modprobe 和 insmod 的区别: 前者功能比较强大,既可以插入和取出模块,也可以解决依赖... 阅读全文
posted @ 2014-04-18 15:21 静之深 阅读(1349) 评论(0) 推荐(0)
摘要:Linux下使用clock_gettime给程序计时 PS:年份是从1900年起至今多少年,而不是直接存储如2013年,月份从0开始的,0表示一月,星期也是从0开始的, 0表示星期日,1表示星期一。 二、linux下时间类型的相互转换 由上述可知,linux下常用的两种类型就是time_t和tm。下 阅读全文
posted @ 2014-03-05 19:17 静之深 阅读(12836) 评论(0) 推荐(0)
摘要:http://blog.sina.com.cn/s/blog_6795385f01011ifg.html作一个嵌入式Linuxrootfs,并且实现web服务1.文件系统简介 •理论上说一个嵌入式设备如果内核能够运行起来,且不需要运行用户进程的话,是不需要文件系统的,文件系统简单的说就是一种目录结构... 阅读全文
posted @ 2014-02-19 14:15 静之深 阅读(11011) 评论(0) 推荐(0)
摘要:chapt1:链接和加载链接与加载链接器和加载器完成几个相关但概念上不同的动作。 程序加载:在某些情况下,加载仅仅是将数据从磁盘拷入内存;在其他情况下,还包括分配存储空间,设置保护位或通过虚拟内存将虚拟地址映射到磁盘内存页上。 重定位:编译器和汇编器通常为每个文件创建程序地址从 0 开始的目标代码,但是几乎没有计算机会允许从地址 0 加载你的程序。如果一个程序是由多个子程序组成的,那么所有的子程序必须被加载到互不重叠的地址上。重定位就是为程序不同部分分配加载地址,调整程序中的数据和代码以反映所分配地址的过程。在很多系统中,重定位不止进行一次。对于链接器的一种普遍情景是由多个子程序来构建一个 阅读全文
posted @ 2014-01-20 19:21 静之深 阅读(2007) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/wangkangluo1/archive/2012/07/02/2572438.html用途显示关于对象文件、可执行文件以及对象文件库里的符号信息。语法nm[-A] [-C] [-X{32|64|32_64}][-f] [-h] [-l] [-p] [-... 阅读全文
posted @ 2014-01-04 16:16 静之深 阅读(829) 评论(0) 推荐(0)
摘要:linux驱动 结构体中的逗号http://zhouyang340.blog.163.com/blog/static/3024095920123495051607/下面我们看一个例子,Linux-2.6.x/drivers/usb/storage/usb.c中有这样一个结构体初始化项目: static struct usb_driver usb_storage_driver = { .owner = THIS_MODULE, .name = "usb-storage", .probe = storage_probe, .disconnect = storage_discon 阅读全文
posted @ 2013-09-29 19:44 静之深 阅读(212) 评论(0) 推荐(0)