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,
&
Ïà¹ØÎĵµ£º
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâƪ·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´ËתÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨Õâƪ²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
LinuxϵͳϵÄÉ豸ºÍÎļþÅäÖÃ
¡¡Ð½¨Ò»¸öÐéÄâ»úºó£¬³ýÁËʹÓÃĬÈÏÖµ£¬Óû§»¹¿ÉÒÔͨ¹ýÅäÖÃÎļþÐ޸IJÎÊý¡£Õâ¸öÅäÖÃÎļþ£¬Êµ¼ÊÉϾÍÏ൱ÓÚеçÄԵēӲ¼þÅäÖÔ£¬Óû§¿ÉÒÔÔÚÅäÖÃÎļþÖоö¶¨ÐéÄâ»úµÄÓ²ÅÌ¡¢ÄÚ´æ¶à´ó£¬ÊÇ·ñÓв¢¿Ú´®¿Ú¡¢ÊÇ·ñÓÐÍøÂçµÈ¡£µ¥»÷“ÐéÄâ»ú”²Ëµ¥ÏµēÉèÖÔ°´Å¥£¬¾Í¿ ......
µÚÒ»²½£º²Ã¼õÄÚºË
´ò¿ªÖնˣ¬ÊäÈ룺cd /usr/src/linux2.4,È»ºóÊäÈëmake xconfig.ÏÖÔÚ±àÒëÄÚºËÕýʽ¿ªÊ¼ÁË
1.1 “code maturity level options”Ñ¡Ï´ú±í´úÂëµÄ³ÉÊìµÈ¼¶£¬ÒòΪÕâÊÇÒ»¸öÊÔÑéµÄ²¿·Ö£¬ÎÒÃDz»ÐèÒª£¬ËùÒԹرÕËü¡£
1.2 “Loadable module support”¿É¼ÓÔØÄ£¿éÖ§³Ö
¿É¼ÓÔØÄ£¿éÊÇÖ¸Äں˴ú ......
˵µ½²Ã¼õLinux£¬ÎÞ·ÇÊÇΪÁ˼õС´ÅÅÌÕ¼ÓûòÕßÊÇΪÁËijЩÌض¨³¡ºÏµÄÓ¦Óã¨ÈçǶÈëʽϵͳ£©¡£ÒÔRedHat 7.3ΪÀý£¬Æä×îС°²×°ÈÔÈ»´ïµ½ÁË300M£¬Õâ²»µÃ²»ÈÃÈ˶ÔÒ»Ö±ºÅ³ÆС¶øÈ«µÄLinuxϵͳ¸Ðµ½ÒÉ»ó¡£
×÷Ϊ×Ô¼ºÊÖÖпÎÌâµÄÒ»¸öÆ̵棬²»¾ÃÇ°ÎÒ³¢ÊÔÁ˶ÔLinux½øÐвüõ£¬ËäȻûÓдﵽԤÆÚµÄÒ»ÕÅÈíÅÌ´óС£¬µ«½á¹ûÒ²Ï൱ÓÐÎüÒýÁ¦¡£Ï ......
LinuxÏÂscpµÄÓ÷¨
http://blog.csdn.net/Channels_net/archive/2009/09/02/4510286.aspx
scp¾ÍÊÇsecure copy£¬Ò»¸öÔÚlinuxÏÂÓÃÀ´½øÐÐÔ¶³Ì¿½±´ÎļþµÄÃüÁî¡£
ÓÐʱÎÒÃÇÐèÒª»ñµÃÔ¶³Ì·þÎñÆ÷ÉϵÄij¸öÎļþ£¬¸Ã·þÎñÆ÷¼ÈûÓÐÅäÖÃftp·þÎñÆ÷£¬Ò²Ã»ÓÐ×ö¹²Ïí£¬ÎÞ·¨Í¨¹ý³£¹æ;¾¶»ñµÃÎļþʱ£¬Ö»ÐèҪͨ¹ý¼òµ¥µÄscpÃüÁî±ã¿É´ïµ½Ä¿µÄ¡£
Ò» ......