Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

linuxÄÚºËÖÐusbϵͳÖ÷ÒªµÄÊý¾Ý½á¹¹

USB Äںˣ¨USBÇý¶¯£¬USBD £©´¦ÓÚϵͳµÄÖÐÐÄ£¬¶ÔÓÚËü½øÐÐÑо¿ÊÇÄܹ»½øÐÐUSBÇý¶¯¿ª·¢£¨°üÀ¨¿Í»§Çý¶¯ºÍÖ÷»úÇý¶¯£©µÄµÚÒ»²½¡£ËüΪ¿Í»§¶ËÇý¶¯ºÍÖ÷»ú¿ØÖÆÆ÷Çý¶¯ÌṩÁËÖ÷ÒªÊý¾Ý½á¹¹ºÍ½Ó¿Úº¯Êý£¬Ö÷ÒªÓÐËÄÀ๦ÄÜ£º¿Í»§¶ËÇý¶¯¹ÜÀí£¬USBÉ豸µÄÅäÖú͹ÜÀí£¬Ö÷»ú¿ØÖÆÆ÷µÄ¹ÜÀí£¬Ð­Òé¿ØÖÆÃüÁºÍÊý¾Ý´«ÊäµÄ¹ÜÀí¡£¾ßÌå´úÂëÖ÷Òª¼¯ÖÐÔÚ linux/drivers/usbϵÄusb.c, usb.hÖÐ
Ö÷ÒªÊý¾Ý½á¹¹·ÖÎö
Ö÷ÒªÓÐËĸöÊý¾Ý½á¹¹£¬·Ö±ðÊÇUSBÉ豸usb_device£¬±£´æÁËÒ»¸öUSBÉ豸µÄÐÅÏ¢£¬°üÀ¨É豸µØÖ·£¬É豸ÃèÊö·û£¬ÅäÖÃÃèÊö·û£¬µÈµÈ
USB×ÜÏßϵͳusb_bus£¬±£´æÁËÒ»¸öUSB×ÜÏßϵͳµÄÐÅÏ¢£¬°üÀ¨×ÜÏßÉÏÉ豸µØÖ·ÐÅÏ¢£¬¸ù¼¯Ï߯÷£¬´ø¿íʹÓÃÇé¿öµÈ¡£Ò»¸öUSB×ÜÏßϵͳ¿Ï¶¨ÓÐÒ»¸öÖ÷»ú¿ØÖÆÆ÷ºÍÒ»¸ö¸ù¼¯Ï߯÷¡£LinuxÖ§³Ö¶àUSB×ÜÏßϵͳ
¿Í»§¶ËÇý¶¯³ÌÐòusb_driver£¬±£´æÁ˿ͻ§Çý¶¯ÐÅÏ¢£¬°üÀ¨Çý¶¯Ãû³Æ£¬ÒÔ¼°Çý¶¯Ìṩ¸øUSBÄÚºËʹÓõĺ¯ÊýÖ¸ÕëµÈ
£¨USB Request Block£©urb£¬ÊǽøÐÐUSBͨÐŵÄÊý¾Ý½á¹¹¡£LinuxµÄUSB×ÓϵͳֻʹÓÃÕâôһÖÖÊý¾Ý½á¹¹À´½øÐÐUSBͨÐÅ£¬urb°üº¬Á˽¨Á¢ÈκΠUSB´«ÊäËùÐèµÄËùÓÐÐÅÏ¢£¬²¢¹á´©ÓÚUSBЭÒéÕ»¶ÔÊý¾Ý´¦ÀíµÄÕû¸ö¹ý³Ì¡£
ÏÂÃæÊǶԸ÷²¿·Ö½øÐÐÏêϸ·ÖÎö¡£
struct usb_device { //´ú±íÒ»¸öUSBÉ豸
int devnum; //·ÖÅäµÄÉ豸µØÖ·£¬1-127
enum {
USB_SPEED_UNKNOWN = 0, /* enumerating */
USB_SPEED_LOW, USB_SPEED_FULL, /* usb 1.1 */
USB_SPEED_HIGH /* usb 2.0 */
} speed; //É豸ËÙ¶È£¬µÍËÙ/È«ËÙ/¸ßËÙ
struct usb_device *tt; /* usb1.1 device on usb2.0 bus */£¬ÊÂÎñ´¦Àí½âÊÍÆ÷
int ttport; /* device/hub port on that tt */É豸ËùÁ¬½ÓµÄ¾ßÓÐÊÂÎñ´¦Àí½âÊÍÆ÷¹¦Äܵļ¯Ï߯÷¶Ë¿Ú
atomic_t refcnt; /* Reference count */ÒýÓüÆÊý
struct semaphore serialize; //ÓÃÓÚͬ²½
unsigned int toggle[2]; /* one bit for each endpoint ([0] = IN, [1] = OUT) */ÓÃÓÚͬ²½Çл»µÄλͼ£¬Ã¿¸ö¶ËµãÕ¼ÓÃ1룬[0]±íʾÊäÈ룬[1]Êä³ö
unsigned int halted[2]; /* endpoint halts; one bit per endpoint # & direction; [0] = IN, [1] = OUT */±íʾ¶ËµãÊÇ·ñ´¦ÓÚֹͣ״̬µÄλͼ
int epmaxpacketin


Ïà¹ØÎĵµ£º

[ת]linuxÖеĽṹÌåÓ÷¨


Ô­ÎĵØÖ·£ºhttp://blog.chinaunix.net/u2/74524/showart_1138735.html
ºÃ¶à´Î¿´Êé¡¢±à³ÌʱÓÖ¿´µ½Á˶ԽṹÌåÕâÖÖ¶¨ÒåµÄ·½·¨£¬È磺
struct file_operations scull_fops = {
.owner = THIS_MODULE,
.llseek = scull_llseek,
.read = scull_read,
.write = scull_write,
.ioctl = scull_ioctl,
.open ......

¹ØÓÚLinux²Ù×÷ϵͳϱðÃûµÄÉèÖÃ


linuxϵͳ¿ÉÒÔ°ÑһЩ³£ÓõÄÃüÁî×öÒ»¸ö¼ò¶ÌµÄ±ðÃû
 
alias tomcat£½"cd /usr/local/tomcat",µ«ÊÇÍ˳öϵͳºóÕâЩ±ðÃû¾ÍʧЧÁË£¬ÈçºÎ°Ñ±ðÃûдÈëÅäÖÃÎļþ£º
 
Ê×ÏÈÕÒµ½µÇ½µÄÓû§µÄÎļþ¼Ð£¬±ÈÈçROOTµÇ½µÄʱºò£¬ÔÚ/Ŀ¼Ï½øÈëROOTĿ¼±à¼­.bash_profileÎļþ
 
±ÈÈç¿ÉÒÔÕâÑù±à¼­£¨alias ÕâÁ ......

linux compiz fusion

from:
http://hi.baidu.com/godogood/blog/item/ab01875c1d1d2c45fbf2c033.html
ÎÒÃǾÍÀ´°²×°compiz fusion:
1¡¢µÃµ½Ãܳ×
´úÂë:
sudo wget http://download.tuxfamily.org/3v1deb/DD800CD9.gpg -O- | sudo apt-key add -
2¡¢Ìí¼ÓÔ´£º
´úÂë:
deb http://download.tuxfamily.org/3v1deb feisty eyecan ......

LinuxÈçºÎ±àÒë°²×°Ô´Âë°üÈí¼þ

Ò»¡¢Ê²Ã´ÊÇÔ´Âë°üÈí¼þ£»
¹ËÃû˼Ò壬ԴÂë°ü¾ÍÊÇÔ´´úÂëµÄ¿É¼ûµÄÈí¼þ°ü£¬»ùÓÚLinuxºÍBSDϵͳµÄÈí¼þ×î³£¼û£»ÔÚ¹úÄÚÔ´¿É¼ûµÄÈí¼þ¼¸ºõ¾ø¼££»´ó¶à¿ªÔ´Èí¼þ¶¼ÊǹúÍâ³öÆ·£»ÔÚ¹úÄÚ½ÏΪ³öÃûµÄ¿ªÔ´Èí¼þÓÐfcitx;lumaqq;Lumaqq¼°scimµÈ£»
µ«Èí¼þµÄÔ´´úÂë¿É¼û²¢²»µÈÓÚÈí¼þÊÇ¿ªÔ´µÄ£¬ÎÒÃÇ»¹ÒªÒÔÈí¼þµÄÐí¿ÉΪ׼£»±ÈÈçÓÐЩÈí¼þÊÇÔ´Âë¿É¼ûµÄ£ ......

linux aptitude ÃüÁî

aptitude Óë apt-get Ò»Ñù£¬ÊÇ Debian ¼°ÆäÑÜÉúϵͳÖй¦Äܼ«ÆäÇ¿´óµÄ°ü¹ÜÀí¹¤¾ß¡£
Óë apt-get
²»Í¬µÄÊÇ£¬aptitude ÔÚ´¦ÀíÒÀÀµÎÊÌâÉϸü¼ÑһЩ¡£
¾ÙÀýÀ´Ëµ£¬aptitude
ÔÚɾ³ýÒ»¸ö°üʱ£¬»áͬʱɾ³ý±¾ÉíËùÒÀÀµµÄ°ü¡£
ÕâÑù£¬ÏµÍ³Öв»»á²ÐÁôÎÞÓõİü£¬Õû¸öϵͳ¸üΪ¸É¾»¡£ÒÔÏÂÊDZÊÕß×ܽáµÄһЩ³£Óà aptitude
ÃüÁ½ö¹©²Î¿¼¡£ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ