<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>dzassn的专栏 - Linux内核驱动</title><link>http://blog.csdn.net/dzassn/category/335411.aspx</link><description>研究Linux内核和驱动的相关资料</description><dc:language>zh-CN</dc:language><lastUpdateTime>Wed, 30 Jan 2008 19:12:00 GMT</lastUpdateTime><ttl>60</ttl><item><dc:creator>Benson</dc:creator><title>Linux操作系统内核启动参数详细解析</title><link>http://blog.csdn.net/dzassn/archive/2007/10/30/1856510.aspx</link><pubDate>Tue, 30 Oct 2007 13:09:00 GMT</pubDate><guid>http://blog.csdn.net/dzassn/archive/2007/10/30/1856510.aspx</guid><wfw:comment>http://blog.csdn.net/dzassn/comments/1856510.aspx</wfw:comment><comments>http://blog.csdn.net/dzassn/archive/2007/10/30/1856510.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/dzassn/comments/commentRss/1856510.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1856510</trackback:ping><description>非常好的讲linux内核启动参数的文章。文章讲解了内核启动时可以接收的一些参数以及这些参数的作用。阅读本文对理解uboot里bootargs环境变量的设置有一定的帮助。&lt;img src ="http://blog.csdn.net/dzassn/aggbug/1856510.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Benson</dc:creator><title>一个最简单的Linux 2.6内核驱动模块</title><link>http://blog.csdn.net/dzassn/archive/2007/09/27/1803576.aspx</link><pubDate>Thu, 27 Sep 2007 17:08:00 GMT</pubDate><guid>http://blog.csdn.net/dzassn/archive/2007/09/27/1803576.aspx</guid><wfw:comment>http://blog.csdn.net/dzassn/comments/1803576.aspx</wfw:comment><comments>http://blog.csdn.net/dzassn/archive/2007/09/27/1803576.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/dzassn/comments/commentRss/1803576.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1803576</trackback:ping><description>一个最简单的2.6内核驱动模块及Makefile，初学者可以看看&lt;img src ="http://blog.csdn.net/dzassn/aggbug/1803576.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Benson</dc:creator><title>Linux 2.6 下内核模块的Makefile  </title><link>http://blog.csdn.net/dzassn/archive/2007/09/27/1803380.aspx</link><pubDate>Thu, 27 Sep 2007 16:03:00 GMT</pubDate><guid>http://blog.csdn.net/dzassn/archive/2007/09/27/1803380.aspx</guid><wfw:comment>http://blog.csdn.net/dzassn/comments/1803380.aspx</wfw:comment><comments>http://blog.csdn.net/dzassn/archive/2007/09/27/1803380.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/dzassn/comments/commentRss/1803380.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1803380</trackback:ping><description>Linux 2.6 下内核模块的Makefile模板&lt;img src ="http://blog.csdn.net/dzassn/aggbug/1803380.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Benson</dc:creator><title> Linux 内核使用的 GNU C 扩展</title><link>http://blog.csdn.net/dzassn/archive/2007/09/27/1802450.aspx</link><pubDate>Thu, 27 Sep 2007 09:05:00 GMT</pubDate><guid>http://blog.csdn.net/dzassn/archive/2007/09/27/1802450.aspx</guid><wfw:comment>http://blog.csdn.net/dzassn/comments/1802450.aspx</wfw:comment><comments>http://blog.csdn.net/dzassn/archive/2007/09/27/1802450.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/dzassn/comments/commentRss/1802450.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1802450</trackback:ping><description>Linux 内核代码使用了大量的 GNU C 扩展，以至于能够编译 Linux 内核的唯一编
译器是 GNU CC，以前甚至出现过编译 Linux 内核要使用特殊的 GNU CC 版本的情
况。本文是对 Linux 内核使用的 GNU C 扩展的一个汇总，希望当你读内核源码遇
到不理解的语法和语义时，能从本文找到一个初步的解答&lt;img src ="http://blog.csdn.net/dzassn/aggbug/1802450.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Benson</dc:creator><title>Porting device drivers to the 2.6 kernel</title><link>http://blog.csdn.net/dzassn/archive/2007/09/24/1798975.aspx</link><pubDate>Mon, 24 Sep 2007 19:38:00 GMT</pubDate><guid>http://blog.csdn.net/dzassn/archive/2007/09/24/1798975.aspx</guid><wfw:comment>http://blog.csdn.net/dzassn/comments/1798975.aspx</wfw:comment><comments>http://blog.csdn.net/dzassn/archive/2007/09/24/1798975.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/dzassn/comments/commentRss/1798975.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1798975</trackback:ping><description>找到一份非常好的driver移植参考文档,内容来源于lwn.net上的Linux2.6驱动移植系列文章，由晏渭川整理成了PDF供大家参考使用，在这里感谢晏渭川兄的无私奉献! &lt;img src ="http://blog.csdn.net/dzassn/aggbug/1798975.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Benson</dc:creator><title>The Linux Kernel Module Programming Guide—2.6英文word版</title><link>http://blog.csdn.net/dzassn/archive/2007/09/21/1795079.aspx</link><pubDate>Fri, 21 Sep 2007 17:42:00 GMT</pubDate><guid>http://blog.csdn.net/dzassn/archive/2007/09/21/1795079.aspx</guid><wfw:comment>http://blog.csdn.net/dzassn/comments/1795079.aspx</wfw:comment><comments>http://blog.csdn.net/dzassn/archive/2007/09/21/1795079.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/dzassn/comments/commentRss/1795079.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1795079</trackback:ping><description>自己做的word版,方便阅读和笔记,供大家下载!&lt;img src ="http://blog.csdn.net/dzassn/aggbug/1795079.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Benson</dc:creator><title>使用 /proc 文件系统来访问 Linux 内核的内容</title><link>http://blog.csdn.net/dzassn/archive/2007/09/17/1788136.aspx</link><pubDate>Mon, 17 Sep 2007 14:08:00 GMT</pubDate><guid>http://blog.csdn.net/dzassn/archive/2007/09/17/1788136.aspx</guid><wfw:comment>http://blog.csdn.net/dzassn/comments/1788136.aspx</wfw:comment><comments>http://blog.csdn.net/dzassn/archive/2007/09/17/1788136.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/dzassn/comments/commentRss/1788136.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1788136</trackback:ping><description> /proc 文件系统是一个虚拟文件系统，通过它可以使用一种新的方法在 Linux 内核空间和用户空间之间进行通信。在 /proc 文件系统中，我们可以将对虚拟文件的读写作为与内核中实体进行通信的一种手段，但是与普通文件不同的是，这些虚拟文件的内容都是动态创建的。本文对 /proc 虚拟文件系统进行了介绍，并展示了它的用法&lt;img src ="http://blog.csdn.net/dzassn/aggbug/1788136.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Benson</dc:creator><title>The Linux Kernel Module Programming Guide 2.4 中文版</title><link>http://blog.csdn.net/dzassn/archive/2007/09/15/1786116.aspx</link><pubDate>Sat, 15 Sep 2007 11:22:00 GMT</pubDate><guid>http://blog.csdn.net/dzassn/archive/2007/09/15/1786116.aspx</guid><wfw:comment>http://blog.csdn.net/dzassn/comments/1786116.aspx</wfw:comment><comments>http://blog.csdn.net/dzassn/archive/2007/09/15/1786116.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/dzassn/comments/commentRss/1786116.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1786116</trackback:ping><description>The Linux Kernel Module Programming Guide is a free book; you may reproduce and/or modify it under the terms of the Open Software License, version 1.1. You can obtain a copy of this license at http://opensource.org/licenses/osl.php.This book is distributed in the hope it will be useful, but without any warranty, without even the implied warranty of merchantability or fitness for a particular purpose.&lt;img src ="http://blog.csdn.net/dzassn/aggbug/1786116.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Benson</dc:creator><title>Linux 系统内核的调试 </title><link>http://blog.csdn.net/dzassn/archive/2007/09/15/1786099.aspx</link><pubDate>Sat, 15 Sep 2007 11:15:00 GMT</pubDate><guid>http://blog.csdn.net/dzassn/archive/2007/09/15/1786099.aspx</guid><wfw:comment>http://blog.csdn.net/dzassn/comments/1786099.aspx</wfw:comment><comments>http://blog.csdn.net/dzassn/archive/2007/09/15/1786099.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/dzassn/comments/commentRss/1786099.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1786099</trackback:ping><description>调试是软件开发过程中一个必不可少的环节，在 Linux 内核开发的过程中也不可避免地会面对如何调试内核的问题。但是，Linux 系统的开发者出于保证内核代码正确性的考虑，不愿意在 Linux 内核源代码树中加入一个调试器。他们认为内核中的调试器会误导开发者，从而引入不良的修正[1].所以对 Linux 内核进行调试一直是个令内核程序员感到棘手的问题，调试工作的艰苦性是内核级的开发区别于用户级开发的一个显著特点。 &lt;img src ="http://blog.csdn.net/dzassn/aggbug/1786099.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Benson</dc:creator><title>使用kgdb调试linux内核及内核模块 </title><link>http://blog.csdn.net/dzassn/archive/2007/09/15/1786095.aspx</link><pubDate>Sat, 15 Sep 2007 11:13:00 GMT</pubDate><guid>http://blog.csdn.net/dzassn/archive/2007/09/15/1786095.aspx</guid><wfw:comment>http://blog.csdn.net/dzassn/comments/1786095.aspx</wfw:comment><comments>http://blog.csdn.net/dzassn/archive/2007/09/15/1786095.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/dzassn/comments/commentRss/1786095.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1786095</trackback:ping><description>使用kgdb调试linux内核及内核模块&lt;img src ="http://blog.csdn.net/dzassn/aggbug/1786095.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Benson</dc:creator><title>Linux 内核调试器内幕 </title><link>http://blog.csdn.net/dzassn/archive/2007/09/15/1786091.aspx</link><pubDate>Sat, 15 Sep 2007 11:12:00 GMT</pubDate><guid>http://blog.csdn.net/dzassn/archive/2007/09/15/1786091.aspx</guid><wfw:comment>http://blog.csdn.net/dzassn/comments/1786091.aspx</wfw:comment><comments>http://blog.csdn.net/dzassn/archive/2007/09/15/1786091.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/dzassn/comments/commentRss/1786091.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1786091</trackback:ping><description>调试内核问题时，能够跟踪内核执行情况并查看其内存和数据结构是非常有用的。Linux 中的内置内核调试器 KDB 提供了这种功能。在本文中您将了解如何使用 KDB 所提供的功能，以及如何在 Linux 机器上安装和设置 KDB。您还将熟悉 KDB 中可以使用的命令以及设置和显示选项&lt;img src ="http://blog.csdn.net/dzassn/aggbug/1786091.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Benson</dc:creator><title>掌握 Linux 调试技术 </title><link>http://blog.csdn.net/dzassn/archive/2007/09/15/1786083.aspx</link><pubDate>Sat, 15 Sep 2007 11:06:00 GMT</pubDate><guid>http://blog.csdn.net/dzassn/archive/2007/09/15/1786083.aspx</guid><wfw:comment>http://blog.csdn.net/dzassn/comments/1786083.aspx</wfw:comment><comments>http://blog.csdn.net/dzassn/archive/2007/09/15/1786083.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/dzassn/comments/commentRss/1786083.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1786083</trackback:ping><description>本文讨论了四种调试 Linux 程序的情况。在第 1 种情况中，我们使用了两个有内存分配问题的样本程序，使用 MEMWATCH 和 Yet Another Malloc Debugger（YAMD）工具来调试它们。在第 2 种情况中，我们使用了 Linux 中的 strace 实用程序，它能够跟踪系统调用和信号，从而找出程序发生错误的地方。在第 3 种情况中，我们使用 Linux 内核的 Oops 功能来解决程序的段错误，并向您展示如何设置内核源代码级调试器（kernel source level debugger，kgdb），以使用 GNU 调试器（GNU debugger，gdb）来解决相同的问题；kgdb 程序是使用串行连接的 Linux 内核远程 gdb。在第 4 种情况中，我们使用 Linux 上提供的魔术键控顺序（magic key sequence）来显示引发挂起问题的组件的信息。&lt;img src ="http://blog.csdn.net/dzassn/aggbug/1786083.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Benson</dc:creator><title>Linux2.6内核驱动移植参考 </title><link>http://blog.csdn.net/dzassn/archive/2007/09/15/1786024.aspx</link><pubDate>Sat, 15 Sep 2007 10:42:00 GMT</pubDate><guid>http://blog.csdn.net/dzassn/archive/2007/09/15/1786024.aspx</guid><wfw:comment>http://blog.csdn.net/dzassn/comments/1786024.aspx</wfw:comment><comments>http://blog.csdn.net/dzassn/archive/2007/09/15/1786024.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/dzassn/comments/commentRss/1786024.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1786024</trackback:ping><description>随着Linux2.6的发布，由于2.6内核做了教的改动，各个设备的驱动程序在不同程度上要 进行改写。为了方便各位Linux爱好者我把自己整理的这分文档share出来。该文当列举 了2.6内核同以前版本的绝大多数变化，可惜的是由于时间和精力有限没有详细列出各个 函数的用法。 &lt;img src ="http://blog.csdn.net/dzassn/aggbug/1786024.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Benson</dc:creator><title>Linux2.6 驱动设计――从 2.4 到 2.6 </title><link>http://blog.csdn.net/dzassn/archive/2007/09/15/1786022.aspx</link><pubDate>Sat, 15 Sep 2007 10:41:00 GMT</pubDate><guid>http://blog.csdn.net/dzassn/archive/2007/09/15/1786022.aspx</guid><wfw:comment>http://blog.csdn.net/dzassn/comments/1786022.aspx</wfw:comment><comments>http://blog.csdn.net/dzassn/archive/2007/09/15/1786022.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/dzassn/comments/commentRss/1786022.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1786022</trackback:ping><description>由于 2.6 内核在驱动框架，底层调用上和 2.4 内核有很多差别，所以本文主要是为程序员提供 2.4 到 2.6 迁移的指导。 2.6 和 2.4 主要的不同在于 内核的 API 变化，增加了不少新功能（例如 mem pool ） 提供 sysfs 用于描述设备树 驱动模块从 .o 变为 .ko &lt;img src ="http://blog.csdn.net/dzassn/aggbug/1786022.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Benson</dc:creator><title>Writing a Linux device driver </title><link>http://blog.csdn.net/dzassn/archive/2007/09/15/1786003.aspx</link><pubDate>Sat, 15 Sep 2007 10:33:00 GMT</pubDate><guid>http://blog.csdn.net/dzassn/archive/2007/09/15/1786003.aspx</guid><wfw:comment>http://blog.csdn.net/dzassn/comments/1786003.aspx</wfw:comment><comments>http://blog.csdn.net/dzassn/archive/2007/09/15/1786003.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/dzassn/comments/commentRss/1786003.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1786003</trackback:ping><description>Does the idea of writing a Linux device driver sound difficult? If you have some basic programming experience, the task issimpler than you think. Get started with this quick primer ondevice driver programming. &lt;img src ="http://blog.csdn.net/dzassn/aggbug/1786003.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>