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

Linux Platform Device and Driver

    
´Ó
Linux 2.6
ÆðÒýÈëÁËÒ»Ì×еÄÇý¶¯¹ÜÀíºÍ×¢²á»úÖÆ :Platform_device
ºÍ Platform_driver
¡£
     Linux
Öд󲿷ֵÄÉ豸Çý¶¯£¬¶¼¿ÉÒÔʹÓÃÕâÌ×»úÖÆ ,
É豸ÓÃ
Platform_device
±íʾ£¬Çý¶¯ÓÃ
Platform_driver
½øÐÐ×¢²á¡£

     Linux platform driver
»úÖÆºÍ´«Í³µÄ device driver
»úÖÆ (
ͨ¹ý driver_register
º¯Êý½øÐÐ×¢²á )
Ïà±È£¬Ò»¸öÊ®·ÖÃ÷ÏÔµÄÓÅÊÆÔÚÓÚ
platform
»úÖÆ½«É豸±¾ÉíµÄ×ÊÔ´×¢²á½øÄںˣ¬ÓÉÄÚºËͳһ¹ÜÀí£¬ÔÚÇý¶¯³ÌÐòÖÐʹÓÃÕâЩ×ÊԴʱͨ¹ý platform device
ÌṩµÄ±ê×¼½Ó¿Ú½øÐÐÉêÇ벢ʹÓá£ÕâÑùÌá¸ßÁËÇý¶¯ºÍ×ÊÔ´¹ÜÀíµÄ¶ÀÁ¢ÐÔ£¬²¢ÇÒÓµÓнϺõĿÉÒÆÖ²ÐԺͰ²È«ÐÔ (
ÕâЩ±ê×¼½Ó¿ÚÊǰ²È«µÄ )
¡£ 
    Platform
»úÖÆµÄ±¾ÉíʹÓò¢²»¸´ÔÓ£¬ÓÉÁ½²¿·Ö×é³É£º platform_device
ºÍ platfrom_driver
¡£

   
ͨ¹ý Platform
»úÖÆ¿ª·¢·¢µ×²ãÇý¶¯µÄ´óÖÂÁ÷³ÌΪ :
¶¨Òå platform_device ->
×¢²á platform_device->
¶¨Òå platform_driver->
×¢²á platform_driver
¡£ 
   
Ê×ÏÈҪȷÈϵľÍÊÇÉ豸µÄ×ÊÔ´ÐÅÏ¢£¬ÀýÈçÉ豸µÄµØÖ·£¬ÖжϺŵȡ£

ÔÚ 2.6
ÄÚºËÖÐ platform
É豸ÓýṹÌå platform_device
À´ÃèÊö£¬¸Ã½á¹¹Ì嶨ÒåÔÚ
kernel\include\linux\platform_device.h
ÖУ¬
struct platform_device {
const char *
name;
u32 id;
struct device
dev;
u32
num_resources;
struct resource
* resource;
};
 
   
¸Ã½á¹¹Ò»¸öÖØÒªµÄÔªËØÊÇ resource
£¬¸ÃÔªËØ´æÈëÁË×îÎªÖØÒªµÄÉ豸×ÊÔ´ÐÅÏ¢£¬¶¨ÒåÔÚ
kernel\include\linux\ioport.h
ÖУ¬

struct resource {
const char
*name;
unsigned long
start, end;
unsigned long
flags;
struct resource
*parent, *sibling, *child;
};
¶¨ÒåºÃÁË platform_device
½á¹¹Ìåºó¾Í¿ÉÒÔµ÷Óú¯Êý platform_add_devices
ÏòϵͳÖÐÌí¼Ó¸ÃÉ豸ÁË£¬Ö®ºó¿ÉÒÔµ÷ÓÃ
platform_device_register()
½øÐÐÉ豸ע²á¡£Òª×¢ÒâµÄÊÇ£¬ÕâÀïµÄ platform_device
É豸µÄ×¢²á¹ý³Ì±ØÐëÔÚÏàÓ¦É豸Çý¶¯¼ÓÔØÖ®Ç°±»µ÷Ó㬼´Ö´ÐÐ platform_driver_register
֮ǰ ,
Ô­ÒòÊÇÒòΪÇý¶¯×¢²áʱÐèҪƥÅäÄÚºËÖÐËùÒÔÒÑ×¢²áµÄÉ豸Ãû¡£
ÔÚÇý¶¯³õʼ»¯º¯ÊýÖе÷Óú¯Êý platform_driver_


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì (Æß) SDPЭÒé

Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖЭÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀЭÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......

Linux ÉÏÍøÉèÖÃ

ǰ¼¸ÌìÖÆ×÷ÁËUSBÆô¶¯Å̺󣬷¢ÏÖÎÞ·¨ÉÏÍø£¬ÓÚÊǾÍÔÚÍøÉÏÕÒÁËЩ×ÊÁÏ£¬×ܽáÈçÏ£º
Ò»¡¢ÉèÖñ¾»úIPµØÖ·
ifconfig eth0 192.168.1.100
¶þ¡¢ÉèÖÃÍø¹Ø
route delete default
oute add default gw 192.168.1.1(
Ìí¼ÓĬÈÏÍø¹Ø,ÓõÄÊÇÌúͨADSL) ......

01 ʲôÊÇLinux Äñ»ù

POSIX
ÊÇÒ»ÖÖ±ê×¼¹æ·¶£¬Ö÷ÒªÕë¶ÔÔÚ Unix
²Ù×÷ϵͳÉÏÃæÅܵijÌÐòÀ´½øÐй淶¡£ ÈôÄãµÄ²Ù×÷ϵͳ·ûºÏ POSIX £¬Ôò·ûºÏ POSIX µÄ³ÌÐò¾Í¿ÉÒÔÔÚÄãµÄ²Ù×÷ϵͳÉÏÃæÔË×÷¡£ Linux
ÓÉÓÚÖ§³Ö POSIX £¬Òò´ËºÜ¶à Unix ÉϵijÌÐò¿ÉÒÔÖ±½ÓÔÚ Linux ÉÏÔË×÷£¬ Òò´Ë³ÌÐòµÄÒÆÖ²Ï൱¼òÒ×£¡Ò²Èôó¼ÒÈÝÒ×ת»»Æ½Ì¨£¬ÌáÉý
Linux µÄʹÓÃÂÊ¡£
Çý¶¯Óë ......

[zz]dzÎöLinuxÏÂcoreÎļþ

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