LinuxÏÂUSBÉãÏñÍ·Çý¶¯¿ª·¢(ת)
http://blog.csdn.net/youta_chen/archive/2007/08/29/1763215.aspx
½ñÄêÉϰëÄêÎÒ¶ÔÊг¡³£¼ûµÄvimicro ÉãÏñÍ·ÒÆÖ²ÁËLinuxϵÄÇý¶¯ÖÁÔÚÑеÄÒ»¿îǶÈëʽ¿ª·¢°å£¬¿ª·¢»·¾³Îª£º
OS:Linux2.6.9
Compile:cross 3.3.2
CPU:Intel PXA270
Camera Type :Vimicro ZC301P +HV7131R
ʹÓõÄÇý¶¯Ô´Âë»ùÓÚ×ÔÓÉÈí¼þspca5xx¡£»ùÓÚÔ´Âë×÷ÁËЩС¸Ä¶¯¡£¼Ç¼һÏ¡£
LinuxϵÄUSBÇý¶¯¼Ü¹¹
LinuxÏÂÍêÕûµÄUSBÇý¶¯³ÌÐò±ØÐë°üÀ¨3¸öÄ£¿é£ºUSB core£¬USB Ö÷¿ØÖÆÆ÷Çý¶¯£¬USBÉ豸Çý¶¯¡£ÈýÕߵĹØÏµÈçÏ£º
ÆäÖУº
Linux Core·â×°ÁËÖ§³ÖUSBÖ÷¿ØÖÆÆ÷ºÍUSBÉ豸Çý¶¯µÄAPI£¬Í¨¹ýһϵÁеÄÊý¾Ý½á¹¹¡¢ºê¡¢º¯ÊýÀ´³éÏó»¯É豸Ӳ¼þ²¢ÑÚ±ÎÓ²¼þ¾ßÌåϸ½Ú£¬Ê¹µÃLinuxϵͳ¶ÔUSBÉ豸µÄ·ÃÎʲÉÓÃÈçͬһ°ãÎļþ·ÃÎÊÀàËÆµÄ½Ó¿Úº¯Êý£¬Èç´ËʵÏÖÁËÓ²¼þÎ޹ء£“É豸¼´ÊÇÎļþ”¡£
USB HC£¨Host Controller£©È«Ã渺ÔðÖ÷»ú¶Ë¶ÔUSBµÄÐÅÏ¢´«Êä·Ö¹¤£¬¶ÔÏÂ×¢²á¹¦ÄܺÍÏà¹ØÊý¾Ý½á¹¹£»¶ÔÉÏÌṩÁËÉ豸Çý¶¯ÓëUSB CoreÊý¾Ý´«ÊäµÄÇÅÁº¡£USBÉϵÄʵʱÁ÷Êý¾Ý´«Êäͨ³£Í¨¹ýURB£¨USB Request Block£©µÄÊý¾Ý½á¹¹ÊµÏÖ£¬Ã¿Ò»´ÎÊý¾Ý´«ÊäÖУ¬É豸Çý¶¯½¨Á¢URB£¬Ìá½»¸øUSB HC£¬USB HC¸ºÔðÍê³É´Ë´ÎÓëÉ豸¶ËµÄURB½»»¥¡£
USBÇý¶¯³ÌÐòµÄ½á¹¹
struct usb_driver spca5xx_driver
struct video_device spca50x_template
struct file_operations spca5xx_fops
Ä£¿é³õʼ»¯ÓëÐ¶ÔØ
spca5xx_init()Ä£¿é³õʼ»¯£»spca5xx_disconnect()Ä£¿éÐ¶ÔØ£»spca5xx_probe() ÎïÀíÉ豸²éÕÒ¡¢Æ¥Åä¡¢ÅäÖ㬲¢ÏòÄÚºË×¢²ávideoÉ豸¡£
ϵͳµ÷ÓýӿÚ
spca5xx_open()Íê³ÉÉ豸µÄ´ò¿ªºÍ³õʼ»¯£¬²¢³õʼ»¯½âÂëÆ÷Ä£¿é£¬spca5xx_close()Íê³ÉÉ豸µÄ¹Ø±Õ£»
spca5xx_read()Íê³ÉÊý¾ÝµÄ¶ÁÈ¡£¬ÆäÖ÷ÒªµÄ¹¤×÷¾ÍÊǽ«Êý¾ÝÓÉÄں˿ռ䴫Ë͵½½ø³ÌÓû§¿Õ¼ä£»
spca5xx_mmap()ʵÏÖ½«É豸ÄÚ´æÓ³Éäµ½Óû§½ø³ÌµÄµØÖ·¿Õ¼äµÄ¹¦ÄÜ£»
spca5xx_ioctl()ʵÏÖÎļþÐÅÏ¢µÄ»ñÈ¡¹¦ÄÜ¡£
Êý¾Ý´«Êä
spca50x_reg_write
ÉãÏñÍ·Êý¾Ý´«Êä¹ý³Ì
USB×ÜÏßÉÏÐÅÏ¢´«ÊäÀàÐͿɷֳɿØÖÆ¡¢Öжϡ¢µÈʱ¡¢³É¿éËÄÖÖ£ºÆäÖпØÖÆÐÍÖ÷ÒªÓÃÓÚÉ豸µÄ“ÅäÖÔÓë¿ØÖÆ£»ÖжÏÐÍÖ÷ÒªÓÃÓÚÖ÷»ú¶ÔUSBÉ豸µÄÖÜÆÚÐÔ²éѯ£»ÊµÊ±ÐÔʹÓÃÓëʵʱµÄÒôÊÓÆµÐźŴ«Ê䣻³É¿éÐÍÓÃÓÚÐÅÏ¢Á¿´ó£¬Ã»ÓкÜÇ¿µÄʱ¼äÒªÇ󣬵«ÒªÇó¿É¿¿´«µÝµÄÓ¦Ó᣶ÔÉãÏñÍ·¶øÑÔ£¬Í¨³£²ÉÓõÄÊÇʵʱ´«Êä¡£USBÉ豸¶ËÌṩÈô¸ÉͨÐŶ˿ڣ¨port£©£¬Ö÷»úÓë¶Ë¿Ú¼ä½¨Á¢ÆðÂß¼É
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
×÷ÕߣºSam£¨Õç·å£© sam_cdoe@hotmail.com
1.´´½¨thread.
int pthread_create(pthread_t *restrict thread, const pthread_attr_t *restrict attr,
void *(*start_routine)(void*), void *restrict arg);
²ÎÊý1£ºpthread_t *restrict t ......
linux ´ò°üÃüÁîtar£º
tar cvf my.tar file1 // µ¥¸öÎļþ
tar cvf my.tar file1 file2 .. // ¶à¸öÎļþ
tar cvf my.tar dir1 // µ¥¸öĿ¼
tar cvf my.tar dir1 dir2 .. // ¶à¸öĿ¼
ÒÔÉϽö´ò°ü²¢ÎÞѹËõ¡£
²ÎÊý£º
-c £º½¨Á¢Ò»¸öѹËõÎļþµÄ²ÎÊýÖ¸Áî(create µÄÒâ˼)£»
-x £º½â¿ªÒ»¸öѹËõÎļþµÄ²ÎÊýÖ¸Á
- ......
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
ÔÚÒÆ¶¯Ó²ÅÌÓëÓ²ÅÌÖ®¼ä¡¢±¾µØÓëÍøÂ磨FTP£¬SSHµÈ£©Ö®¼ä±¸·ÝÊý¾Ý¡¢Í¬²½Îļþ¼ÐµÄÐèÇó¶ÔÓÚLinuxÓû§ÊǺܳ£¼ûµÄ¡£ÔÚWindowsÖУ¬ÓÐTotal CommanderµÈ¹¤¾ßͬ²½Îļþ¼ÐµÄ¹¦ÄܺÜÇ¿´ó£¬ÄÇôLinuxÖÐÓÐÄÄЩͬ²½Îļþ¼ÐµÄÈí¼þÄØ£¿
rsyncºÍgrsync
grsyncµÄ½ØÍ¼
rsyncÊÇLinuxÖÐÖØÒªµÄÎļþͬ²½¹¤¾ß£¬Ö§³Ö±¾µØºÍÔ¶³ÌµÄÎļþͬ²½¹¤¾ß£¬¶øgrs ......