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

I2C×ÜÏßÔÚLinuxϵͳÖеÄÇý¶¯Éè¼Æ

¡¡1 ÒýÑÔ
¡¡¡¡Linux²Ù×÷ϵͳÒò¾ßÓÐÔ´´úÂ빫¿ª¡¢±ãÓڲüõ¡¢Óй㷺µÄ´¦ÀíÆ÷Ö§³ÖµÈÓŵ㣬³ÉΪµ±Ç°Ç¶ÈëʽϵͳµÄÈÈÃÅÑ¡Ôñ¡£»ùÓÚI2C×ÜÏߵļüÅÌÀ©Õ¹É豸Ö÷ÒªÓÃÓÚÂú×ãǶÈëʽÉ豸ÖжԶఴ¼üµÄÐèÇó£¬Çý¶¯³ÌÐòÔÚϵͳÆô¶¯Ê±¶ÔÓ²¼þ½øÐгõʼ»¯¡£ÔÚϵͳÆô¶¯ºóʵÏÖÓ²¼þºÍÓ¦ÓóÌÐòÖ®¼äµÄÊý¾Ý½»»¥¡£Õë¶ÔS3C2410΢´¦ÀíÆ÷ºÍ¼üÅÌɨÃè¹ÜÀíÆ÷¼þ£¬ÉîÈëÌÖÂÛÈçºÎÔÚǶÈëʽ²Ù×÷ϵͳarm LinuxÖÐʵÏÖZLG7290µÄÇý¶¯¡£
¡¡¡¡2 I2C×ÜÏß
¡¡¡¡I2C×ÜÏßÊÇÆ÷¼þ¼ä´®Ðд«Êä×ÜÏߣ¬ÒÔÆä¹æ·¶ºÍ´øI2C½Ó¿ÚµÄÍâΧÆ÷¼þ»ñµÃ¹ã·ºÓ¦Óá£S3C2410´¦ÀíÆ÷ÄÚÖÃÓÐI2C×ÜÏß½Ó¿Ú¡£I2C×ÜÏßÊÇÓÉÊý¾ÝÏßSDAºÍʱÖÓSCL¹¹³ÉµÄ´®ÐÐ×ÜÏߣ¬¿É·¢ËͺͽÓÊÕÊý¾Ý£¬Ã¿¸öÆ÷¼þ¶¼ÓÐÒ»¸öΨһµÄµØַʶ±ð¡£I2C×ÜÏßÔÚ´«ËÍÊý¾Ý¹ý³ÌÖй²ÓÐ3ÖÖÐźţº(1)¿ªÊ¼ÐźţºSCLΪ¸ßµçƽʱ£¬SDAÓɸߵçƽÏòµÍµçƽÌø±ä£¬¿ªÊ¼´«ËÍÊý¾Ý¡£(2)½áÊøÐźţºSCLΪµÍµçƽʱ£¬SDAÓɵ͵çƽÏò¸ßµçƽÌø±ä£¬½áÊø´«ËÍÊý¾Ý¡£(3)Ó¦´ðÐźţº½ÓÊÕÊý¾ÝµÄIC½ÓÊÕµ½8 bitÊý¾Ýºó£¬Ïò·¢ËÍÊý¾ÝµÄIC·¢³öÌض¨µÄµÍµçƽÂö³å£¬±íʾÒÑÊÕµ½Êý¾Ý¡£CPUÏòÊܿص¥Ôª·¢³öÒ»¸öÐźź󣬵ȴýÊܿص¥Ôª·¢³öÓ¦´ðÐźţ¬CPU½ÓÊÕµ½Ó¦´ðÐźź󣬸ù¾Ýʵ¼ÊÇé¿ö×ö³öÊÇ·ñ¼ÌÐø´«µÝÐźŵÄÅжϡ£ÈôδÊÕµ½Ó¦´ðÐźţ¬ÔòÅжÏΪÊܿص¥Ôª³öÏÖ¹ÊÕÏ¡£Í¼1ΪS3C2410ºÍZLG7290µÄÁ¬½Óͼ¡£
¡¡¡¡3 Çý¶¯Ä£¿éµÄ½á¹¹
¡¡¡¡S3C2410AÄÚǶһ¸öI2C×ÜÏß¿ØÖÆÆ÷¡£ÔÚLinux²Ù×÷ϵͳÖУ¬¸Ã¿ØÖÆÆ÷µÄ×Ö·ûÐÍÇý¶¯°üÀ¨4¸öÄ£¿é£º(1)i2c-dev£ºÔ´³ÌÐòΪi2c-dev£®c£¬I2C×ÜÏß×Ö·ûÐÍÇý¶¯£¬Óë¾ßÌåʹÓõÄI2C¿ØÖÆÆ÷Î޹ء£(2)i2c-core£ºÔ´³ÌÐòΪi2c-core£®c£¬I2C×ÜÏß²Ù×÷ºËÐĺ¯Êý£¬Óë¾ßÌåʹÓõÄI2C¿ØÖÆÆ÷Î޹ء£(3)i2c-algo-s3c2410£ºÔ´³ÌÐòΪi2c-algo-s3c2410£®c£¬I2C×ÜÏß¿ØÖÆÆ÷I2CÇý¶¯Ëã·¨£¬Óë¾ßÌåµÄ¿ØÖÆÆ÷Ïà¹Ø¡£(4)i2c-s3c2410£ºÔ´³ÌÐòΪi2c-s3c2410£®c£¬I2C×ÜÏß¿ØÖÆÆ÷Ó²¼þ³éÏó²ã£¬Óë¾ßÌåµÄ¿ØÖÆÆ÷Ïà¹Ø¡£ÒÔÉÏ4¸öÄ£¿éÒÀ´ÎÊǵײãÓëÉϲãµÄ¹Øϵ£¬I2CÇý¶¯Ä£¿éµÄ²ã´Î½á¹¹Èçͼ2Ëùʾ¡£
¡¡¡¡4 Çý¶¯Ô´ÎļþµÄ±àÒë
¡¡¡¡Çý¶¯Ô´Îļþ°üÀ¨i2c-algo-s3c2410£®c£¬i2c-dev£®c£¬i2c-core£®c£¬i2c-s3c2410£®c4¸öÔ´Îļþ¡£½«Æä±àÒëΪģ¿é£¬Ôò²úÉú4¸öÄ£¿éÎļþ£¬±àÒ빤×÷ÓÉMakefileÎļþÍê³É,ÆäÎļþÄÚÈÝÈçÏ£º
µ±ÐèҪʹÓÃI2C×ÜÏß¿ØÖÆÆ÷Çý¶¯Ä£¿éʱ£¬¿ÉÒÔʹÓÃI2C×ÜÏß¿ØÖÆÆ÷Çý¶¯µÄÉ豸¹ÜÀíÎļþloadi2c¡£¸Ã¹ÜÀíÎļþÔËÐк󣬽«×Ô¶¯ÔÚLinuxµÄ£¯dev£¯Ä¿Â¼Ï´´½¨É豸½Úµãi2c¡£loadi2cÎļþÄÚÈÝÈçÏ£º
¡¡¡¡ÓÉÓÚ¸÷Ä£¿é¼äÓÐÉÏϲã¹Øϵ£¬Ôò¼ÓÔØÄ£¿é˳ÐòÓ¦ÊÇ´ÓÉϵ½Ï£¬×îÏȼÓÔØi2c-core£¬×îºó¼ÓÔ


Ïà¹ØÎĵµ£º

linux I2CÇý¶¯·ÖÎö

I2CÊÇPhillips¿ª·¢µÄ2ÏߵĴ®ÐÐ×ÜÏßЭÒ顣ͨ³£Ó¦ÓÃÔÚǶÈëʽϵͳÖÐÈò»Í¬µÄ×é¼þͨÐÅ£¬PCÖ÷°å¿ÉÒÔͨ¹ýI2CÀ´Ó벻ͬµÄ´«¸ÐÆ÷ͨÐÅ¡£ÕâЩ´«¸ÐÆ÷ͨ³£±¨¸æ·çÉÈËٶȣ¬´¦ÀíÆ÷ζȺÍÕû¸öÓ²¼þϵͳµÄÐÅÏ¢£¬Õâ¸öЭÒéÒ²¿ÉÒÔÓÃÔÚRAM chipsÉÏ£¬Ïò²Ù×÷ϵͳÌṩDIMMµÄÐÅÏ¢¡£
ÔÚ2.0ʱI2CµÄkernelÔ´Âë²»ÔÚÄÚºËÀïµÄ£¬2.4Äں˰üÀ¨ÁËÒ»µã¶ÔI2CµÄÖ§³Ö ......

LinuxÖÐI2C×ÜÏßÇý¶¯Ìåϵ½á¹¹

×î½üÔÚ¿´Linux 2.6.21Äں˵ÄI2CÇý¶¯£¬Ò²ÔÚÍøÉϲéÁËÒ»ÏÂ×ÊÁÏ£¬ÓдíÒ²Óжԣ¬ÓÐЩÐĵ㬼ǼÏÂÀ´°É¡£ÀïÃæÈÏʶ»òÐí¶àÓв»µ±Ö®´¦£¬»¹¿ÒÇëÖ¸Õý¡£
 
1. I2C ЭÒé
 
 1.1  I2C×ÜÏß¹¤×÷Ô­Àí
      I2C×ÜÏßÊÇÓÉÊý¾ÝÏßSDAºÍʱÖÓSCL¹¹³ÉµÄ´®ÐÐ×ÜÏߣ¬¸÷ÖÖ±»¿ØÖÆÆ÷¼þ¾ù²¢ÁªÔÚÕâÌõ×ÜÏ ......

I2C×ÜÏßÔÚLinuxϵͳÖеÄÇý¶¯Éè¼Æ

1 ÒýÑÔ
¡¡¡¡Linux²Ù×÷ϵͳÒò¾ßÓÐÔ´´úÂ빫¿ª¡¢±ãÓڲüõ¡¢Óй㷺µÄ´¦ÀíÆ÷Ö§³ÖµÈÓŵ㣬³ÉΪµ±Ç°Ç¶ÈëʽϵͳµÄÈÈÃÅÑ¡Ôñ¡£»ùÓÚI2C×ÜÏߵļüÅÌÀ©Õ¹É豸Ö÷ÒªÓÃÓÚÂú×ãǶÈëʽÉ豸ÖжԶఴ¼üµÄÐèÇó£¬Çý¶¯³ÌÐòÔÚϵͳÆô¶¯Ê±¶ÔÓ²¼þ½øÐгõʼ»¯¡£ÔÚϵͳÆô¶¯ºóʵÏÖÓ²¼þºÍÓ¦ÓóÌÐòÖ®¼äµÄÊý¾Ý½»»¥¡£Õë¶ÔS3C2410΢´¦ÀíÆ÷ºÍ¼üÅÌɨÃè¹ÜÀíÆ÷¼þ£¬ÉîÈ ......

Linux shared library Loading class

Linked from: http://www.faqs.org/docs/Linux-mini/C++-dlopen.html
//1.==== main.cpp =============================================================
// How to build?
// g++ main.cpp -ldl
//=============================================================================
#include "polygon.h"
......

linuxϸü¸Ä¹²ÏíÄÚ´æµÄ×î´óÖµ

System V
IPC
²ÎÊý


Ãû×Ö
ÃèÊö
ºÏÀíÈ¡Öµ


SHMMAX
×î´ó¹²ÏíÄÚ´æ¶Î³ß´ç£¨×Ö½Ú£©
×îÉÙÈô¸ÉÕ×£¨¼ûÎı¾£©
SHMMIN
×îС¹²ÏíÄÚ´æ¶Î³ß´ç£¨×Ö½Ú£©
1
SHMALL
¿ÉÓù²ÏíÄÚ´æµÄ×ÜÊýÁ¿£¨×Ö½Ú»òÕßÒ³Ã棩
Èç¹ûÊÇ×Ö½Ú£¬¾ÍºÍ SHMMAX
Ò»Ñù£»Èç¹ûÊÇÒ³Ã棬ceil(SHMMAX/P ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ