<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Linux Driver回忆录]]></title><description><![CDATA[专注Linux/Driver/NetWork]]></description><link>https://blog.youkuaiyun.com/linuxdrivers</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; linuxdrivers]]></copyright><item><title><![CDATA[如何用Python编写一个简单的爬虫]]></title><link>https://blog.youkuaiyun.com/linuxdrivers/article/details/48861549</link><guid>https://blog.youkuaiyun.com/linuxdrivers/article/details/48861549</guid><author>linuxdrivers</author><pubDate>Fri, 02 Oct 2015 18:03:55 +0800</pubDate><description><![CDATA[之前推荐了一个免费的Python教程。 Python可以做的事情非常多，而且由于各种包，库资源丰富。开发起来也很方便。比如100行就可以开发出一个简单的网页爬虫程序。这里继续推荐一个用Python写爬虫的英文教程： https://getpocket.com/a/read/907267359]]></description><category></category></item><item><title><![CDATA[推荐两个不错的免费教程]]></title><link>https://blog.youkuaiyun.com/linuxdrivers/article/details/47727855</link><guid>https://blog.youkuaiyun.com/linuxdrivers/article/details/47727855</guid><author>linuxdrivers</author><pubDate>Mon, 17 Aug 2015 17:18:55 +0800</pubDate><description><![CDATA[Git 教程：http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000


Python 教程： http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000]]></description><category></category></item><item><title><![CDATA[U-boot源码下载地址]]></title><link>https://blog.youkuaiyun.com/linuxdrivers/article/details/37811645</link><guid>https://blog.youkuaiyun.com/linuxdrivers/article/details/37811645</guid><author>linuxdrivers</author><pubDate>Tue, 15 Jul 2014 11:12:19 +0800</pubDate><description><![CDATA[http://ftp.denx.de/pub/u-boot/]]></description><category></category></item><item><title><![CDATA[errno(3) - Linux man page]]></title><link>https://blog.youkuaiyun.com/linuxdrivers/article/details/37650505</link><guid>https://blog.youkuaiyun.com/linuxdrivers/article/details/37650505</guid><author>linuxdrivers</author><pubDate>Thu, 10 Jul 2014 10:11:38 +0800</pubDate><description><![CDATA[errno(3) - Linux man page
Name
errno - number of last error 
Synopsis
#include 
Description
The 
header file defines the integer variable errno,
 which is set by system
calls and some library]]></description><category></category></item><item><title><![CDATA[UBIFS挂载小记]]></title><link>https://blog.youkuaiyun.com/linuxdrivers/article/details/9183385</link><guid>https://blog.youkuaiyun.com/linuxdrivers/article/details/9183385</guid><author>linuxdrivers</author><pubDate>Wed, 26 Jun 2013 23:24:39 +0800</pubDate><description><![CDATA[注：本文内容全部为操作层面的内容，不涉及UBI及UBIFS的任何实现及介绍的内容。]]></description><category></category></item><item><title><![CDATA[两分钟学会在GitHub托管代码]]></title><link>https://blog.youkuaiyun.com/linuxdrivers/article/details/8680592</link><guid>https://blog.youkuaiyun.com/linuxdrivers/article/details/8680592</guid><author>linuxdrivers</author><pubDate>Sat, 16 Mar 2013 11:03:16 +0800</pubDate><description><![CDATA[出处：http://blog.youkuaiyun.com/duxinfeng2010/article/details/8654690




本篇博客针对不会Git的小童鞋，大神们可以绕过，错误之处谢谢指正；

关于GitHub的强大此处不在说明，知道GitHub也有一段时间了,但是一直苦于不会使用。

本篇文章介绍的是如何将工程代码托管到上面；如果你还没注册GitHub账号请到https]]></description><category></category></item><item><title><![CDATA[计算机是如何启动的？]]></title><link>https://blog.youkuaiyun.com/linuxdrivers/article/details/8604216</link><guid>https://blog.youkuaiyun.com/linuxdrivers/article/details/8604216</guid><author>linuxdrivers</author><pubDate>Fri, 22 Feb 2013 22:04:26 +0800</pubDate><description><![CDATA[出处：http://www.ruanyifeng.com/blog/2013/02/booting.html
从打开电源到开始操作，计算机的启动是一个非常复杂的过程。

我一直搞不清楚，这个过程到底是怎么回事，只看见屏幕快速滚动各种提示...... 这几天，我查了一些资料，试图搞懂它。下面就是我整理的笔记。
零、boot的含义
先问一个问题，"启动"用英语怎么说？
回答是boot。可是]]></description><category></category></item><item><title><![CDATA[从多核到众核处理器]]></title><link>https://blog.youkuaiyun.com/linuxdrivers/article/details/8575984</link><guid>https://blog.youkuaiyun.com/linuxdrivers/article/details/8575984</guid><author>linuxdrivers</author><pubDate>Thu, 07 Feb 2013 17:23:05 +0800</pubDate><description><![CDATA[其实“多核”这个词已经流行很多年了，世界上第一款商用的非嵌入式多核处理器是2002年IBM推出的POWER4。当然，多核这个词汇的流行主要归功与AMD和Intel的广告，Intel与AMD的真假四核之争，以及如今的电脑芯片市场上全是多核处理器的事实。接下来，学术界的研究人员开始讨论未来成百上千核的处理器了。有一个与多核匹配的词叫片上网络（Networks on Chip），讲的是多核里的网络式互连]]></description><category></category></item><item><title><![CDATA[硬编码实例]]></title><link>https://blog.youkuaiyun.com/linuxdrivers/article/details/8540648</link><guid>https://blog.youkuaiyun.com/linuxdrivers/article/details/8540648</guid><author>linuxdrivers</author><pubDate>Fri, 25 Jan 2013 09:48:51 +0800</pubDate><description><![CDATA[出处：http://www.groad.net/bbs/read.php?tid-3000.html  有增删
    对于 CPU 来说，它对指令和数据本质上是不区分的。数据也可以当成是指令执行。 在硬编码的一个简单示例里，揭示了这一点。 
   下面是一个普通的汇编程序： 

   .section .text
   .global    _start
_start:
     nop]]></description><category></category></item><item><title><![CDATA[通过/dev/mem进行恶意代码注入]]></title><link>https://blog.youkuaiyun.com/linuxdrivers/article/details/8498204</link><guid>https://blog.youkuaiyun.com/linuxdrivers/article/details/8498204</guid><author>linuxdrivers</author><pubDate>Sun, 13 Jan 2013 15:26:00 +0800</pubDate><description><![CDATA[出处：http://blog.youkuaiyun.com/tody_guo/article/details/5457659  有删改
英文原文：http://www.dtors.org/papers/malicious-code-injection-via-dev-mem.pdf

    摘要
    在本文中，我们将要讨论使用字符设备 /dev/mem 向kernel进行代码注入的方法。大多数针]]></description><category></category></item><item><title><![CDATA[也谈大端模式（big endian）和小端模式（little endian） (二) 理论与实例一]]></title><link>https://blog.youkuaiyun.com/linuxdrivers/article/details/8457402</link><guid>https://blog.youkuaiyun.com/linuxdrivers/article/details/8457402</guid><author>linuxdrivers</author><pubDate>Wed, 02 Jan 2013 01:06:59 +0800</pubDate><description><![CDATA[static union 
{     
    char c[4]; 
    unsigned long l;
 } endian_test = { { 'l', '?', '?', 'b' } };


#define ENDIANNESS ((char)endian_test.l)


    我们可以在Linux内核源码中找到以上代码，这个宏的意图显而易见：小端机器输出 l (litt]]></description><category></category></item><item><title><![CDATA[也谈零拷贝(一) 抛砖篇]]></title><link>https://blog.youkuaiyun.com/linuxdrivers/article/details/7487618</link><guid>https://blog.youkuaiyun.com/linuxdrivers/article/details/7487618</guid><author>linuxdrivers</author><pubDate>Sun, 22 Apr 2012 22:16:19 +0800</pubDate><description><![CDATA[首先，如果读者之前不熟悉什么是零拷贝，请参考下面的链接：      
Linux中的零拷贝技术，第1部分               
http://www.ibm.com/developerworks/cn/linux/l-cn-zerocopy1/index.html
Linux中的零拷贝技术，第2部分
http://www.ibm.com/developerworks/cn/linu]]></description><category></category></item><item><title><![CDATA[浅谈Linux中断处理(一)]]></title><link>https://blog.youkuaiyun.com/linuxdrivers/article/details/7220739</link><guid>https://blog.youkuaiyun.com/linuxdrivers/article/details/7220739</guid><author>linuxdrivers</author><pubDate>Mon, 30 Jan 2012 22:26:04 +0800</pubDate><description><![CDATA[注: 先做个引子，留给自己看，这一系列后续会继续完善。本篇下面内容为转载内容。
 
    在linux内核里，如果驱动在申请注册中断的时候没有特别的指定，do_irq在做中断响应的时候，是开启中断的，如果在驱动的中断处理函数正在执行的过程中，出现同一设备的中断或者不同设备的中断，这时候新的中断会被立即处理，还是被pending，等当前中断处理完成后，再做处理。
在2.4和2.6内核里，关于]]></description><category></category></item><item><title><![CDATA[也谈大端模式（big endian）和小端模式（little endian）   (一)  引 子]]></title><link>https://blog.youkuaiyun.com/linuxdrivers/article/details/6888867</link><guid>https://blog.youkuaiyun.com/linuxdrivers/article/details/6888867</guid><author>linuxdrivers</author><pubDate>Wed, 19 Oct 2011 21:33:18 +0800</pubDate><description><![CDATA[以32位机来讲，比如有这样一个整形数0x11223344，假设从内存0x0地址开始存放这个数。
    对于大端模式(Big endian)，低地址存放高字节。所以0x11223344在内存中的存放如下：
    0x00：0x11
    0x01：0x22
    0x02：0x33
    0x03：0x44
    而对于小端模式(Little endian)，低地址存放低字节]]></description><category></category></item><item><title><![CDATA[结构体位操作--反汇编(二)]]></title><link>https://blog.youkuaiyun.com/linuxdrivers/article/details/6187514</link><guid>https://blog.youkuaiyun.com/linuxdrivers/article/details/6187514</guid><author>linuxdrivers</author><pubDate>Wed, 16 Feb 2011 11:26:00 +0800</pubDate><description><![CDATA[有了第一篇文章的基础，现在我们来分析一个问题：假设某个FPGA的32位寄存器，我们打算用第一篇文章那样的结构体位域的形式来实现对该寄存器的读写。跟第一篇的内容类似，基本上就是结构体的声明不同，当在我们自己的PC机上测试，编译，执行，结果都没有问题。但是在FPGA上放起来时，却发现结果总是不正确。因为要用该结构体来访问寄存器，下面假定FPGA的32位寄存器地址是宏FPGA_REG_ADDR代表的地址]]></description><category></category></item><item><title><![CDATA[结构体位操作--反汇编(一)]]></title><link>https://blog.youkuaiyun.com/linuxdrivers/article/details/6184300</link><guid>https://blog.youkuaiyun.com/linuxdrivers/article/details/6184300</guid><author>linuxdrivers</author><pubDate>Mon, 14 Feb 2011 16:12:00 +0800</pubDate><description><![CDATA[结构体位操作]]></description><category></category></item><item><title><![CDATA[浅谈Linux PCI设备驱动（二）]]></title><link>https://blog.youkuaiyun.com/linuxdrivers/article/details/5917478</link><guid>https://blog.youkuaiyun.com/linuxdrivers/article/details/5917478</guid><author>linuxdrivers</author><pubDate>Fri, 01 Oct 2010 01:00:00 +0800</pubDate><description><![CDATA[我们在
浅谈Linux PCI设备驱动（一）中(以下简称
浅谈(一) )介绍了PCI的配置寄存器组，而Linux
 PCI初始化就是使用了这些寄存器来进行的。后面我们会举个例子来说明Linux PCI设备驱动的主要工作内容(不是全部内容)，这里只做文字性的介绍而不会涉及具体代码的分析，因为要分析代码的话，基本就是对 Linux内核源代码情景分析(下册)第八章的解读，读者若想分析代码，可以参考]]></description><category></category></item><item><title><![CDATA[linuxdrivers的博客公告]]></title><link>https://blog.youkuaiyun.com/linuxdrivers/article/details/5884262</link><guid>https://blog.youkuaiyun.com/linuxdrivers/article/details/5884262</guid><author>linuxdrivers</author><pubDate>Tue, 14 Sep 2010 18:49:00 +0800</pubDate><description><![CDATA[1.本博客的作者是几个从事Linux底层开发的工程师； 
2.本博客仅用于学习笔记、总结和技术交流，有些文章的内容会不时的更新，并且很多文章并不能保证读者当前阅读时的完整性，但保证会陆续的完善文章的内容，希望来访者了解；
3.本博客的部分内容和资源来源于互联网，会尽可能的注明出处。若有遗漏之处侵犯了您的权利，请发邮件到 
linux_driver@126.com，我们核实后会马上删除；
4]]></description><category></category></item><item><title><![CDATA[浅谈Linux PCI设备驱动（一）]]></title><link>https://blog.youkuaiyun.com/linuxdrivers/article/details/5849698</link><guid>https://blog.youkuaiyun.com/linuxdrivers/article/details/5849698</guid><author>linuxdrivers</author><pubDate>Mon, 30 Aug 2010 14:31:00 +0800</pubDate><description><![CDATA[要弄清楚Linux PCI设备驱动，首先要明白，所谓的Linux PCI设备驱动实际包括Linux PCI设备驱动和设备本身驱动两部分。不知道读者理不理解这句话，本人觉得这句话很重要，对于PCI、USB这样的驱动来说，必须要理解这个概念，才能明白该如何看待Linux下的PCI和USB以及类似的总线型的驱动。理由也很简单，就是Linux PCI驱动是内核自带的，或者说内核帮你写好了！而我们需要完成的]]></description><category></category></item></channel></rss>