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Ï»·¾³°²×°ÅäÖÃRose HAÈ«¹¥ÂÔ(ͼ)
Ò».°²×°Rose HA
ÈçºÎÔÚLinux»·¾³Ï°²×°Rose HA¡£±¾ÎļÙÉè»·¾³ÎªLinux²Ù×÷ϵͳ£¬²ÉÓÃ9.2°æ±¾µÄoracleÊý¾Ý¿â¡£ÏÂÃæÎÒÃÇ¿´¿´£¬ÔÚLinux Oracle»·¾³ÏÂÈçºÎ°²×°ºÍÅäÖÃRose HA¡£
Ê×ÏȽ«¹âÅ̷Žø¹âÇý
A £º ÔÚ¹¤×÷»úÉϽ«×ÊÔ´Ò»Ò»µãÖУ¬Ê¹×ÊÔ´´¦ÓÚ¸ßÁÁ× ......
Ê×ÏÈÎÒÃÇÐèÒªÁ˽âlinux
ÏÂÓ²Á´½ÓÒÔ¼°ÈíÁ¬½ÓµÄ»ù±¾¸ÅÄî.
Ó²Á´½Ó£ºÐ½¨µÄÎļþÊÇÒѾ´æÔÚµÄÎļþµÄÒ»¸ö±ðÃû£¬µ±ÔÎļþɾ³ýʱ£¬Ð½¨µÄÎļþÈÔÈ»¿ÉÒÔʹÓÃ.
ÈíÁ´½Ó£ºÒ²³ÆÎª·ûºÅÁ´½Ó£¬Ð½¨µÄÎļþÒÔ“
·¾¶”
µÄÐÎʽÀ´±íʾÁíÒ»¸öÎļþ£¬ºÍWindows
µÄ¿ì½Ý·½Ê½Ê®·ÖÏàËÆ£¬Ð½¨µÄÈíÁ´½Ó¿ÉÒÔÖ¸Ïò²»´æÔÚµÄÎļþ.
ÏÂÃæÏêϸ½ ......
ϵͳ
# uname -a # ²é¿´
ÄÚºË/²Ù×÷ϵͳ/CPUÐÅÏ¢
# head -n
1 /etc/issue # ²é¿´
²Ù×÷ϵͳ°æ±¾
# cat /proc/cpuinfo # ²é¿´
CPUÐÅÏ¢
#
hostname &nb ......
ÍøÂçÉ豸½á¹¹Ì壺
struct sk_bufff{}
ËüµÄ¶¨ÒåÔÚlinux/skbuff.hÖÐ
sk_buff ÖÐÓÐÈý²¿·ÖÐÒéÍ··Ö±ðÃüÃûΪ¡°h,nh,mac¡±
h:Ϊ´«Êä²ãÐÒé(ICMP,IGMP)¡£
nh:ÎªÍøÂç²ãÐÒéÍ·¡£
mac:Á´Â·²ãÐÒéÍ·¡£ Èý¸öÐÒéÍ·ÊÇʹÓÃÁªºÏÌåµÄ£¬ÔÒòÊÇ£¬ÐÒé±¾ÉíÊÇ»¥³âµÄ¡£ ½á¹¹ÌåµÄ¶¨Òå¿ÉÒÔ¿´Í·Îļþ»òÊÇ¡¶ÄÚºË ......
ÔÚ32λƽ̨ÉϱàÒ붯̬¿âûÓÐɶÎÊÌ⣬Äõ½x86_64λƽ̨ÉϱàÒëʱ³öÏÖÁËÎÊÌâ¡£
relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
ÕÕ×ÅÌáʾ±àÒë´úÂëµÄʱºò¼ÓÈë -fPICÑ¡Ïî¾Íok.
......