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

LinuxÏÂUSB´ÓÉ豸ʹÓÃgadget API

Ò»¡¢USB´ÓÉ豸Çý¶¯½éÉÜ
USB×ÜÏßÉÏÖ÷ÒªÓÐÈýÀàÉ豸£ºÖ÷¿ØÖÆÆ÷£¨Host Controller£¬ such as
EHCI¡¢UHCI¡¢OHCI£©¡¢¼¯Ï߯÷£¨hub£©ºÍÉ豸£¨device£©¡£Host controller£¨HC£©¸ºÔð×ÜÏߵĹÜÀí
£¬
ÊÇ×ÜÏßµÄÖ¸»Ó¹Ù£¬×ÜÏßÉÏÒ»Çд«Êä¶¼ÊÇÓÉHC·¢ÆðµÄ£¬Ö§³ÖOTGµÄDeviceÒ²ÄÜ·¢Æð´«Ê䣻HubÊÇ×ÜÏߵĽڵ㣬ÓÃÀ´À©Õ¹×ÜÏßÉϿɽÓÈëÉ豸µÄÊýÁ¿£¬¶ÔÓÚÇý
¶¯À´ËµÊÇ͸Ã÷µÄ£»Device¾ÍÊǸ÷ÖÖ¸÷ÑùµÄÉ豸ÁË£¬Ã¿¸öÉ豸¶¼ÓÐ×Ô¼ºµÄ¹¦ÄÜ£¬±ÈÈçUÅÌ¡¢USBÉãÏñÍ·µÈµÈ¡£
LinuxÏÂÖ÷»ú¶ËUSBÉ豸µÄÇý¶¯£¨device driver£©±àдµÄ×ÊÁÏÓкܶ࣬LDD3ÖÐÓÐÏàÓ¦µÄ½éÉÜ¡£Ö÷ÒªÊÇͨ¹ýÄÚºËÖÐUSB
coreÕâ¸öÄ£¿éÓëÉ豸½»»¥¡£±¾ÎÄÖ»½éÉÜÔËÐÐLinuxµÄǶÈëʽUSBÉ豸Çý¶¯µÄ±àд¡£ÒòΪHost¶ËÒѾ­
ʹ
ÓÃÁËdevice driverÒ»´Ê£¬ÎªÁ˱ÜÃâ»ìÏý£¬Ê¹ÓÃUSB gadget driverÒ»´Î±íʾ´ÓÉ豸Çý¶¯¡£In USB protocol
interactions, the device driver is the master (or client driver) and the
gadget driver is the slave (or function driver).
Linux USB gadget driver API¶¨ÒåÁËÒ»¸öͨÓõÄgadget driverµÄ½Ó¿Ú£¬gadget
driverͨ¹ýAPIÓëµ×²ãUSB controller driverͨÐÅ¡£¸ÃAPIÆÁ±ÎÁ˵ײãÓ²¼þµÄ²»Í¬£¬Ê¹gadget
driver×¢ÖØ¹¦ÄܵÄʵÏÖ£¬¾¡Á¿ÓëÓ²¼þÎ޹ء£Slave¶ËϵͳµÄ¼Ü¹¹ÈçÏÂͼËùʾ£º
ÆäÖУ¬gadgetfsÌṩ¸øÓû§¿Õ¼ä³ÌÐòÖ±½ÓÓëUSB device controller½»»¥µÄÄÜÁ¦¡£
¶þ¡¢Ïà¹Ø×ÊÁÏ
USB gadget API LayerµÄÏà¹Ø×ÊÁÏ£º
1£® http://www.linux-usb.org/gadget/
2£® ÄÚºËÖÐ/KernelDoc/gadget/Ŀ¼ÏµÄÎĵµ
3£®×îÖØÒªµÄ¾ÍÊÇ/include/linux/usb_gadget.hÎļþ£¬¸ÃÎļþÖÐÓÐgadget
API½Ó¿ÚÊý¾Ý½á¹¹ºÍ·½·¨µÄÏêϸ¶¨Òå¼°×¢ÊÍ¡£
Gadget DriverµÄÀý×Ó£º
4£® ÄÚºË/drivers/usb/gadget/Ŀ¼ÏÂÓÐһЩgadget
driverµÄÀý×Ó£¬zero.cΪ×î¼òµ¥µÄÀý×Ó£¬file_storage.cÊÇ´æ´¢É豸µÄgadget driver¡£
Èý¡¢gadget API
ÒªÁ˽âgadget API£¬Ö»ÐèÒªÀí½âÍ·Îļþ£¨usb_gadget.h£©Öм¸¸öÖØÒªµÄÊý¾Ý½á¹¹¾Í¿ÉÒÔÁË¡£ÏêϸµÄ×ֶνéÉÜ¿´hÎļþ×¢ÊÍ¡£
£¨1£©
struct usb_gadget {
const struct usb_gadget_ops *ops;
struct usb_ep                *ep0;
struct list_head              ep_list;
enum usb_device_speed        speed;
unsigned  


Ïà¹ØÎĵµ£º

ʹÓÃDDD¿ª·¢ARM Linux³ÌÐò

ʹÓÃDDD+GDB¿ª·¢ARM Linux³ÌÐò
½ñÌìÓÖÈ¡µÃÁËһЩ½øÕ¹£¬¸Ï¿ìдÏÂÀ´ÒÔÃâ×Ô¼ºÍü¼Ç¡£
×Ô´ÓLinuxÔÚÎҵİå×ÓÉÏÅÜÆðÀ´Ö®ºó£¬ÎÒÒ»Ö±ÔÚÏëÒ»¸öÎÊÌ⣬Ôõôµ÷ÊÔ½«À´Ð´µÄ³ÌÐò¡£ÆäʵÎÒÔÚLinux¿ª·¢·½ÃæÕæµÃºÜÍâÐУ¬µ½Á˽ñÌì²ÅÖªµÀGDBµ½µ×ÊÇ ¸ÉʲôÓõģ¬ºÇºÇ¡£ÎÒÏàÐźܶàÈË´ÓBootloaderµ÷ÊÔ¿ªÊ¼Ò»Ö±¶¼Ê¹ÓÃLED°¡£¬printfÕâÑùµÄ·½·¨À´µ÷ÊÔ¡ ......

LinuxÏÂsamba·þÎñÆ÷µÄ¼ÜÉè

×î½üÔÚѧϰlinux ½ñÌì°Ñ¼ÜÉèlinux samba·þÎñÆ÷µÄ·½·¨Ð´³öÀ´ »¶Ó­´ó¼ÒÌÖÂÛºÍÖ¸µã
±¾»úÊÇÐéÄâ»úºÍwinxp½øÐвâÊÔ£¬ÐéÄâ»úµØÖ·ÊÇ192.168.1.144 Ö÷»úµØÖ·ÊÇ192.168.1.10.Á½ÕßÊÇ¿ÉÒÔ»¥Í¨µÄ¡£
Ê×ÏÈÎÒÃÇÏÈ×ölinuxϵÄÅäÖÃ
Ò». Ê×ÏÈҪȷ¶¨linuxÊÇ·ñ°²×°ÁËsmb
[root@localhost zy]#rpm -qa | grep samba
samba-2.2.5-10
samba-s ......

Linux²é¿´ÏµÍ³ÅäÖó£ÓÃÃüÁî

ϵͳ
# uname -a               # ²é¿´
ÄÚºË/²Ù×÷ϵͳ/CPUÐÅÏ¢
# head -n
1 /etc/issue   # ²é¿´
²Ù×÷ϵͳ°æ±¾
# cat /proc/cpuinfo      # ²é¿´
CPUÐÅÏ¢
#
hostname    &nb ......

linuxÍøÂçÉ豸Çý¶¯

ÍøÂçÉ豸½á¹¹Ì壺
struct sk_bufff{}
ËüµÄ¶¨ÒåÔÚlinux/skbuff.hÖÐ
sk_buff ÖÐÓÐÈý²¿·ÖЭÒéÍ··Ö±ðÃüÃûΪ¡°h,nh,mac¡±
h:Ϊ´«Êä²ãЭÒé(ICMP,IGMP)¡£
nh:ÎªÍøÂç²ãЭÒéÍ·¡£
mac:Á´Â·²ãЭÒéÍ·¡£ Èý¸öЭÒéÍ·ÊÇʹÓÃÁªºÏÌåµÄ£¬Ô­ÒòÊÇ£¬Ð­Òé±¾ÉíÊÇ»¥³âµÄ¡£ ½á¹¹ÌåµÄ¶¨Òå¿ÉÒÔ¿´Í·Îļþ»òÊÇ¡¶ÄÚºË ......

dzÎöLinuxÏÂcoreÎļþ

µ±ÎÒÃǵijÌÐò±ÀÀ£Ê±£¬ÄÚºËÓпÉÄܰѸóÌÐòµ±Ç°ÄÚ´æÓ³Éäµ½coreÎļþÀ·½±ã³ÌÐòÔ±ÕÒµ½³ÌÐò³öÏÖÎÊÌâµÄµØ·½¡£×î³£³ö
Ïֵ쬼¸ºõËùÓÐC³ÌÐòÔ±¶¼³öÏÖ¹ýµÄ´íÎó¾ÍÊÇ“¶Î´íÎó”ÁË¡£Ò²ÊÇ×îÄѲé³öÎÊÌâÔ­ÒòµÄÒ»¸ö´íÎó¡£ÏÂÃæÎÒÃǾÍÕë¶Ô“¶Î´íÎó”À´·ÖÎöcoreÎļþµÄ²úÉú¡¢ÒÔ¼°ÎÒÃÇ
ÈçºÎÀûÓÃcoreÎļþÕÒµ½³öÏÖ±ÀÀ£µÄµØ· ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ