<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[asmxpl的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/asmxpl</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; asmxpl]]></copyright><item><title><![CDATA[C++程序设计之四书五经—C++书籍推荐]]></title><link>https://blog.youkuaiyun.com/asmxpl/article/details/21985631</link><guid>https://blog.youkuaiyun.com/asmxpl/article/details/21985631</guid><author>asmxpl</author><pubDate>Mon, 24 Mar 2014 20:32:11 +0800</pubDate><description><![CDATA[C++是一门广泛用于工业软件研发的大型语言。它自身的复杂性和解决现实问题的能力，使其极具学术研究价值和工业价值。和C语言一样，C++已经在许多重要的领域大获成功。 然而，一个不可否认的现实是，在低阶程序设计领域，C++挤压着C同时也在承受着C的强烈反弹，而在高阶程序设计领域，Java和C#正在不断蚕食着C++的地盘。也许C++与C合为一体永远都是一个梦想，也许Java和C#的狂潮终将迫使C++回归]]></description><category></category></item><item><title><![CDATA[USB基础书籍资料推荐]]></title><link>https://blog.youkuaiyun.com/asmxpl/article/details/21985581</link><guid>https://blog.youkuaiyun.com/asmxpl/article/details/21985581</guid><author>asmxpl</author><pubDate>Mon, 24 Mar 2014 20:30:37 +0800</pubDate><description><![CDATA[中文参考书籍：
1. USB系统架构图解，陈乃塘，陆克文化事业有限公司。
2. USB2.0 设计应用全揽，廖惠如总编辑，陆克文化事业有限公司。
3. USB理论规范与设计，郭士秋编着，儒林出版社，957-499-211-X。
4. USB系统架构，Don Anderson原著，陈振荣编译，碁峰。
5. 精通USB 2.0硬件设计，萧世文编着，文魁，P2097。
6. USB 2.0程]]></description><category></category></item><item><title><![CDATA[关于f_mass_storage.c的文章]]></title><link>https://blog.youkuaiyun.com/asmxpl/article/details/21985467</link><guid>https://blog.youkuaiyun.com/asmxpl/article/details/21985467</guid><author>asmxpl</author><pubDate>Mon, 24 Mar 2014 20:28:27 +0800</pubDate><description><![CDATA[原文地址：http://blog.youkuaiyun.com/HellDevil/archive/2010/05/18/5604421.aspx
http://blog.youkuaiyun.com/HellDevil/archive/2010/05/06/5561918.aspx
http://blog.youkuaiyun.com/HellDevil/archive/2010/01/19/5213888.aspx
htt]]></description><category></category></item><item><title><![CDATA[使用 watchdog 构建高可用性的 Linux 系统及应用]]></title><link>https://blog.youkuaiyun.com/asmxpl/article/details/21985391</link><guid>https://blog.youkuaiyun.com/asmxpl/article/details/21985391</guid><author>asmxpl</author><pubDate>Mon, 24 Mar 2014 20:26:54 +0800</pubDate><description><![CDATA[原文地址：http://www.ibm.com/developerworks/cn/linux/l-cn-watchdog/index.html
周
婷 (moting9@gmail.com),
软件工程师, IBM 
中国系统技术实验室
简介： Linux
在不同领域如电信、终端便携设备等得到广泛应用，不同领域的应用对 Linux系统也提出相应的需求。Carrier Grade Li]]></description><category></category></item><item><title><![CDATA[在线看kernel代码]]></title><link>https://blog.youkuaiyun.com/asmxpl/article/details/21984835</link><guid>https://blog.youkuaiyun.com/asmxpl/article/details/21984835</guid><author>asmxpl</author><pubDate>Mon, 24 Mar 2014 20:14:41 +0800</pubDate><description><![CDATA[推荐网站：http://lxr.oss.org.cn/source/]]></description><category></category></item><item><title><![CDATA[【奶味香蕉蛋羹】]]></title><link>https://blog.youkuaiyun.com/asmxpl/article/details/21982387</link><guid>https://blog.youkuaiyun.com/asmxpl/article/details/21982387</guid><author>asmxpl</author><pubDate>Mon, 24 Mar 2014 19:37:07 +0800</pubDate><description><![CDATA[【看美食】【奶味香蕉蛋羹】是一款美味又营养的简单辅食，它香味浓郁、嫩滑可口，是最常见的婴幼儿营养食谱 原料：香蕉1根，牛奶100ml，鸡蛋1个1、香蕉去皮，用勺子压成泥。2、鸡蛋磕入碗中打散，搅拌均匀。3、往蛋液中加入香蕉泥和牛奶一起拌匀。4、蒸锅加水烧开，将调好的香蕉蛋奶液，入锅用中火蒸熟即可。]]></description><category></category></item><item><title><![CDATA[Linux内核中等待队列的几种用法]]></title><link>https://blog.youkuaiyun.com/asmxpl/article/details/21891429</link><guid>https://blog.youkuaiyun.com/asmxpl/article/details/21891429</guid><author>asmxpl</author><pubDate>Sun, 23 Mar 2014 22:31:26 +0800</pubDate><description><![CDATA[Linux内核里的等待队列机制在做驱动开发时用的非常多，多用来实现阻塞式访问，下面简单总结了等待队列的四种用法，希望对读者有所帮助。
1. 睡眠等待某个条件发生(条件为假时睡眠)：
    睡眠方式：wait_event, wait_event_interruptible
            唤醒方式：wake_up (唤醒时要检测条件是否为真，如果还为假则继续睡眠，唤醒前一定要把条件变]]></description><category></category></item><item><title><![CDATA[浅入浅出Liunx Shellcode]]></title><link>https://blog.youkuaiyun.com/asmxpl/article/details/21888133</link><guid>https://blog.youkuaiyun.com/asmxpl/article/details/21888133</guid><author>asmxpl</author><pubDate>Sun, 23 Mar 2014 21:26:43 +0800</pubDate><description><![CDATA[创建时间：2008-05-13
文章属性：原创
文章提交：pr0cess (pr0cess_at_cnbct.org)

浅入浅出Liunx Shellcode

/*-------------------------------------
Author:旋木木[xuanmumu@gmail.com]
Date:2008/05/12
Website:www.bugshower.]]></description><category></category></item><item><title><![CDATA[USB设备驱动开发-USB协议相关(三)]]></title><link>https://blog.youkuaiyun.com/asmxpl/article/details/21856751</link><guid>https://blog.youkuaiyun.com/asmxpl/article/details/21856751</guid><author>asmxpl</author><pubDate>Sun, 23 Mar 2014 07:39:07 +0800</pubDate><description><![CDATA[一、USB设备标准请求

USB设备标准请求是为所有USB设备定义的操作，即使设备还没有被分配地址或还没有被配置都必须相应设备标准请求。

标准特性选择子




特性选择子用于对特性使能或设置特性，若一个不支持或非法的请求发送给USB设备，设备将在数据或状态传输阶段返回STALL作为响应。若设备的默认控制通道由于错误不能通信，则设备将被reset来清除错误状态并重启默认控制通道]]></description><category></category></item><item><title><![CDATA[USB设备驱动开发-USB协议相关(二)]]></title><link>https://blog.youkuaiyun.com/asmxpl/article/details/21856733</link><guid>https://blog.youkuaiyun.com/asmxpl/article/details/21856733</guid><author>asmxpl</author><pubDate>Sun, 23 Mar 2014 07:38:17 +0800</pubDate><description><![CDATA[一、USB设备通用操作

      1. 热插拔


在热插拔中，USB HUB扮演着很重要的角色，HUB向主机报告端口的状态改变，主机才能对相应的动作采取相应的操作；


      2. 地址分派


当USB设备插入后，主机会对USB设备分配一个独一无二的地址，同时resetUSB设备并对HUB的相应端口使能；


      3. 配置(Configurati]]></description><category></category></item><item><title><![CDATA[USB设备驱动开发-USB协议相关(一)]]></title><link>https://blog.youkuaiyun.com/asmxpl/article/details/21856723</link><guid>https://blog.youkuaiyun.com/asmxpl/article/details/21856723</guid><author>asmxpl</author><pubDate>Sun, 23 Mar 2014 07:37:40 +0800</pubDate><description><![CDATA[一、USB设备模型

       USB设备模型从物理上分为两个部分：主机（host）控制端作为主机端，驱动的设备是USB Host Controller；外设端被称为设备端，驱动的设备是USB Device Controller。因此，USB设备驱动应该分为主机端驱动和设备端驱动两部分，只是由于USB协议的主从定位思想，从设备只需要响应主机控制器的请求，不能主动发起请求，通常所说的USB驱]]></description><category></category></item><item><title><![CDATA[USB设备驱动程序-USB Gadget Driver(四)]]></title><link>https://blog.youkuaiyun.com/asmxpl/article/details/21856671</link><guid>https://blog.youkuaiyun.com/asmxpl/article/details/21856671</guid><author>asmxpl</author><pubDate>Sun, 23 Mar 2014 07:35:18 +0800</pubDate><description><![CDATA[Gadget 功能层

Gadget功能层完成USB设备的具体功能，其表现的形式各不相同，如键盘、鼠标、存储和网卡等等。功能层不仅涉及到Gadget驱动相关的内容，还涉及到其功能相关的内核子系统。如存储还涉及到内核存储子系统，网卡还涉及到网络驱动子系统。因此，Gadget功能的代码非常复杂。这里以zero.c为例，这个模块只是简单地将接收的数据回显回去。

一、数据结构


首先需要]]></description><category></category></item><item><title><![CDATA[USB设备驱动程序-USB Gadget Driver(三)]]></title><link>https://blog.youkuaiyun.com/asmxpl/article/details/21856171</link><guid>https://blog.youkuaiyun.com/asmxpl/article/details/21856171</guid><author>asmxpl</author><pubDate>Sun, 23 Mar 2014 07:33:28 +0800</pubDate><description><![CDATA[Gadget设备层
       这一层是可选的，介于UDC驱动层和Gadget功能层之间。主要源码在composite.c和composite.h文件中，设备层其实和硬件无关，主要实现一些通用性的代码，减少gadget功能层的代码重复工作。Gadget设备层其中承上启下的作用，联系Gadget功能层和UDC驱动层。
       将composite源码独立出来，还为复合设备的实现提供了一个]]></description><category></category></item><item><title><![CDATA[USB设备驱动程序-USB Gadget Driver(二)]]></title><link>https://blog.youkuaiyun.com/asmxpl/article/details/21856123</link><guid>https://blog.youkuaiyun.com/asmxpl/article/details/21856123</guid><author>asmxpl</author><pubDate>Sun, 23 Mar 2014 07:18:49 +0800</pubDate><description><![CDATA[1． UDC驱动是作为platform driver向platform子系统注册的，因此UDC驱动首先就需要实现struct platform_driver结构中的函数成员：


struct platform_driver {



           int (*probe)(struct platform_device *); //驱动和设备绑定



       ]]></description><category></category></item><item><title><![CDATA[USB设备驱动开发-USB Gadget Driver(一)]]></title><link>https://blog.youkuaiyun.com/asmxpl/article/details/21856087</link><guid>https://blog.youkuaiyun.com/asmxpl/article/details/21856087</guid><author>asmxpl</author><pubDate>Sun, 23 Mar 2014 07:18:04 +0800</pubDate><description><![CDATA[转自：http://blog.chinaunix.net/uid-14518381-id-3904999.html

一、Linux USB Gadget Driver功能

      为了与主机端驱动设备的USB Device Driver概念进行区别，将在外围器件中运行的驱动程序称为USB Gadget Driver。其中，Host端驱动设备的驱动程序是master或者client ]]></description><category></category></item><item><title><![CDATA[Gadget Mass Storage设备驱动程序]]></title><link>https://blog.youkuaiyun.com/asmxpl/article/details/21737335</link><guid>https://blog.youkuaiyun.com/asmxpl/article/details/21737335</guid><author>asmxpl</author><pubDate>Fri, 21 Mar 2014 18:17:19 +0800</pubDate><description><![CDATA[Gadget Mass Storage设备驱动程序

驱动程序原理介绍

USB大存储设备（Mass Storage）是以文件为单位进行存储的从设备（Gadget）。在主设备主机（任何操作系统）上它以U盘的形式出现，在有Linux操作系统的从设备主机上，它以Gadget驱动程序形式出现，实现从设备与主设备的通信。

Gadget Mass Storage是USB设备的一个典型的Gadg]]></description><category></category></item><item><title><![CDATA[Nand 驱动调试记录]]></title><link>https://blog.youkuaiyun.com/asmxpl/article/details/21737095</link><guid>https://blog.youkuaiyun.com/asmxpl/article/details/21737095</guid><author>asmxpl</author><pubDate>Fri, 21 Mar 2014 18:11:23 +0800</pubDate><description><![CDATA[新项目使用了 Micro 4Gb 16bit Nand 作为 Storage， 这样，我们需要对下载工具、bootloader、Linux 内核做一些修改。 这里主要记录了 Linux 内核 Nand 驱动调试过程中遇到的问题。
问题1： 擦除某个分区会导致系统不能启动
执行命令擦除某分区：
flash_eraseall  /dev/mtd8
重启， 发现系统不能启动！
重新用 Jtag]]></description><category></category></item><item><title><![CDATA[Linux下USB MASS STORAGE驱动的分析和改造]]></title><link>https://blog.youkuaiyun.com/asmxpl/article/details/21737037</link><guid>https://blog.youkuaiyun.com/asmxpl/article/details/21737037</guid><author>asmxpl</author><pubDate>Fri, 21 Mar 2014 18:10:21 +0800</pubDate><description><![CDATA[From:http://www.csksoft.net/blog/post/linux_storage_mod.html

这原本是我这学期OS课程设计最后一次的作业，因为比较有意思，所以就把它公布出来吧。

作业要求：
开发Linux下的usb存储设备的驱动，仅需支持自己的u盘即可。

下面是我写的驱动，他基于linux下自带的usb-storage驱动(/driver/usb/s]]></description><category></category></item><item><title><![CDATA[Linux-USB Gadget : Part 4: 最简单的 gadget驱动：g_zero]]></title><link>https://blog.youkuaiyun.com/asmxpl/article/details/21701707</link><guid>https://blog.youkuaiyun.com/asmxpl/article/details/21701707</guid><author>asmxpl</author><pubDate>Fri, 21 Mar 2014 10:58:39 +0800</pubDate><description><![CDATA[Linux-USB Gadget : Part 4: 最简单的 gadget驱动：g_zero
作者： zjujoe 转载请注明出处
Email：zjujoe@yahoo.com
BLOG：http://blog.youkuaiyun.com/zjujoe
前言
前面讲过，gadgetapi 提供了usb devicecontroller 驱动和上层gadget驱动交互的接口。 UDC 驱动是服务提]]></description><category></category></item><item><title><![CDATA[Ctrl C 不能中止程序问题]]></title><link>https://blog.youkuaiyun.com/asmxpl/article/details/21701473</link><guid>https://blog.youkuaiyun.com/asmxpl/article/details/21701473</guid><author>asmxpl</author><pubDate>Fri, 21 Mar 2014 10:55:59 +0800</pubDate><description><![CDATA[Ctrl C 不能中止程序问题
作者： zjujoe 转载请注明出处
Email：zjujoe@yahoo.com
BLOG：http://blog.youkuaiyun.com/zjujoe
 
最近应用组兄弟反应他们的环境（maemo)下 ctrl-c 不能终止程序，跟踪了一下，发现maemo 虽然也使用了 busybox, 但是 init 却是用的 sysvinit 包里面的。 试着更换成 b]]></description><category></category></item></channel></rss>