Linux USB gadgetÉ豸Çý¶¯½âÎö£¨2£© Çý¶¯µ÷ÊÔ
±¾ÎÄÖ÷Òª°ÑÔÚʵÏÖ“linuxÄ£ÄâUÅ̹¦ÄÜ”¹ý³ÌÖеÄһЩµ÷ÊÔ¹ý³Ì¼Ç¼ÏÂÀ´£¬²¢¼ÓÒÔ½âÎö¡£
Ò»¡¢±³¾°ÖªÊ¶
1¡¢USB Mass StorageÀà¹æ·¶¸ÅÊö
USB ×éÖ¯ÔÚuniversal Serial Bus Mass Storage Class
Spaceification 1.1°æ±¾Öж¨ÒåÁ˺£Á¿´æ´¢É豸ÀࣨMass Storage Class£©µÄ¹æ·¶£¬Õâ¸öÀà¹æ·¶°üÀ¨Ëĸö
¶ÀÁ¢µÄ×ÓÀà¹æ·¶£¬¼´£º
1. USB Mass Storage Class Control/Bulk/Interrupt (CBI)
Transport
2.USB Mass Storage Class Bulk-Only Transport
3.USB Mass Storage Class ATA Command Block
4.USB Mass Storage Class UFI Command Specification
ǰÁ½¸ö×ӹ淶¶¨ÒåÁËÊý¾Ý/ÃüÁî/״̬ÔÚUSB ÉϵĴ«Êä·½·¨¡£Bulk- Only ´«Ê乿·¶½ö½öʹÓÃBulk
¶Ëµã´«ËÍÊý¾Ý/ÃüÁî/״̬£¬CBI ´«Ê乿·¶ÔòʹÓÃControl/Bulk/Interrupt
ÈýÖÖÀàÐÍµÄ¶Ëµã½øÐÐÊý¾Ý/ÃüÁî/״̬´«ËÍ¡£ºóÁ½¸ö×ӹ淶Ôò¶¨ÒåÁË´æ´¢½éÖʵIJÙ×÷ÃüÁî¡£ATA ÃüÁî¹æ·¶ÓÃÓÚÓ²ÅÌ£¬UFI ÃüÁî¹æ·¶ÊÇÕë¶ÔUSB
ÒÆ¶¯´æ´¢¡£
Microsoft Windows ÖÐÌṩ¶ÔMass Storage ÐÒéµÄÖ§³Ö£¬Òò´ËUSB ÒÆ¶¯É豸ֻÐèÒª×ñÑ
Mass Storage ÐÒéÀ´×éÖ¯Êý¾ÝºÍ´¦ÀíÃüÁ¼´¿ÉʵÏÖÓëPC »ú½»»»Êý¾Ý¡£¶øFlash µÄ´æ´¢µ¥Ôª×éÖ¯ÐÎʽ²ÉÓÃFAT16
Îļþϵͳ£¬ÕâÑù£¬¾Í¿ÉÒÔÖ±½ÓÔÚWindowsµÄä¯ÀÀÆ÷ÖÐͨ¹ý¿ÉÒÆ¶¯´ÅÅÌÀ´½»»»Êý¾ÝÁË£¬Windows ¸ºÔð¶ÔFAT16 ÎļþϵͳµÄ¹ÜÀí£¬USB
É豸²»ÐèÒª¸ÉÔ¤FAT16 Îļþϵͳ²Ù×÷µÄ¾ßÌåϸ½Ú¡£
USB£¨Host£©Î¨Ò»Í¨¹ýÃèÊö·ûÁ˽âÉ豸µÄÓйØÐÅÏ¢£¬¸ù¾ÝÕâЩÐÅÏ¢£¬½¨Á¢ÆðͨÐÅ£¬ÔÚÕâ
ЩÃèÊö·ûÖУ¬¹æ¶¨ÁËÉ豸ËùʹÓõÄÐÒé¡¢¶ËµãÇé¿öµÈ¡£Òò´Ë£¬ÕýÈ·µØÌṩÃèÊö·û£¬ÊÇUSB
É豸Õý³£¹¤×÷µÄÏȾöÌõ¼þ¡£
Linux-2.6.26ÄÚºËÖÐÔÚÀûÓÃUSB
gadgetÇý¶¯ÊµÏÖÄ£ÄâUÅÌʱÖ÷񻃾¼°µ½file_storage.c¡¢s3c2410_udc.cµÈÇý
Ïà¹ØÎĵµ£º
ÔÚǶÈëʽLinuxÖУ¬´®¿ÚÊÇÒ»¸ö×ÖÉ豸£¬·ÃÎʾßÌåµÄ´®Ðж˿ڵıà³ÌÓë¶Á£¯Ð´ÎļþµÄ²Ù×÷ÀàËÆ£¬Ö»Ðè´ò¿ªÏàÓ¦µÄÉ豸Îļþ¼´¿É²Ù×÷¡£´®¿Ú±à³ÌÌØÊâÔÚÓÚ´®¿ÚͨÐÅʱÏà¹Ø²ÎÊýÓëÊôÐÔµÄÉèÖá£Ç¶ÈëʽLinuxµÄ´®¿Ú±à³ÌʱӦעÒ⣬ÈôÔÚ¸ùÎļþÖÐûÓд®¿ÚÉ豸Îļþ£¬Ó¦Ê¹ÓÃmknodÃüÁî´´½¨£¬ÕâÕâÀï¼ÙÉè´®¿ÚÉ豸ÊÇ/dev/ttyS0£¬½éÉÜһϴ®¿ÚµÄ±à³Ì¹ý³Ì¡ ......
LinuxÏÂÅäÖþ²Ì¬IPµØÖ·£¬ÉèÖÃDNSºÍÖ÷»úÃû
ÅäÖÃÎļþλÓÚ£º
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.3
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
ʹ
IPµØÖ·ÉúЧ£º
/sbin/ifdown eth0
/sbin/ifup eth0
Ö÷»úÃûÅäÖÃ /etc/sysconfig/network
NETWO ......
ÍøÂçÉ豸½á¹¹Ì壺
struct sk_bufff{}
ËüµÄ¶¨ÒåÔÚlinux/skbuff.hÖÐ
sk_buff ÖÐÓÐÈý²¿·ÖÐÒéÍ··Ö±ðÃüÃûΪ¡°h,nh,mac¡±
h:Ϊ´«Êä²ãÐÒé(ICMP,IGMP)¡£
nh:ÎªÍøÂç²ãÐÒéÍ·¡£
mac:Á´Â·²ãÐÒéÍ·¡£ Èý¸öÐÒéÍ·ÊÇʹÓÃÁªºÏÌåµÄ£¬ÔÒòÊÇ£¬ÐÒé±¾ÉíÊÇ»¥³âµÄ¡£ ½á¹¹ÌåµÄ¶¨Òå¿ÉÒÔ¿´Í·Îļþ»òÊÇ¡¶ÄÚºË ......
Ò»¡¢USB´ÓÉ豸Çý¶¯½éÉÜ
USB×ÜÏßÉÏÖ÷ÒªÓÐÈýÀàÉ豸£ºÖ÷¿ØÖÆÆ÷£¨Host Controller£¬ such as
EHCI¡¢UHCI¡¢OHCI£©¡¢¼¯Ï߯÷£¨hub£©ºÍÉ豸£¨device£©¡£Host controller£¨HC£©¸ºÔð×ÜÏߵĹÜÀí
£¬
ÊÇ×ÜÏßµÄÖ¸»Ó¹Ù£¬×ÜÏßÉÏÒ»Çд«Êä¶¼ÊÇÓÉHC·¢ÆðµÄ£¬Ö§³ÖOTGµÄDeviceÒ²ÄÜ·¢Æð´«Ê䣻HubÊÇ×ÜÏߵĽڵ㣬ÓÃÀ´À©Õ¹×ÜÏßÉϿɽÓÈëÉ豸µÄÊýÁ¿ ......