- 博客(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 924
原创 发展与学习
<br />1 在于技术方向上要向高端应用中的底层技术核心靠拢。<br /> 因此 立足于c/c++算法以及一些常用的协议,向流行技术 如嵌入式 3G开发linux 内核等靠拢。<br /> 醉心于设计, 抽象的设计于精简的设计。 一个致力于封装于复杂化,一个致力于精简优美化。 我还是倾向于c的简单的优雅,而不是c++那种过度设计过度封装,过度追求可移植可重用的代码。还是觉得可移植的思想与算法才是最核心的,可移植的代码。 那个太累人了。<br />这就跟立计划一样,一下子将几十年之后的事
2011-01-23 10:06:00 640
原创 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 683
原创 三本流IT人的IT路
<br /> 还记得那时候定下的目标,以及每一步的的路线。<br /> 如今他们按部就班的来到。按部就班的实现。<br /> 那时大三开学,我知道必须有一技之长,所以就在c++上面狠下功夫。多少人认为我很另类,因为我既没有学c# .net 也没学java却搞c++。有点搞笑。<br />他们认为我是瞎混。可是我的c++坚持了这么久,终于也有小的成效。<br /> <br />大三暑假,我就开始筹划人际与人脉,来到北京, 见了许多亲戚。<br />认识了许多新同学,有些
2011-01-11 11:04:00 812
原创 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 2522
原创 指针与数组
<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 607
原创 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 1322
原创 配置描述符
<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 1082
原创 数据层的函数设计---精彩且漂亮
<br /> 今天在libusb项目里面发现一个函数,忽然就有了一种顿悟的感觉。<br /> 精彩的函数设计阿,大神级别的膜拜!<br /> 它是将数据结构当作一个形参传递过来,然后对这个形参进行解析。<br /> <br />这就杜绝了数据源的不一致造成的 重设计。<br /> <br />封装了相同部分格里乐不同部分。
2011-01-03 11:09:00 655
原创 端点
<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 1041
转载 运算符结合性与优先级
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 742
原创 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 886
原创 对于设备驱动接口的认识
对于接口的认识 接口对应的设备功能的抽象 每一个设备或许有不同的接口 比如一个雷帕鼠标 可能会有两种功能,一种是usb驱动, 另外一种是音频流驱动程序。 (设备驱动种类)那么他就需要两个接口来实现。接口是对于设备功能来使用的。因此我们要给自己的驱动程序分配一个接口来使用。在libusb中使用 libusb_claim_interface(libusb_device_handle * _pHandle , int interface_number);这个interface_number会被传递给接口的
2011-01-02 10:23:00 2688
原创 一个关于字符串拷贝的面试题
//*****************************************//函数明 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 1004
原创 #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 1542
原创 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 1238
原创 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 3336
原创 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 1620
原创 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 10621 2
原创 项目开始陷入泥淖
<br /> <br /> <br /> 最近一段时间驱动毫无进展,因为不知道往哪个方向走了。<br />1 不知道 声明借口之后还需要做什么,<br />2 不知道读写数据的格式<br />我很郁闷啊。。。。<br /> <br />怎么办呢<br /> <br /> <br />
2010-12-14 08:51:00 1199
原创 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 13068 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 5397 2
原创 libusb设置环境变量
libusb 在安装完成之后,还不能够被g++正确引用头文件,还需要设置环境变量这里我们用shell命令设置环境变量
2010-11-26 17:15:00 2853 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 4910 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 729
原创 也说单元测试
<br />单元测试是一项重要的项目过程<br /> <br />为什么要有单元测试呢?<br /> <br />单元测试有两个重要的作用<br />1 证明模块方法有效性。<br /> 就是说 该模块可以实现功能需求<br />2 证明模块具有可迁移性。<br /> 因为单元测试,不可避免的要将功能抽取出来进行测试,而不依赖于别的功能。如果单元测试可实现,并且运转良好这就是封装的非常好的 代码。<br /> <br /> <br />怎样进行单元测试:<br />
2010-11-09 08:56:00 505
原创 有感于对象做形参
<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 618
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人