Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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;
};
 
ÏÂÃæ¾Ùs3c2410ƽ̨µÄi2cÇý¶¯×÷ΪÀý×ÓÀ´ËµÃ÷£º
/* arch/arm/mach-s3c2410/devs.c */
/* I2C */
static struct resource s3c_i2c_resource[] = {
         [0] = {
                   .start = S3C24XX_PA_IIC,
                   .end = S3C24XX_P


Ïà¹ØÎĵµ£º

ǶÈëʽlinuxϵÄUSB×Ô¶¯¹ÒÔØÎÊÌâ

ÏÖÔÚÔÚ×öǶÈëʽlinuxϵÄUSB×Ô¶¯¹ÒÔØ¡£
ÔÚϵͳÆô¶¯µÄʱºò£¬Ê×ÏȼÓÔØUSBÇý¶¯¡£¼ÓÔØ¹ý³ÌÖгöÏÖÈçÏ´íÎó£º
usb 1-2: new full speed USB device using hisilicon-ohci and address 2
usb 1-2: device descriptor read/64, error -110
usb 1-2: device descriptor read/64, error -110
usb 1-2: new full speed USB d ......

Îå´ó·Ç³£¼ûLinuxÃüÁî

Îå´ó·Ç³£¼ûLinuxÃüÁî
 2010-1-29
µ¼¶Á£º±¾ÎĽéÉÜLinux²»³£¼ûµÄÎå¸öÃüÁî¡£°üÀ¨logsave¡¢diff3ºÍpstreeµÈ¡£
¹Ø¼ü´Ê£ºLinux logsave diff3 pstree
 
ÕýÔÚ¼ÓÔØÊý¾Ý...
¡¾TechTargetÖйúÔ­´´¡¿LinuxÓдóÁ¿µÄÃüÁîÐй¤¾ß£¬´ÓÿÌì¶¼»áʹÓõÄls¡¢cdÒÔ¼°psÕâЩ¹¤¾ß£¬µ½Äú¿ÉÄÜ»¹Ã»ÓÐʹÓùý£¬»òÕßÉõÖÁûÓÐÌý˵¹ýµÄ²»³ ......

linuxѧϰ±Ê¼Ç 0.µ¼ÂÛ£¨¸ÅÊö£¬Ñ§Ï°·½·¨Æª£©

һ.Ϊʲôѧlinux
1.ÐÔÄÜ׿Խ
¿ªÔ´£¬Ãâ·Ñ£¬Îȶ¨£¬°²È«£¬´¦Àí¶à²¢·¢
2.¹¤×÷·½Ã棺
linuxϵͳ¹ÜÀíÔ±
linux³ÌÐòÔ±£¨linuxÈí¼þ¹¤³Ìʦ£¬linuxǶÈëʽ¿ª·¢£©
¶þ.Á÷³Ì
µÚÒ»½×¶Î£ºlinuxƽ̨ÉϵĿª·¢£¬°üÀ¨vi£¬gcc,gdb,make,jdk,tomcat,mysql..linux»ù±¾²Ù×÷
µÚ¶þ½×¶Î£º¼ÓºñC¹¦µ×»òjava
µÚÈý½×¶Î£º¡¶unix»·¾³¸ß¼¶±à³Ì¡·
µÚ ......

LinuxÐÂÊÖÒªÁ˽âµÄÊ®¸ö֪ʶµã

LinuxÐÂÊÖÒªÁ˽âµÄÊ®¸ö֪ʶµã
¡¡¡¡1.LinuxÊÇ´óСдÃô¸ÐµÄϵͳ£¬¾Ù¸öÀý×Ó£¬Mozilla, MOZILLA, mOzillaºÍ mozillaÊÇËĸö²»Í¬µÄÃüÁµ«ÊÇÖ»ÓеÚËĸömozillaÊÇÕæÕýÓÐЧµÄÃüÁ¡£»¹ÓУ¬my_filE, my_file,ºÍ my_FILEÊÇÈý¸ö²»Í¬µÄÎļþ¡£Óû§µÄµÇ¼ÃûºÍÃØÃÜÒ²ÊÇ´óСдÃô¸ÐµÄ£¨ÕâÊÇÒòΪUNIXϵͳºÍCÓïÑԵĴ«Í³Ò»ÏòÊÇ´óСдÃô¸ÐËùÖ ......

LinuxÖеÄÄÚ´æÒ³±í´´½¨Ö®memtable_init()º¯Êý·ÖÎö

    ±¾º¯ÊýµÄ·ÖÎöºÜÄѾßÌ壬ÒòÎªÉæ¼°Á˺ܶàarmµÄ´¦ÀíÆ÷ÐͺźÍÿ¸öÐͺŶÔÓ¦µÄcacheºÍwrite bufferµÄ¹¤×÷·½Ê½£¬ÕâÆ¬ÎÄÕÂÖ»ÊÇ×ö¼òµ¥µÄ¼Ç¼£¬·½±ãÒÔºóÁ˽â¸üÉîºó»ØÀ´ÔÙÀ´ÍêÉÆÕâ¸öº¯Êý¡£
     Õâ¸öº¯ÊýµÄµ÷Óùý³ÌÈ磺start_kernel()->setup_arch()->paging_init()->memtable_init( ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ