易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux USB驱动框架分析(转)

Linux USB驱动框架分析(一)
    初次接触与OS相关的设备驱动编写,感觉还挺有意思的,为了不至于忘掉看过的东西,笔记跟总结当然不可缺,更何况我决定为嵌入式卖命了。好,言归正传,我说一说这段时间的收获,跟大家分享一下Linux的驱动开发。但这次只先针对Linux的USB子系统作分析,因为周五研讨老板催货。当然,还会顺带提一下其他的驱动程序写法。
       事实上,Linux的设备驱动都遵循一个惯例——表征驱动程序(用driver更贴切一些,应该称为驱动器比较好吧)的结构体,结构体里面应该包含了驱动程序所需要的所有资源。用术语来说,就是这个驱动器对象所拥有的属性及成员。由于Linux的内核用c来编写,所以我们也按照这种结构化的思想来分析代码,但我还是希望从OO的角度来阐述这些细节。这个结构体的名字有驱动开发人员决定,比如说,鼠标可能有一个叫做mouse_dev的struct,键盘可能由一个keyboard_dev的struct(dev for device,我们做的只是设备驱动)。而这次我们来分析一下Linux内核源码中的一个usb-skeleton(就是usb驱动的骨架咯),自然,他定义的设备结构体就叫做usb-skel:
struct usb_skel {
     struct usb_device *       udev;                /* the usb device for this device */
     struct usb_interface * interface;           /* the interface for this device */
     struct semaphore       limit_sem;          /* limiting the number of writes in progress */
     unsigned char *          bulk_in_buffer;    /* the buffer to receive data */
     size_t        bulk_in_size;                   /* the size of the receive buffer */
     __u8&nbs


相关文档:

Linux MTD技术简介

MTD(memory technology device内存技术设备)是用于访问memory设备(ROM、flash)的Linux的子系统。MTD的主要目的是为了使新的memory设备的驱动更加简单,为此它在硬件和上层之间提供了一个抽象的接口。MTD的所有源代码在/drivers/mtd子目录下。我将CFI接口的MTD设备分为四层(从设备节点直到底层硬件驱动),这四层从上到下 ......

linux配置iptables和squid

iptables-save > ipt.v1.0
iptables-save > ipt.v1.1
iptables-restore < ipt.v1.0
cp /etc/sysconfig/iptables iptables.raw
service iptables save
ip伪装的脚本文件iptables_masquerade
#!/bin/bash
//设置linux系统允许ip包的转发
echo "1" > /proc/sys/net/ipv4/ip_forward
//加载实现 ......

在Linux下解压windows下的rar文件

linux下默认只能解压zip压缩文件,而rar文件默认没有解压支持的工具,这里提供一个简单的方式,安装rar工具,支持linux下解压rar文件。
1:首先下载rar解压工具,这里用 rarlinux-3.6.b6.tar.gz,给出一个网友提供的版本下载地址:
http://blogimg.chinaunix.net/blog/upfile2/080226173046.gz
2:接下来执行如下操作
t ......

Linux目录设置时的建议

 /home
作为文件服务器等多用户系统使用时,建议设置于单独分区中。这样当发布的系统需要升级时,或者重装系统时显得尤其便利。
/var
此目录中存放log等时常更新的文件,像syslog这样的文件容量很大,有超出文件系统容量的可能。建议设置于单独的分区中。
/usr
仅在添加新程序时会改变其中的内容,建议设置为只读 ......

linux文件系统中检测U盘挂载全权讲解

里学习linux文件系统技巧,挂载U盘是否连接的技巧,文中以案例讲解。望能给大家带来小小的帮助。
Linux文件系统是异步的,也就是说写一个文件不是立刻保存到介质(硬盘,U盘等)中,而是存到缓冲区内,等积累到一定程度再一起保存到介质中。如果没有umount就非法拔出 U盘,程序是不知道的,fopen,fwrite等函数都依然返回正 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号