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 ......
MYSQL°²×°
//½âѹ±àÒë°²×°
# tar xzvf mysql-5.0.27.tar.gz
# cd mysql-5.0.27
# ./configure -prefix=/home/redadmin/mysql
# make
# make install
# cd /home/redadmin/mysql/
# cp share/mysql/my-medium.cnf ./
# mv my-medium.cnf my.cnf
// my.confÎļþÐÞ¸Ä
# vi my.cnf
ÐÞ¸Äǰ£º
port &nb ......
Ê×ÏȽéÉÜһϠdiff ºÍ patch¡£ÔÚÕâÀï²»»á°Ñ man ÔÚÏßÎĵµÉÏËùÓеÄÑ¡Ïî¶¼½éÉÜÒ»ÏÂ,ÄÇÑùҲû
ÓбØÒª¡£ÔÚ 99%µÄʱ¼äÀï,ÎÒÃÇÖ»»áÓõ½¼¸¸öÑ¡Ïî¡£ËùÒÔ±ØÐëѧ»áÕ⼸¸öÑ¡Ïî¡£
1¡¢diff
--------------------
NAME
diff - find differences between two files
SYNOPSIS
diff [options] from- ......
ÎÒʹÓõÄÐéÄâ»úÊÇVMware£¬ÔÚÆäÉÏ×°µÄϵͳÊÇRed Hat Linux 9.0¡£ÔÚLinuxÉÏʹÓÃUÅÌÓëWindowsÏÂÓÐËùÇø±ð£¬ÐèÒªÏȹÒÔØ£¬µ±³ÉÎļþ·ÃÎÊ£¬ºó²ÅÄÜʹÓ㨲»¹ýÔÚUbuntuϺÃÏñ²»ÓùÒÔØ¾Í¿ÉÒÔÖ±½ÓʹÓã©¡£
Èç¹ûÏëÔÚÐéÄâ»úÉÏʹÓÃUÅÌ£¬ÓÐÒ»µãÐèҪעÒâµÄÊÇ£¬±ØÐë°ÑÐéÄâ´ò¿ª²¢ÇÒ²»ÄÜ´°¿Ú×îС»¯¡£·ñÔò£¬UÅÌ»á±»Ê ......
ÔÚlinuxºÍunix»·¾³ÖУ¬Ô´Âë°²×°ÊÇ×î³£ÓõÄÈí¼þ°²×°·½Ê½£¬Ò»Ð©Èí¼þ³ýÁËÌṩԴÂëÍ⣬ҲÌṩ¸÷ÖÖ·¢ÐаæµÄ¶þ½øÖư²×°°ü£¨Èç»ùÓÚredhat°ü¹ÜÀí¹¤¾ßµÄrpm°ü£©£¬µ«Ç¿ÁÒ½¨ÒéʹÓÃÔ´Âë°²×°·½Ê½¡£ÔÒòÊÇ£º£¨1£©Ã»ÓÐÀàËÆrpmÄÇÑùÈÃÈËÄÕ»ðµÄ°üÒÀÀµ¹ØÏµ£¬£¨2£©Ô´Âë°²×°Áé»î×ÔÓÉ£¬ÊÊÓÃÓÚ²» ......