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ÏÂÅäÖþ²Ì¬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 ......
Ê×ÏÈÎÒÃÇÐèÒªÁ˽âlinux
ÏÂÓ²Á´½ÓÒÔ¼°ÈíÁ¬½ÓµÄ»ù±¾¸ÅÄî.
Ó²Á´½Ó£ºÐ½¨µÄÎļþÊÇÒѾ´æÔÚµÄÎļþµÄÒ»¸ö±ðÃû£¬µ±ÔÎļþɾ³ýʱ£¬Ð½¨µÄÎļþÈÔÈ»¿ÉÒÔʹÓÃ.
ÈíÁ´½Ó£ºÒ²³ÆÎª·ûºÅÁ´½Ó£¬Ð½¨µÄÎļþÒÔ“
·¾¶”
µÄÐÎʽÀ´±íʾÁíÒ»¸öÎļþ£¬ºÍWindows
µÄ¿ì½Ý·½Ê½Ê®·ÖÏàËÆ£¬Ð½¨µÄÈíÁ´½Ó¿ÉÒÔÖ¸Ïò²»´æÔÚµÄÎļþ.
ÏÂÃæÏêϸ½ ......
½ñÌìµÄÊÂÌ«¶à£¬Ã»ÓÐÈÏÕæµÄÍê³ÉÈÎÎñ£¬²»¹ý°Ñ·þÎñÆ÷¶ËµÄÎļþ´«Êä×öºÃÁË£¡
Ã÷Ìì°Ñ·þÎñÆ÷¶ËµÄ´úÂ뼯³ÉÆðÀ´²âÊÔһϣ¬²¢°ÑÍøÂç¿Í»§¶Ë³ÌÐò×öºÃ£¡
°Ñ´úÂëÌù³öÀ´°É£¡±ãÓÚ±£´æ£¡
Í·Îļþ£ºserver_udpsocket.h
#ifndef _SERVER_UDPSOCKET_H_
#define _SERVER_UDPSOCKET_H_
#include <stdio.h>
#include <stdlib.h>
......
ϵͳ
# uname -a # ²é¿´
ÄÚºË/²Ù×÷ϵͳ/CPUÐÅÏ¢
# head -n
1 /etc/issue # ²é¿´
²Ù×÷ϵͳ°æ±¾
# cat /proc/cpuinfo # ²é¿´
CPUÐÅÏ¢
#
hostname &nb ......
Ò»ÔçÉ϶¼ÊÇŪÔÚLINUXϹÒÔØusb£¬ºÜÎÞÓ¼¸ºõÕÒ±éÁËËùÓÐÍøÉÏÈ˼ҽéÉܵķ½·¨£¬¿É¶ÔÓÚÒ»¸öÐÂÊÖÀ´Ëµ£¬ËûÃÇ´ó¶¼½²µÄ²»Çå³þ²»³þ£¬×îºó»¹ÊǾõµÃÕâ¸ö±È½Ï·½·¨±È½Ï³É¹¦£¬ËùÒÔÌù³öÀ´´ó¼Ò·ÖÏí£¬Ëµ²»¶¨ÒÔºó»¹ÄÜÓõõ½
1.USBÒÆ¶¯´æ´¢É豸ͨ³£±»Ê¶±ðΪsda1£¬¾ßÌå¿ÉÒÔͨ¹ýfdisk -lÃüÁî²éѯ¡£Ò»°ãÍâ¹ÒµãµÄ×ÓĿ¼¶¼Êǽ¨Á¢ÔÚ/mntÀïÃæµÄ ʹÓà ......