自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 root权限登录fedora14的GUI

<br />1   su   root<br />2   vi /etc/pam.d/gdm<br /> <br />注释结尾quiet的那一行<br />3   vi/etc/pam.d/gdm-password<br /><br />注释结尾quiet的那一行4 logoutroot  登录 <br /> <br /> 

2011-02-08 22:25:00 885

原创 发展与学习

<br />1  在于技术方向上要向高端应用中的底层技术核心靠拢。<br />    因此 立足于c/c++算法以及一些常用的协议,向流行技术 如嵌入式 3G开发linux 内核等靠拢。<br />    醉心于设计, 抽象的设计于精简的设计。  一个致力于封装于复杂化,一个致力于精简优美化。  我还是倾向于c的简单的优雅,而不是c++那种过度设计过度封装,过度追求可移植可重用的代码。还是觉得可移植的思想与算法才是最核心的,可移植的代码。  那个太累人了。<br />这就跟立计划一样,一下子将几十年之后的事

2011-01-23 10:06:00 607

原创 linux虚拟机

<br />  要使用winscp连接linux<br /> <br />1  linux 跟windows防火墙都要关掉<br />2 linux sshd启动 /etc/init.d/sshd start<br />3 linux关掉防火墙 /etc/init.d/iptables stop<br />就这个破问题困扰了我2天。。。。<br /> 

2011-01-19 22:38:00 650

原创 三本流IT人的IT路

<br />         还记得那时候定下的目标,以及每一步的的路线。<br />        如今他们按部就班的来到。按部就班的实现。<br />      那时大三开学,我知道必须有一技之长,所以就在c++上面狠下功夫。多少人认为我很另类,因为我既没有学c# .net 也没学java却搞c++。有点搞笑。<br />他们认为我是瞎混。可是我的c++坚持了这么久,终于也有小的成效。<br /> <br />大三暑假,我就开始筹划人际与人脉,来到北京, 见了许多亲戚。<br />认识了许多新同学,有些

2011-01-11 11:04:00 771

原创 USB几种设备状态以及创建过程

<br />attach 表示设备已经连接到usb接口上了<br /> <br /> <br />power表示加电状态<br />   此处的加电指的是连接上usb的power状态<br /> <br /> <br />     设备attach 之后  hub会检测到usb设备连接到哪一个端口上,,然后usb_alloc_dev()之后将该usb_dev添加到总线设备列表中,然后遍历驱动列表查看是否存在该设备驱动。<br /> <br />default  默认状态<br />   HUB复位设备。发送

2011-01-10 22:59:00 2471

原创 指针与数组

<br />    数组指针<br />     int(*ptr)[3]<br />结构题指针数组<br />  struct x;<br />  x *ptr[SIZE]<br />X*PTR 是一个 多个就是后面加[]<br /> <br />函数指针数组<br /> <br />  只想函数  int func();<br />不是这样:<br />  int (*ptr)()[x];<br />而是这样:<br />  int (*ptr[])()

2011-01-05 17:12:00 582

原创 transfer

<br />struct libusb_transfer<br />这个libubs_transfer代表了一切的传输方式。批量,中断,控制,等时。<br />这是一个装货的卡车。需要事先把货物装在到卡车上。因此我们可以推测他应当有如下几个成员<br />1  货车为之服务的公司, 即是 usb设备句柄。<br />2  货物  即传输的数据以及数据长度<br />3  货物运送仓库地址   即端点号<br />4  方向   是主机到USB还是USB到主机。<br />5  到达时间<br /> <br

2011-01-04 16:59:00 1270

原创 配置描述符

<br />struct usb_config_descriptor<br />{<br />       __u8  bLength;<br />    __u8  bDescriptorType;<br />  __u8   wTotalLength;<br />__u8  bNumberInterfaces;<br />__u8 bConfigurationValue;<br />__u8 iConfigurations;<br />__u8 bmAttributes;<br />__u8 bMaxP

2011-01-03 21:11:00 1034

原创 数据层的函数设计---精彩且漂亮

<br />      今天在libusb项目里面发现一个函数,忽然就有了一种顿悟的感觉。<br />     精彩的函数设计阿,大神级别的膜拜!<br />    它是将数据结构当作一个形参传递过来,然后对这个形参进行解析。<br /> <br />这就杜绝了数据源的不一致造成的 重设计。<br /> <br />封装了相同部分格里乐不同部分。

2011-01-03 11:09:00 625

原创 端点

<br />端点<br />在一个接口中有许多端点,每一个端点需要对应一个管道。并且,每一个管道只能有一种方向。因此一个驱动程序,最少应该有两个端点。一个是EP_IN  一个是EP_OUT。<br /> <br /> <br />端点描述符<br />struct_usb_endpoint_descriptor<br />{<br /> __u8 bLength;<br />__u8  bDescriptorType;<br />__u8  bEndpointAddress;<br />__u8 bmAtt

2011-01-03 10:58:00 987

转载 运算符结合性与优先级

1.优先级比较容易理解,涉及到先算谁的问题,用的时候查表即可!<br /><br />2.结合性是指在一个操作数的两侧如果存在优先级相同的运算符,比如a+b+c;(请记住:优先级相同的运算符一定具有相同的结合性,不信查表看看)。如果是右结合,那么就是a+(b+c);<br />如果是左结合,那么就是(a+b)+c; <br />所以结合性仅仅是先给谁加括号的问题,不涉及到先算谁的问题(切记)。<br /><br />3计算顺序<br /> 在k&

2011-01-02 21:37:00 718

原创 String实现主要函数

#include #include #include using namespace std;class CString{public:CString(const char *_pStr );~CString();CString(CString &);CString &operator= (const CString &);private:char *m_pStr;friend ostream & operator{os return os;}friend istream & operator>>(istr

2011-01-02 20:47:00 857

原创 对于设备驱动接口的认识

对于接口的认识   接口对应的设备功能的抽象  每一个设备或许有不同的接口 比如一个雷帕鼠标 可能会有两种功能,一种是usb驱动, 另外一种是音频流驱动程序。 (设备驱动种类)那么他就需要两个接口来实现。接口是对于设备功能来使用的。因此我们要给自己的驱动程序分配一个接口来使用。在libusb中使用 libusb_claim_interface(libusb_device_handle * _pHandle , int  interface_number);这个interface_number会被传递给接口的

2011-01-02 10:23:00 2638

原创 一个关于字符串拷贝的面试题

//*****************************************//函数明  strcpy//形参char * _szDes  , char *  _szSrc shall be 0 ended//返回值是  char *//*****************************************char * strcpy(char * _szDes  , char *  _szSrc){       //validate of the arg  。 pointer  mus

2011-01-01 11:34:00 977

原创 #define 用来实现条件选择

<br />   #define 是另外一种逻辑控制语句<br /> <br />  请看一个源码<br />void write_myusb_dev(char * buf)<br />{<br />      int ret;<br />     #ifdef TEST_BULK_WRITE<br />     ret = usb_control_msg();<br />    #def<br /> <br />   #ifdef TEST_ASYNC<br />  #else <br /> <br />

2010-12-31 11:20:00 1495

原创 data analysis

<br />Bus Hound 6.01 capture on Windows XP Service Pack 3 (x86). Complements of www.perisoft.net<br />  Device - Device ID (followed by the endpoint for USB devices)<br />            (21) Microvision MV-VD Digital Camera<br />  Address - FireWire async

2010-12-31 11:10:00 1199

原创 libusb数据传输文档 翻译

<br />Synchronous and asynchronous device I/O <br />同步和异步的设备I / O<br />Introduction <br />介绍<br /><br /><br />If you're using libusb in your application, you're probably wanting to perform I/O with devices - you want to perform USB data transfers. <br

2010-12-20 22:35:00 3235

原创 linux 源代码阅读工具 source navigator

<br />   项目代码阅读方便快捷,<br />  虽然没有source insighT 功能强大。但已经能够满足我的需求了,而且下载使用特简单。<br />   刚开始是享用 Kscope但是,防火墙老杀死Kscope的进程,郁闷阿。<br /> <br />这个是source naavigator的  官方网站 上面有下载包,不用安装,里面有启动程序<br />http://sourcenav.sourceforge.net/<br />慢慢挑一个把<br /> <br /> 

2010-12-17 08:16:00 1590

原创 libusb_bulk_transfer

<br /> API_EXPORTED int libusb_bulk_transfer(struct libusb_device_handle *dev_handle,<br />   unsigned char endpoint, unsigned char *data, int length, int *transferred,<br />   unsigned int timeout)<br />  {<br />   return do_sync_bulk_transfer(dev_handle,

2010-12-14 10:34:00 10530 2

原创 项目开始陷入泥淖

<br /> <br /> <br />   最近一段时间驱动毫无进展,因为不知道往哪个方向走了。<br />1 不知道 声明借口之后还需要做什么,<br />2 不知道读写数据的格式<br />我很郁闷啊。。。。<br /> <br />怎么办呢<br /> <br /> <br /> 

2010-12-14 08:51:00 1174

原创 libusb_claim_interface

/** /ingroup dev * Claim an interface on a given device handle. You must claim the interface * you wish to use before you can perform I/O on any of its endpoints. * * It is legal to attempt to claim an already-claimed interface, in which * case libusb just

2010-12-05 20:57:00 12715 3

原创 LIBUSB

<br />介绍<br />libusb是一个开源图书馆,允许你从userspace与USB设备。为更多的信息,看libusb主页。<br />本文档旨在应用程序开发者希望与USB外围设备从自己的软件。本文档进行审查后,反馈和问题可以被送到libusb-devel邮寄名单。<br />承担本文档的知识来操作USB设备从软件的观点(描述符、构造、接口、端点,控制/批量/中断/同步转移、等)。充分的信息,可以发现,在USB 2.0规格这是可免费下载。你总可以找到少通过搜索网络详细的介绍。<br />库的特性<b

2010-12-05 19:07:00 5298 2

原创 libusb设置环境变量

libusb 在安装完成之后,还不能够被g++正确引用头文件,还需要设置环境变量这里我们用shell命令设置环境变量

2010-11-26 17:15:00 2796 3

原创 libusb的安装文档翻译

<br />最近做毕业设计,课题是基于libusb的照相机驱动开发<br />网上关于libusb的介绍很少,大部分都是转载的同一篇文章,而且这篇文章谈到libusb的安装都会说一句,安装编译见readme,<br />打开libusb的readme文档一看,嘛都没有,后来发现安装方法在install这个文档里面,全英文,没关系,有道帮忙,翻译如下,我又将它们核对了一下。<br />原文如下<br /> <br /> <br />Installation Instructions<br />******

2010-11-26 14:44:00 4846 2

原创 一个未完工的分析

<br />//   定义一个类,有两个构造函数<br /> <br />class  CObject<br />{<br />        private:<br />        CObject(const CObject &){}<br />        public:<br />        CObject(int i){}<br />}<br /> <br /> <br />//定义一个函数,能够得到一个类的实例<br />CObject  GetObject()<br />{<br />

2010-11-15 21:49:00 703

原创 也说单元测试

<br />单元测试是一项重要的项目过程<br /> <br />为什么要有单元测试呢?<br /> <br />单元测试有两个重要的作用<br />1 证明模块方法有效性。<br />   就是说 该模块可以实现功能需求<br />2 证明模块具有可迁移性。<br />  因为单元测试,不可避免的要将功能抽取出来进行测试,而不依赖于别的功能。如果单元测试可实现,并且运转良好这就是封装的非常好的 代码。<br /> <br /> <br />怎样进行单元测试:<br /> 

2010-11-09 08:56:00 481

原创 有感于对象做形参

<br />    对象做形参时,容易不小心出错的就是对象做形参需要压栈与拷贝工作。<br />   如果是引用的话就不会拷贝对象,而是拷贝地址。<br />   因此通过一个临时对象引用来获得对象属性的方法,往往不那么凑效<br />如下代码 <br />CClientDC  _DC(this);<br /> //_DC.SelectObject(&CPen(PS_SOLID ,1,RGB(255,0,0)));<br /> <br /> CPen  *pOldPen = CPen::FromHandle

2010-11-02 16:03:00 596

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除