驱动程序
文章平均质量分 79
Flyhigh
海阔凭鱼跃,天高任鸟飞
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
调整内核printk的打印级别
有时调试内核模块,打印信息太多了,可以通过修改/proc/sys/kernel/printk文件内容来控制。默认设置是6 4 1 7 # cat /proc/sys/kernel/printk 7 4 1 7 该文件有四个数字值,它们根据日志记录消息的重要性,定义将其发送到何处。关于不同日志级别的更多信息,请查阅syslog(2)联机帮助。上原创 2013-04-24 16:23:44 · 11136 阅读 · 0 评论 -
linux驱动程序--led(tiny6410)
Tiny6410的linux驱动程序: #include #include #include #include #include #include #include #include #define DEVICE_NAME "tiny6410-led" #define LED_IOC_MAGIC 'l' #define LED_IOCGETDAT _IOR(LED原创 2013-04-17 10:06:14 · 921 阅读 · 0 评论 -
mini2440 基于中断的按键驱动
Mini2440 具有6 个用户测试按键,它们都是连接到CPU 的中断引脚。在/linux-2.6.32.2/drivers/char/目录下创建一个新的驱动程序文件mini2440_buttons.c #include #include #include #include #include #include #include #include #includ原创 2013-04-26 21:52:29 · 739 阅读 · 0 评论 -
Linux内核定时器函数mktime
Linux源码中的mktime算法解析 我们知道,从CMOS中读出来的系统时间并不是time_t类型,而是类似于struct tm那样,年月日时分秒是分开存储的。 那么,要把它转化为系统便于处理的time_t类型,就需要算法进行转换。 我们都知道我们的公历还是比较复杂的,有大月小月,有闰年非闰年,处理起来会很麻烦。 但是Linux的源代码仅仅用了短短的几行就原创 2013-05-15 10:31:35 · 841 阅读 · 0 评论 -
等待队列(一)
在Linux内核中等待队列有很多用途,可用于中断处理、进程同步及定时。我们在这里只说,进程经常必须等待某些事件的发生。等待队列实现了在事件上的条件等待: 希望等待特定事件的进程把自己放进合适的等待队列,并放弃控制全。因此,等待队列表示一组睡眠的进程,当某一条件为真时,由内核唤醒它们。 等待队列由循环链表实现,其元素包括指向进程描述符的指针。每个等待队列都有一个等待队列头(wait queue h原创 2013-07-31 14:33:38 · 767 阅读 · 0 评论 -
等待队列(二)
通过 前一篇文章 的介绍我们队等待队列有了一个比较具体的认识,本文将来分析一下等待队列是如何睡眠一个进程和如何唤醒一个进程的。 使用等待队列前通常先定义一个等待队列头:static wait_queue_head_t wq ,然后调用wait_event_*函数将等待某条件condition的当前进程插入到等待队列wq中并睡眠,一直等到condition条件满足后,内核再将睡眠在等待队列wq上的原创 2013-07-31 14:35:18 · 757 阅读 · 0 评论 -
编译Linux内核
内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新。新的内核修订了旧内核的bug,并增加了许多新的特性。如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要重新编译内核。本文将以RedHat Linux 6.0(kernel 2.2.原创 2013-07-31 10:57:13 · 993 阅读 · 0 评论 -
Linux中的工作队列
工作队列(work queue)是Linux kernel中将工作推后执行的一种机制。这种机制和BH或Tasklets不同之处在于工作队列是把推后的工作交由一个内核线程去执行,因此工作队列的优势就在于它允许重新调度甚至睡眠。 工作队列是2.6内核开始引入的机制,在2.6.20之后,工作队列的数据结构发生了一些变化,因此本文分成两个部分对2.6.20之前和之后的版本分别做介绍。 I、原创 2013-08-27 18:29:29 · 682 阅读 · 0 评论
分享