嵌入式Linux设备驱动
文章平均质量分 77
janlin1213
这个作者很懒,什么都没留下…
展开
-
arm平台udev的移植
<br />第一、什么是udev? 这篇文章UDEV Primer给我们娓娓道来,花点时间预习一下是值得的。当然,不知道udev是什么也没关系, 把它当个助记符好了,有了下面的上路指南,可以节省很多时间。我们只需要树立一个信念:udev很简单! 嵌入式的udev应用尤其简单。 第二、为什么udev要取代devfs? 这是生产关系适应生产力的需要,udev好,devfs坏,用好的不用坏的。 udev是硬件平台无关的,属于user space的进程,它脱离驱动层的关联而建立在操作系统之上,基于这种设原创 2011-02-27 17:04:00 · 2609 阅读 · 0 评论 -
使用linux2.6 udev自动生成设备文件
使用linux2.6 udev自动生成设备文件<br /> 内核函数<br /> class_create(),class_destroy()<br /> device_create(),device_destroy()<br /> 定义在<linux/device.h>头文件中<br /> 示例如下:<br /> #include <linux/init.h><br /> #include <linux/module.h><br /> #include <linux/device.h><b转载 2011-02-27 17:03:00 · 995 阅读 · 0 评论 -
软中断上下文能够睡眠吗?
<br /> 这个问题实际上是一个老生常谈的问题,答案也很简单,Linux在软中断上下文中是不能睡眠的,原因在于Linux的软中断实现上下文有可能是中断上下文,如果在中断上下文中睡眠,那么会导致Linux无法调度,直接的反应是系统Kernel Panic,并且提示dequeue_task出错。所以,在软中断上下文中,我们不能使用信号量等可能导致睡眠的函数,这一点在编写IO回调函数时需要特别注意。在最近的一个项目中,我们在dm-io的callback函数中去持有semaphore访问竞争资源,导致了系统的ke转载 2011-03-03 14:03:00 · 985 阅读 · 0 评论