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

linuxµÄplatformÇý¶¯

´Ó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_PA_IIC + S3C24XX_SZ_IIC - 1,
            &


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨ËÄ£© L2CAP²ã±à³Ì

£¨L2CAPЭÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPЭÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼­Á¬½Ó¿ØÖƺÍÊÊÅäЭÒé (L2CAP) ΪÉϲãЭÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àЭÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãЭÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......

[תÌû]LinuxÇý¶¯¿ª·¢Ñ§Ï°µÄһЩ±ØÒª²½Öè

 1. ѧ»áд¼òµ¥µÄmakefile
2. ±àһЩӦÓÃ
³ÌÐò
£¬¿ÉÒÔÓÃmakefileÅÜÆðÀ´
3. ѧ»áдÇý¶¯
µÄmakefile
4. дһ¼òµ¥charÇý¶¯£¬makefile±àÒëͨ¹ý£¬¿ÉÒÔinsmod£¬ lsmod£¬ rmmod. ÔÚÇý¶¯µÄinitº¯ÊýÀï´òÓ¡hello world£¬insmodºóÓ¦¸ÃÄܹ»Í¨¹ýdmesg¿´µ½Êä³ö
¡£
5. дһÍêÕûÇý¶¯£¬ ¼ÓÉÏread£¬ write£¬ ioctl£¬ pollingµÈ¸ ......

ǶÈëʽlinuxϵͳ²Ã¼ô

 »¨Á˼¸ÌìµÄʱ¼ä£¬ÖÕÓÚ°Ñϵͳ´Ó½ü200 MB²Ãµ½Ð¡ÓÚ16 MB£¬ ËäÈ»ÏÖÔÚ¿´À´¹ý³Ì·Ç³£¼òµ¥£¬¶ÔÓÚ×î³õµÄÄǵã¿Ö¾å¾õµÃÓеã¿ÉЦ¡£ÔÚÕâÀï°ÑÖ÷ÒªÐĵÃдһÏ£¬×ܽáÒ»ÏÂÐĵ㬠ϣÍû¿ÉÒÔ¸øÏà¹ØÈËÔ±Ò»µã²Î¿¼¡£
    Ö÷Òª²½ÖèÈçÏ£º
    1. ³ä·ÖÁ˽âϵͳ
    ÕâÓеãÏñ·Ï»°£¬µ«ÊÇȷʵºÜ ......

linuxϵͳ²Ã¼õ


µÚÒ»²½£º²Ã¼õÄÚºË
´ò¿ªÖÕ¶Ë£¬ÊäÈ룺cd /usr/src/linux2.4,È»ºóÊäÈëmake xconfig.ÏÖÔÚ±àÒëÄÚºËÕýʽ¿ªÊ¼ÁË
1.1 “code maturity level options”Ñ¡Ï´ú±í´úÂëµÄ³ÉÊìµÈ¼¶£¬ÒòΪÕâÊÇÒ»¸öÊÔÑéµÄ²¿·Ö£¬ÎÒÃDz»ÐèÒª£¬ËùÒԹرÕËü¡£
1.2 “Loadable module support”¿É¼ÓÔØÄ£¿éÖ§³Ö
¿É¼ÓÔØÄ£¿éÊÇÖ¸Äں˴ú ......

СLinux·¢ÐаæµÄ´óÓô¦

 




<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->

        ʲôÊÇС
Linux
£¨“
Small
Linux”
£©·¢Ðа棿ÓÐÄÄЩС
Linux
£¿ËüÃÇÓÐʲôÓô¦£¿
 
        ÖÚËùÖÜÖª£¬ÓÉ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ