linux_api
linxi_hnh
这个作者很懒,什么都没留下…
展开
-
linux 等待队列
Linux内核的等待队列是以双循环链表为基础数据结构,与进程调度机制紧密结合,能够用于实现核心的异步事件通知机制。 在这个链表中,有两种数据结构:等待队列头(wait_queue_head_t)和等待队列项(wait_queue_t)。等待队列头和等待队列项中都包含一个list_head类型的域作为"连接件"。它通过一个双链表和把等待tast的头,和等待的进程列表链接起来。从上图可以清晰看到转载 2012-10-01 17:16:08 · 305 阅读 · 0 评论 -
sscanf函数
sscanf 目录 名称: 头文件: 返回值: 说明: 支持集合操作: 例子: 编辑本段名称: sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: int sscanf( const char *, const char *, ...); int ssca转载 2012-11-01 10:43:07 · 461 阅读 · 0 评论 -
request_mem_region,ioremap 和phys_to_virt()
Linux在头文件include/linux/ioport.h中定义了三个对I/O内存资源进行操作的宏: (1)request_mem_region()宏,请求分配指定的I/O内存资源。 (2)check_mem_region()宏,检查指定的I/O内存资源是否已被占用。 (3)release_mem_region()宏,释放指定的I/O内存资源。 这三个宏的定义如下:转载 2012-10-31 17:44:57 · 327 阅读 · 0 评论 -
Request_irq和setup_irq的区别
Linux 内核提供了两个注册中断处理函数的接口:setup_irq和request_irq。这两个函数都定义在kernel/irq/manage.c里。这两个函数有什么样的区别呢? (1)Setup_irq,Setup_irq通常用在系统时钟(GP Timer)驱动里,注册系统时钟驱动的中断处理函数。下面举个列子,如s3c2410 timer驱动结构体定义在Time.c (arch/arm/p转载 2012-10-31 17:45:26 · 343 阅读 · 0 评论 -
set_bit(unsigned int bit,volatile unsigned long *p)研究
#include void set_bit(unsigned int bit,volatile unsigned int *p) { unsigned int mask = 1 printf(" mask = 0x%x\n",mask); printf(" p = %p\n",p); p += bit原创 2012-10-31 15:55:55 · 612 阅读 · 0 评论 -
内核异常分析(访问了空指针)
/* *调试内核驱动的过程中虽然编译成功了 但是 加载时难免有时会遇到内核异常的情况 *其中访问了空指针的情况 又是常见的异常原因 以下只是一个简单的例子 在实际的工程 *中 参数传递的方式更复杂 这时就 更要细心查找最终的根源 才能 排除异常 ... */ #include #include #include /* #incl转载 2012-10-07 17:37:00 · 1248 阅读 · 0 评论 -
request_mem_region,ioremap 和phys_to_virt()
request_mem_region,ioremap 和phys_to_virt() 分类: Linux内核 2010-03-08 17:19 1193人阅读 评论(0) 收藏 举报 Linux在头文件include/linux/ioport.h中定义了三个对I/O内存资源进行操作的宏: (1)request_mem_region()宏,请求分配指定的I转载 2012-10-01 17:12:26 · 480 阅读 · 0 评论 -
Driver Attributes/Device Attributes 及作为linux的一种读写接口的用法(timed_output实例)
(1)Driver Attributes struct driver_attribute { struct attribute attr; ssize_t (*show)(struct device_driver *driver, char *buf); ssize_t (*store)(struct device_driver *,转载 2012-10-01 17:24:55 · 695 阅读 · 0 评论 -
Request_irq和setup_irq的区别
Linux 内核提供了两个注册中断处理函数的接口:setup_irq和request_irq。这两个函数都定义在kernel/irq/manage.c里。这两个函数有什么样的区别呢? (1)Setup_irq,Setup_irq通常用在系统时钟(GP Timer)驱动里,注册系统时钟驱动的中断处理函数。下面举个列子,如s3c2410 timer驱动结构体定义在Time.c (arch/arm/p转载 2012-10-01 17:13:18 · 346 阅读 · 0 评论 -
PROC文件系统介绍 &&以PROC在线调试LCM && EXPORT_SYMBOL的用法
proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。它的目录结构包括普通常用目录和数字命名目录: (1) 用户如果要查看系统信转载 2012-10-01 17:34:55 · 544 阅读 · 0 评论 -
Linux和android下测试键盘和触摸屏
在Linux或者Android-x86系统下,会用到测试键盘、鼠标、触摸屏等各种输入设备的功能,那么下面的这段代码是个好的选择。首先编写了个Linux输入设备的测试小程序来检测问题所在,总算也小有成就。具体输入设备的路径,大家可以用cat /proc/bus/input/devices查看自己机器的设备文件。 检测按键的程序如下: [cpp] view plainco转载 2012-10-01 17:33:13 · 806 阅读 · 0 评论 -
6410平台LCD Panel会闪动
用6410驱动TD043的Panel,按规格书写入屏参数。画面始终会有从上至下的闪动,触摸屏触摸拉动屏幕时还会有类似网络电影卡死的蹦蹦画面,分析是丢了很多帧数据。用示波器测试,果然是场频极低,DCLK也极低,造成的刷新率不够。从写入CLOCK的芯片寄存器开始找原因,因为这是控制Panel的最后一步: 1,配屏:按照PANEL的规格书将行场参数写入调用的屏参文件中。着重的有行场分转载 2012-10-01 17:19:46 · 1649 阅读 · 0 评论 -
wicd
目录 What is WICD? Installing WICD For Gnome / Unity For KDE (Kubuntu) Configuring WICD Reverting to NetworkManager For Gnome / Unity For KDE (Kubuntu) See also External li转载 2013-01-14 22:43:52 · 1027 阅读 · 0 评论