LinuxÏÂUSB´ÓÉ豸ʹÓÃgadget API
LinuxÏÂUSB´ÓÉ豸ʹÓÃgadget API
[ÈÕÆÚ£º2007-12-27]
À´Ô´£ºLinux¹«Éç ×÷ÕߣºÎ°Î°
×î½üÔÚ×öLinuxÏÂUSB´ÓÉ豸µÄÇý¶¯£¬³ÌÐòдµÄ²î²»¶àÁË£¬×öÒ»¸öÕûÀíС½á¡£»¶Ó½»Á÷,ÈçÓдíÎóÇëÖ¸Õý,лл!--Jason
Ò»¡¢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_he
Ïà¹ØÎĵµ£º
×î½ü×°Á˼¸´Îlinux£¬Ñ§Á˺ܶ࣬°Ñ¹ý³ÌдÏÂÀ´ÁË£¬Ï£Íû¸ø¿´µÄÈ˰ïÖú£¬Ò²¶à¸øÐ©½¨Òé¡£
Ò»¡¢Ñ¡Ôñ×îС»¯°²×°£¨Ê²Ã´Ò²²»Ñ¡£¬µ«ÊÇ»¹ÊÇÑ¡ÁËvim£©
¶þ¡¢Ê¹ÓùâÅÌ×÷ΪԴ°²×°£¨ÏêÇé²Î¼û/etc/yum.repos.d/CentOS-Media.repo£©ËùÓÃÌ×¼þ£¨Ê¹ÓÃyumµÄÇ¿´ó¹¦ÄÜ£©
####²¢²»ÊǼòµ¥µÄÓÃyumÃüÁÐèÒªÔÚyumºóÃæ¼ÓһЩ¶«Î÷£¬/etc/yum.repo ......
¿ÉÒÔ½«Õâ¸ö½Å±¾·Å½øcrontab£¬ËûµÄÅäÖÆÎļþÔÚ /etc/crontabÖÐÿÌìÁ賿ִÐÐÒ»´Î£¬×Ô¶¯±¸·Ý Õâ¸ö½Å±¾Ã¿Ìì×î¶àÖ»Ö´ÐÐÒ»´Î£¬¶øÇÒÖ»±£Áô×î½üÎåÌìµÄ±¸·ÝÔÚ·þÎñÆ÷ÉÏ¡£
#!/bin/bash
#This is a ShellScript For Auto DB Backup
#Powered by aspbiz
#2004-09
#Setting
#ÉèÖÃÊý¾Ý¿âÃû£¬Êý¾Ý¿âµÇ¼Ãû£¬ÃÜÂ룬±¸·Ý·¾¶£¬ÈÕ־ ......
Linux Ö¸Áî´óÈ«
cat cd
chmod chown
cp cut
Ãû³Æ£ºcat
ʹÓÃȨÏÞ£ºËùÓÐʹÓÃÕß
ʹÓ÷½Ê½£ºcat [-AbeEnstTuv] [--help] [--version] fileName
˵Ã÷£º°Ñµµ°¸´®Á¬½Óºó´«µ½»ù±¾Êä³ö£¨Ó©Ä»»ò¼Ó > fileName µ½ÁíÒ»¸öµµ°¸£©
²ÎÊý£º
-n »ò --number ÓÉ 1 ¿ªÊ¼¶ÔËùÓÐÊä³öµÄÐÐÊý±àºÅ ......
·ÖÒ³»úÖÆ
·ÖÒ³»úÖÆµÄ×÷ÓÃ
¡¡¡¡·ÖÒ³»úÖÆÊÇÔڶλúÖÆÖ®ºó½øÐеģ¬Ëü½øÒ»²½½«ÏßÐÔµØÖ·×ª»»ÎªÎïÀíµØÖ·¡£
¡¡¡¡80386ʹÓÃ4K×Ö½Ú´óСµÄÒ³£¬ÇÒÿҳµÄÆðʼµØÖ·¶¼±»4KÕû³ý¡£Òò´Ë£¬80386°Ñ4GB×Ö½ÚÏßÐÔµØÖ·¿Õ¼ä»®·ÖΪ1M¸öÒ³Ãæ£¬²ÉÓÃÁËÁ½¼¶±í½á¹¹¡£
Á½¼¶Ò³±í
¡¡¡¡Á½¼¶±íµÄµÚÒ»¼¶±í³ÆÎªÒ³Ä¿Â¼£¬´æ´¢ÔÚÒ»¸ö4K×Ö½ÚµÄÒ³ÖУ¬Ò³Ä¿Â¼±í ......
linux Ï eclipseME ²å¼þµÄ°²×°²½Öè
×î½üÔÚlinuxÏÂ×÷¿ª·¢£¬²Î¿¼ÍøÂç×ÊÁÏ£¬³É¹¦½« eclipseME ²å¼þ°²×°ÖÁ eclipse¡£ÕâÀï¼Ç¼ÏÂÀ´£¬Ö»ÎªÁË·½±ã¸ü¶àµÄÈË£¡
±³¾°£º
linux£ºCentOS release 5.3 (Final)
jdk: jdk1.6.0_16
eclipse: eclipse-SDK-3.4.1-linux
²½Ö裺
Ò».ÏÂÔØ×îРWTK2.5.2 °ü 4linux
sun_java_wireless_too ......