LINUXÏÂUSB1.1É豸ѧϰС¼Ç(1)
ÏÖÔÚÔݶ¨µÄѧϰĿ±êΪһ¸öUSBÊó±êµÄÉ豸µ½Ö÷»úµÄ´«Êä¹ý³ÌÈí¼þÉϵĹᴩ(»áÉæ¼°µ½²¿·ÖÓ²¼þ µ«ÊDZ¾È˵ĵçµç·֪ʶÓÐÏÞ Éæ¼°µÄÁ¿²»»á¶à)
ѧϰµÄ¿ò¼ÜÈçÏÂ:
1. USB1.1ÐÒé
A. ¿ØÖÆ´«Êä
B. Öжϴ«Êä
2. USBÖ÷»ú
A. LINUX쵀UHCI
3. USBÉ豸
A.·ÉÀûÆÖµÄPDIUSBD12
4. HIDÐÒé
A.Êó±ê²¿·Ö
5. USBÖ÷»úµÄHIDÇý¶¯³ÌÐò
A.Êó±ê²¿·Ö
6. LINUXµÄINPUT×Óϵͳ
A.Êó±ê²¿·Ö
ÔÚÕâÀï¼ò¶Ì˵һÏÂΪʲô»áÓÐUSBÐÒéµÄµ®Éú~
Ò»·½Ãæ,ÔÚµçÄÔÉÏ¿ÉÒÔ¿´¶àºÜ¶àµÄ²å¿Ú,ÀýÈçPS/2,Íø¿Ú,VGA,DVI,²¢¿Ú,´òÓ¡»ú²¢¿Ú
USBÉ豸Ö÷ҪΪÁËͳºÏÕâЩÈÕÒæÔö¶àµÄ²å¿Ú¶øµ®ÉúµÄ
ÁíÒ»·½Ãæ,²¢¿ÚµÄ´«ÊäËæ×żÆËã»úÊý¾ÝÁ÷Á¿µÄ·¢Õ¹¶øÏÔµÃÁ¦²»´ÓÐÄ,²¢¿Ú,·ºÖ¸Ê¹ÓÃÈô¸É¸öÊý¾Ýλ½øÐд«ÊäµÄÉ豸,ÔÚ¼ÆËã»úÖÐÐźŵĴ«ÊäÖ»ÓÐ1ºÍ0Á½ÖÖÐźÅ,ÄØÃ´Ò»´Î´«ÊäÊý¾ÝµÄ´óСºÍÊý¾ÝλµÄ¹ØÏµ¾ÍÊÇ2x ¸öbit,µ±ÓÐ3¸öÊý¾ÝλµÄʱºò¾ÍÊÇ23λ,Ò²¾ÍÊÇ8¸öbit,Ò»¸ö×Ö½Ú,ΪÁËÔö¼ÓÊý¾ÝÁ÷Á¿,»áÔö´óÊý¾ÝλµÄλÊý»òÕßÔö´óƵÂÊ
¿ÉÒÔ¿´¿´IDEÓ²Å̵ÄÊý¾ÝÏß
ÃÜÃÜÂéÂéµÄÅÅÁ˶àÉÙÊý¾ÝÏß,ÿ¸ùÊý¾ÝÏß¾ÍÊÇÒ»¸öÊý¾Ýλ
²¢¿Ú´«ÊäµÄÒ»¸öÌØÕ÷¾ÍÊÇÊý¾ÝÒ»¶¨ÒªÒ»Æðµ½´ï,ÕâÑù²Å²»»á³ö´í,µ«µ±ÆµÂʺÍÊý¾ÝλÔö´óʱ,ÏÖÔÚµÄµçÆø¼¼ÊõÎÞ·¨½â¾öÐźÅÒ»Æðµ½´ïµÄÎÊÌâ,ËùÒÔ¿ªÊ¼×ªÏòÑо¿´®¿Ú´«Êä
ʲôÊÇ´®¿Ú´«ÊäÄØ? »Á˸öͼºÍ²¢¿Ú´«Êä±È½ÏÒ»ÏÂ
×ó±ßµÄÊÇ´®¿Ú´«Êä,ÓұߵÄÊDz¢¿Ú´«Êä
¿ÉÒÔ¿´³ö²¢¿Ú´«ÊäÊÇÿ¸öλһ¸ùÊý¾ÝÏß,²¢ÆðÀ´´«Êä,¶ø´®¿Ú´«ÊäÊÇËùÓеÄλ¹²ÏíÒ»¸ùÊý¾ÝÏß
¶øUSBµÄ×ܳÆÊÇUniversal Serial Bus~ Ò²¾ÍÊÇ Í¨Óô®ÐÐ×ÜÏß
Õâ¸öÐÒéµÄ¾ßÌåÄÚÈÝÒ²¾ÍÊǹ淶ÁË´®Ðд«ÊäÖеÄÐźŸñʽºÍÈçºÎʹÓÃÕâЩÐźÅ
= 3= ×ªÔØÇë×¢Ã÷ת×Ô¸öÈËBLOG http://blog.chinaunix.net/u1/57901/
Ïà¹ØÎĵµ£º
ÈËÎïר·Ã£ººËÐĺڿÍϵÁÐÖ®Ò»Robert Love ÿ¸öÐÇÆÚ£¬ÎÒÃǶ¼²É·ÃÒ»¸öÄں˱àдÉçÇøµÄÈË£¬ËäÈ»ÕâÑùµÄ²É·Ã»áºÜ²àÖØ¼¼Êõ£¬µ«ÊÇÎÒÃǵÄÁ¢×ãµãÊÇΪÁËÈÃËùÓÐÈ˶¼ÄܽÓÊÜ¡£±¾ÖÜÎÒÃDzɷÃÁËRobert Love£¬ÏÖÔÚËûÕýÔÚά»¤“¿ÉÇÀÕ¼Äں˔µÄÉý¼¶°üºÍÆäËûһЩÊ¡£ËûʹÓÃLinuxÒѾ7ÄêÁË£¬¶ÔÓÚÏÖÔÚµÄÄÚºËÓкܶ๱Ïס£ËùÓÐÕâЩ×îºóÓÃËû× ......
ÔÚÏÖÐеÄlinux·¢²¼°æ±¾ÖУ¬Èí¼þ°ü¹ÜÀí¹¤¾ßʹÓÃ×î¶àµÄÊÇrpmºÍdpkg,µ«ÊÇÕâÁ½Õß¶¼²»Äܽâ¾öÈí¼þÖ®¼äµÄÒÀÀµ¹ØÏµ£¬ËùÒÔÓÖÓÐÁËyumºÍapt£¬yumÆäʵÊǶÔrpmµÄ·â×°£¬¶øaptÊǶÔdkpgµÄ·â×°£¬Á½Õß¶¼ÔÚ·â×°µÄͬʱ£¬ºÜºÃµÄ½â¾öÁËÈí¼þÒÀÀµÎÊÌ⣬ʹÓÃÆðÀ´·Ç³£·½±ã¡£ÏÂÃæÊÇһЩÈí¼þ¹ÜÀí³£ÓõÄÃüÁ
¸üÐÂÈí¼þÁÐ±í£º
......
0.11ºËÖнø³ÌµÄµ÷¶ÈÖ÷ÒªÓÉËĸö²¿·ÖÊý×é³É£ºµ÷¶È³õʼ»¯¡¢µ÷¶È¡¢Ë¯Ãß¡¢»½ÐÑ¡£
Ò»¡¢µ÷¶È³õʼ»¯:sched_init()
ÎÒÃÇÖªµÀÔÚÄں˳õʼ»¯£¨main£©¹ý³ÌÖУ¬Òª½«ÈÎÎñ0ת»»µ½Óû§Ì¬ÏÂÖ´ÐУ¬Ò²¾ÍÊǽ¨Á¢LinuxÖеĵÚÒ»¸öÓû§³ÌÐò¡£¼ÈÈ»ÈÎÎñ0֮ǰÊÇÔÚÄÚºË̬ÏÂÖ´Ðе ......
ÏÈÊÇÄÚºËÇý¶¯³ÌÐò£º
#include <linux/module.h>//¾ßÌåµÄÍ·ÎļþλÖÃΪ/opt/FriendlyARM/mini2440/linux-2.6.29/include/linux/*.h
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/poll.h>
#include <l ......
usb_hcd_omap_probe (const struct hc_driver *driver) (dev/ohci/ohci-omap.c)
ÔÚÄ£¿é³õʼ»¯Ê±±»platform_driver_register()µ÷Óã¬ÓÃÀ´³õʼ»¯Óëohci_hcd_omap_driver
ÏàÆ¥ÅäµÄusbÖ÷¿ØÖÆÆ÷.
->usb_create_hcd(driver); ´´½¨Ò»¸ö´ú±íhost-controllerµÄÊý¾Ý½á¹¹(struct usb_hcd)²¢³õʼ»¯ core/hcd.h
->hcd = kz ......