<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Inside SW,FW and HW R&#38;D</title>
	<atom:link href="http://blog.donews.com/21cnbao/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.donews.com/21cnbao</link>
	<description>C/C++ &#124; Visual C++ &#124; 嵌入式系统 &#124; 硬件设计 &#124; 通信与网络</description>
	<lastBuildDate>Thu, 04 Nov 2010 15:22:46 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>《Linux设备驱动开发详解(第2版)》隆重出版</title>
		<link>http://blog.donews.com/21cnbao/archive/2010/11/04/1581999.aspx</link>
		<comments>http://blog.donews.com/21cnbao/archive/2010/11/04/1581999.aspx#comments</comments>
		<pubDate>Thu, 04 Nov 2010 15:22:46 +0000</pubDate>
		<dc:creator>宋宝华</dc:creator>
				<category><![CDATA[3.嵌入式系统]]></category>

		<guid isPermaLink="false">http://blog.donews.com/21cnbao/?p=1581999</guid>
		<description><![CDATA[编辑推荐

荣获51CTO网站主办的2009年度最佳技术图书奖，网友好评如潮
荣获ZD.NET技术网站主办的2009年度十佳IT图书之一
首版销售达3万册，被china-pub评选进入2009年度技术图书畅销榜TOP50
2010版畅销书最新升级，基于最新Linux内核和LDD6410平台，本年度最值得期待的驱动开发技术图书]]></description>
		<wfw:commentRss>http://blog.donews.com/21cnbao/archive/2010/11/04/1581999.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>platform设备驱动全透析</title>
		<link>http://blog.donews.com/21cnbao/archive/2010/07/14/1581997.aspx</link>
		<comments>http://blog.donews.com/21cnbao/archive/2010/07/14/1581997.aspx#comments</comments>
		<pubDate>Wed, 14 Jul 2010 10:30:17 +0000</pubDate>
		<dc:creator>宋宝华</dc:creator>
				<category><![CDATA[3.嵌入式系统]]></category>

		<guid isPermaLink="false">http://blog.donews.com/21cnbao/?p=1581997</guid>
		<description><![CDATA[在Linux 2.6的设备驱动模型中，关心总线、设备和驱动这3个实体，总线将设备和驱动绑定。在系统每注册一个设备的时候，会寻找与之匹配的驱动；相反的，在系统每 注册一个驱动的时候，会寻找与之匹配的设备，而匹配由总线完成。
一个现实的Linux设备和驱动通常都需要挂接在一种总线上，对于本身依附于PCI、USB、I2 C、SPI等的设备而言，这自然不是问题，但是在嵌入式系统里面，SoC系统中集成的独立的外设控制器、挂接在SoC内存空间的外设等确不依附于此类总 线。基于这一背景，Linux发明了一种虚拟的总线，称为platform总线，相应的设备称为platform_device，而驱动成为 platform_driver。]]></description>
		<wfw:commentRss>http://blog.donews.com/21cnbao/archive/2010/07/14/1581997.aspx/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Linux设备驱动的分层设计思想</title>
		<link>http://blog.donews.com/21cnbao/archive/2010/07/14/1581995.aspx</link>
		<comments>http://blog.donews.com/21cnbao/archive/2010/07/14/1581995.aspx#comments</comments>
		<pubDate>Wed, 14 Jul 2010 10:29:18 +0000</pubDate>
		<dc:creator>宋宝华</dc:creator>
				<category><![CDATA[3.嵌入式系统]]></category>

		<guid isPermaLink="false">http://blog.donews.com/21cnbao/?p=1581995</guid>
		<description><![CDATA[在面向对象的程序设计中，可以为某一类相似的事物定义一个基类，而具体的事物可以继承这个基类中的函数。如果对于继承的这个事物而言，其某函数 的实 现与基类一致，那它就可以直接继承基类的函数；相反，它可以重载之。这种面向对象的设计思想极大地提高了代码的可重用能力，是对现实世界事物间关系的一种 良好呈现。
Linux内核完全由C语言和汇编语言写成，但是却频繁用到了面向对象的设计思想。在设备驱动方面，往往为同类的设备设计了一个框架，而框架中 的核 心层则实现了该设备通用的一些功能。同样的，如果具体的设备不想使用核心层的函数，它可以重载之。]]></description>
		<wfw:commentRss>http://blog.donews.com/21cnbao/archive/2010/07/14/1581995.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux主机驱动与外设驱动分离思想</title>
		<link>http://blog.donews.com/21cnbao/archive/2010/07/14/1581993.aspx</link>
		<comments>http://blog.donews.com/21cnbao/archive/2010/07/14/1581993.aspx#comments</comments>
		<pubDate>Wed, 14 Jul 2010 10:27:19 +0000</pubDate>
		<dc:creator>宋宝华</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://blog.donews.com/21cnbao/?p=1581993</guid>
		<description><![CDATA[在 Linux设备驱动框架的设计中，除了有分层设计实现以外，还有分隔的思想。]]></description>
		<wfw:commentRss>http://blog.donews.com/21cnbao/archive/2010/07/14/1581993.aspx/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>《Linux设备驱动开发详解（第2版）》前言</title>
		<link>http://blog.donews.com/21cnbao/archive/2010/06/16/1581992.aspx</link>
		<comments>http://blog.donews.com/21cnbao/archive/2010/06/16/1581992.aspx#comments</comments>
		<pubDate>Wed, 16 Jun 2010 13:37:32 +0000</pubDate>
		<dc:creator>宋宝华</dc:creator>
				<category><![CDATA[未分类]]></category>
		<category><![CDATA[Linux设备驱动开发详解（第2版）]]></category>

		<guid isPermaLink="false">http://blog.donews.com/21cnbao/archive/2010/06/16/1581992.aspx</guid>
		<description><![CDATA[本书自第1版出版以来，在极短的时间里就进入了畅销版的前十，获得了年度“十大原创经典”、“十大畅销经典”等殊荣。在长达二年半的时间里，本书始终保持在销售排行榜的前列。在此，笔者要向广大读者的支持和厚爱表示最真挚地感谢！但是，本书自从出版后，也暴露了一些问题，主要体现在：
1.没有现成的开发环境，读者需要从头到尾构建，而构建需要花费很长的时间，许多时候会不成功，加之配套光盘中的实例没有Makefile，更加重了操作的难度；
2.没有配套的开发板，大量的基于S3C2410的实例找不到可以直接运行的平台，因此读者无法亲身体验这些驱动；
3.一些内容并不实用或陈旧，也有一些知识点的讲解语言晦涩，读者难以理解，典型如platform驱动等；
4.一些知识点并不完整，如input驱动、USB UDC和gadget驱动、SPI驱动、ASoC驱动等。
有鉴于此，笔者对全书超过40%的篇幅进行了改动。这些改动，一些是对过时内容的删除，一些是对讲解不清知识点的修正，一些是对重点内容的增强，一些则是有用知识点的增加，其目的是要向读者提供一套更加准确和完整的全方位、立体式Linux设备驱动学习平台。第2版相对第1版的主要改动有：
1.直接提供VirtualBox虚拟机，该虚拟机上已包含了书中所需开发环境和源代码，读者不再需要安装环境即可进行试验，书中详细介绍了各个试验的步骤；
2.提供了专门的配套学习板——基于三星S3C6410 SoC的LDD6410（Linux Device Drivers 6410)，使得书中的各种真实设备驱动实例都找了试验的依托；
3.全面升级内核至Linux 2.6.28.6，根据Linux内核API的变更情况更新了书中的所有内容，典型如I2C驱动的体系结构、网络NAPI的接口等，并对delayed_work等较新的内核机制进行了介绍；
4.删除了大量过时的内容，如redhat Linux 2.4内核更新到2.6、传统的按键驱动、SAA7113H启动、传统的IDE驱动等，同时新增了大量内容，包括Linux内核的编码风格、Linux内核的移植、Android驱动、USB UDC和gadget驱动、ALSA SoC驱动、input驱动、SPI驱动、基于sysfs的设备驱动、Linux设备驱动的固件加载、Linux性能调优工具、Linux设备驱动的电源管理、Linux驱动的分层设计思想、主机驱动与设备驱动分离设计思想等；
5.在块设备驱动方面，删除了RAMDISK驱动实例，而新增了更加简单易懂的vmem_disk驱动，类似于globalmem和globalfifo;
6.对许多关键知识点的讲解进行了语言上的调整和内容方面的增强，以便读者能更好的理解，譬如以专门章节讲解platform驱动等。
在总体结构方面，全书仍然与第1版一致，共分4篇23章，内容安排如下。
第1篇（第1～3章）主要讲解Linux设备驱动的基础。
第1章主要讲解设备驱动的作用，并从无操作系统的设备驱动引出了Linux操作系统下的设备驱动以及全书所用试验环境的安装方法。
第2章系统地讲解了一个Linux驱动工程师应该掌握的硬件知识，使读者打下Linux设备驱动开发的硬件基础。本章涵盖了各种类型的CPU、存储器和常见的外设，并讲解了硬件时序分析方法和仪器使用方法。
第3章将Linux设备驱动放在Linux 2.6内核背景中进行讲解，说明Linux内核的基本原理和编程方法，为编写Linux设备驱动打下软件基础。
第2篇（第4～12章）主要讲解Linux设备驱动编程的基础理论、字符设备驱动、设备驱动设计中涉及的并发控制、同步等问题以及Linux驱动的工程化。
第4、5章分别讲解Linux内核模块和Linux设备文件系统。
第6～9章以虚拟设备globalmem和globalfifo为主线讲解了字符设备驱动的编写方法，各章还讲解了并发控制、阻塞与非阻塞、异步I/O等高级控制功能。
第10、11章分别讲解Linux驱动编程中所涉及的中断和定时器，内核和I/O操作处理方法。
globalmem和globalfifo驱动与真实项目中看到的驱动有一些不同，第12章详细讲解Linux设备驱动的工程化问题，让读者看到真实的驱动要考虑的诸多问题。
第3篇（第13～21章）深刻剖析复杂设备驱动的体系架构，每一章都给出了具体的实例，涉及的设备包括块设备、终端设备、I2C适配器与I2C设备、网络设备、PCI设备、USB主机控制器、USB设备、UDC、gadget、LCD设备、Flash设备等。本篇的讲解中抽象与具体相结合，先以模板的形式给出各种设备驱动的设计框架，然后用具体实例设备的驱动填充对应的模板。
第4篇（第22～23章）详细讲解了Linux设备驱动和内核的调试和移植方法。
第22章讲解了Linux设备驱动的开发环境构建以及借助printk、oops、/proc、strace、仿真器进行驱动调试的方法，最后也介绍了Linux的性能调优工具。
第23章讲解了开发可移植驱动程序以及借助芯片范例程序、demo板驱动和其他操作系统驱动等现成代码进行Linux驱动快速移植的方法，最后也介绍了如何在一块新的SoC和电路板上构建Linux。
最后，再次对广大读者以及所有为本书提出过宝贵意见、为本书的诞生奉献过力量的人们，表示最诚挚的谢意！欢迎读者朋友继续通过本书专用网址http://www.linuxdriver.cn/与作者和编辑团队进行交流。
2010年6月
]]></description>
		<wfw:commentRss>http://blog.donews.com/21cnbao/archive/2010/06/16/1581992.aspx/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>bio 与块设备驱动</title>
		<link>http://blog.donews.com/21cnbao/archive/2010/01/17/1581989.aspx</link>
		<comments>http://blog.donews.com/21cnbao/archive/2010/01/17/1581989.aspx#comments</comments>
		<pubDate>Sun, 17 Jan 2010 15:10:00 +0000</pubDate>
		<dc:creator>宋宝华</dc:creator>
				<category><![CDATA[4.嵌入式系统]]></category>

		<guid isPermaLink="false">http://blog.donews.com/21cnbao/archive/2010/01/17/1581989.aspx</guid>
		<description><![CDATA[在学习块设备原理的时候，我最关系块设备的数据流程，从应用程序调用Read或者Write开始，数据在内核中到底是如何流通、处理的呢？然后又如何抵达具体的物理设备的呢？下面对一个带Cache功能的块设备数据流程进行分析。
]]></description>
		<wfw:commentRss>http://blog.donews.com/21cnbao/archive/2010/01/17/1581989.aspx/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>块设备层分析(1)</title>
		<link>http://blog.donews.com/21cnbao/archive/2010/01/17/1581984.aspx</link>
		<comments>http://blog.donews.com/21cnbao/archive/2010/01/17/1581984.aspx#comments</comments>
		<pubDate>Sun, 17 Jan 2010 15:06:00 +0000</pubDate>
		<dc:creator>宋宝华</dc:creator>
				<category><![CDATA[4.嵌入式系统]]></category>

		<guid isPermaLink="false">http://blog.donews.com/21cnbao/archive/2010/01/17/1581984.aspx</guid>
		<description><![CDATA[图1是块设备操作的一个分层实现图。当一个进程调用read读取一个文件时，内核执行如下一个过程：首先，它通过VFS层去读取要到的文件块有没有已经被cache了，这个cache由一个buffer_head结构读取。如果要读取的文件块还没有被cache，则就要从文件系统中去读取了，这就是文件系统的映射层，它通过一个address_space结构来引用，然后调用文件系统读函数(readpage)去读取一个页面大小的数据，这个读函数对于不同的文件系统来说，是不一样的。当它从磁盘中读出数据时，它会将数据页链入cache中，当下次再读取时，就不需要再次从磁盘出去读了。Readpage()函数并不是直接去操作磁盘，而只是将请求初始化成一个bio结构，并提交给通用块层(generic block layer)。]]></description>
		<wfw:commentRss>http://blog.donews.com/21cnbao/archive/2010/01/17/1581984.aspx/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>在内核中新增一个板——以skyeye2410为例</title>
		<link>http://blog.donews.com/21cnbao/archive/2010/01/16/1581868.aspx</link>
		<comments>http://blog.donews.com/21cnbao/archive/2010/01/16/1581868.aspx#comments</comments>
		<pubDate>Sat, 16 Jan 2010 15:13:00 +0000</pubDate>
		<dc:creator>宋宝华</dc:creator>
				<category><![CDATA[3.嵌入式系统]]></category>

		<guid isPermaLink="false">http://blog.donews.com/21cnbao/archive/2010/01/16/1581868.aspx</guid>
		<description><![CDATA[讲解如何在Linux内核中新增板文件（Linux电路板级移植）。]]></description>
		<wfw:commentRss>http://blog.donews.com/21cnbao/archive/2010/01/16/1581868.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>对思科实施嵌入式Linux培训</title>
		<link>http://blog.donews.com/21cnbao/archive/2010/01/16/1581867.aspx</link>
		<comments>http://blog.donews.com/21cnbao/archive/2010/01/16/1581867.aspx#comments</comments>
		<pubDate>Sat, 16 Jan 2010 15:09:00 +0000</pubDate>
		<dc:creator>宋宝华</dc:creator>
				<category><![CDATA[3.嵌入式系统]]></category>

		<guid isPermaLink="false">http://blog.donews.com/21cnbao/archive/2010/01/16/1581867.aspx</guid>
		<description><![CDATA[2010年初对思科实施嵌入式Linux开发培训，感谢思科员工的支持。]]></description>
		<wfw:commentRss>http://blog.donews.com/21cnbao/archive/2010/01/16/1581867.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>对四方继保实施嵌入式Linux开发培训</title>
		<link>http://blog.donews.com/21cnbao/archive/2010/01/16/1581866.aspx</link>
		<comments>http://blog.donews.com/21cnbao/archive/2010/01/16/1581866.aspx#comments</comments>
		<pubDate>Sat, 16 Jan 2010 15:03:00 +0000</pubDate>
		<dc:creator>宋宝华</dc:creator>
				<category><![CDATA[3.嵌入式系统]]></category>

		<guid isPermaLink="false">http://blog.donews.com/21cnbao/archive/2010/01/16/1581866.aspx</guid>
		<description><![CDATA[四方公司系我国电力行业和北京市中关村科技园区的知名企业，2009年10月23-25日对该企业进行了18课时的企业培训，感谢四方公司工作同志的支持。]]></description>
		<wfw:commentRss>http://blog.donews.com/21cnbao/archive/2010/01/16/1581866.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.290 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-02-11 01:43:30 -->
<!-- Compression = gzip -->
