ǶÈëʽLinuxµÄ¼üÅÌÇý¶¯ 1£¨Í¨¹ýI2CʵÏÖ£©
CPU£ºs3c2410
OS£ºLinux Kernel 2.6.30.4
×î½ü¸Õ×öÍêµÄǶÈëʽ¼üÅ̵ÄÇý¶¯£¬ÓÉÓÚ³õ´Î½Ó´¥£¬×ܽáһϡ£
Ê×Ïȼòµ¥ËµËµÕâ¸ö¼üÅ̵ÄʵÏÖÔÀí£¬IIC×ÜÏß¹¤×÷ÔÀíû±ØÒª·Ï»°£¬s3c2410µÄÊÖ²áÖн²µÄºÜÃ÷°×¡£Ó²¼þ·½ÃæÕâ¸ö¼üÅÌͨ¹ýÒ»¸öAVRµ¥Æ¬»ú£¨ATMEGA48£©½ÓÔÚIIC×ÜÏßÉÏ£¬Ò²¾ÍÊÇ˵£¬Ö±½ÓÓëIIC×ÜÏßÁ´½ÓµÄÉ豸²¢²»ÊÇÎÒÃÇÓõļüÅÌ£¬¶øÊÇÕâ¸öµ¥Æ¬»ú£¬¼üÅ̲úÉúµÄÒ»ÇÐÊý¾ÝÓÉÕâ¸öµ¥Æ¬»ú¾¹ý¼Ó¹¤°ü×°³ÉÒ»¶¨µÄÊý¾Ý½á¹¹ÔÙ·¢¸øs3c2410¡£µ±s3c2410оƬÊÕµ½Êý¾Ýºó»áÓÉIIC¿ØÖÆÆ÷´¥·¢Ò»¸öÖжϣ¬ÔÚÖжϴ¦Àí³ÌÐòÖÐÎÒÃÇÖ»Òª½âÎöÕâ¸ö½á¹¹Ìå¾Í¿ÉÒÔÁË¡£
Èí¼þ·½Ã棬É豸Çý¶¯Êµ¼ÊÉÏ·ÖΪÁ½²ã£¬ÆäÖÐÖ®Ò»¾ÍÊÇAVRµ¥Æ¬»úµÄÇý¶¯£¬ÁíÒ»¸ö¾ÍÊǼüÅÌÇý¶¯£¬»ù±¾Á÷³ÌÈçÏ¡£ÄÚºËÆô¶¯Ê±»á×Ô¶¯µ÷ÓÃÉ豸³õʼ»¯º¯Êý£¬ÕâʱºòÎÒÃÇÐèÒª×öµÄÊÇͨ¹ýIIC×ÜÏ߸øÕâ¸öµ¥Æ¬»ú´«Ëͳõʼ»¯ÐÅÏ¢¡£·¢Ë͵ÄÊý¾ÝÒ»¹²°üÀ¨Á½²¿·Ö£¬Ç°ÕßÓÃÓÚÉèÖÃÄ¿µÄÉ豸£¨s3c2410оƬ£©µÄµØÖ·£¬Ò²¾ÍÊǸæËßAVRµ¥Æ¬»úÊÕµ½¼üÅÌ·¢À´µÄÊý¾ÝºóÓ¦¸Ã·¢¸øË£»ºóÕßÊÇʹÄܼüÅÌ£¬Èç¹û²»·¢Õâ¸öÖ¸ÁAVRÊÕµ½¼üÅÌ´«À´µÄ°´¼üÓ²¼þ±àÂëºóÖ±½Ó¶ªÆú¡££¨ÕâÀï×¢Ò⣺AVRÉÏ¿ÉÒÔͬʱ¹ÜÀí¶à¸öÉ豸£¬ÊÂʵÉÏÎҸ㵽µÄǰÈ˵Ä×ÊÁÏÒ²ÊÇÖ§³Ö¶à¸öÉ豸£¬¶øÕâÀïÎÒÃÇÖ»Óõ½ÁËÒ»¸ö¼üÅÌ£©Íê³É³õʼ»¯ºó£¬Ó²¼þ·½Ãæ¾ÍûÓÐʲôÕϰÁË£¬Èç¹ûÎÒÃǰ´ÏÂÒ»¸ö°´¼ü£¬¼üÅÌ»á°ÑÒ»¸ö8λµÄÓ²¼þ¼üÂë·¢¸øAVRµ¥Æ¬»ú¡£ÔÚAVRµ¥Æ¬»úÖÐÕâ¸ö×Ö½Úǰ»á±»ÔÙ¼ÓÉÏÒ»¸ö8λµÄÉ豸±àºÅ£¬È»ºóÒ»Æð·¢¸øs3c2410¡£cpuÊÕµ½Êý¾Ýºó£¬»á°Ñ×Ô¼ºµÄ¹¤×÷ģʽÉèÖóÉSR£¬È»ºóµ÷ÓÃAVRµ¥Æ¬»úÇý¶¯ÖеÄi2c_mega8_slvRcvº¯Êý£¬²¢°Ñ½ÓÊÕµ½µÄºóÁ½¸ö×Ö½Ú£¨¼üÅ̵ÄÉ豸Âë+°´¼üÓ²¼þÂ룩×÷Ϊ²ÎÊý´«¸ø¸Ãº¯Êý¡£Ôڸú¯ÊýÖУ¬¼ì²âÉ豸Â룬Èç¹ûÊǼüÅÌ£¬ÄÇôµ÷ÓüüÅÌÇý¶¯³ÌÐòÖеÄmega8_kbd_rawº¯Êý£¬²¢×îÖÕÌí¼ÓÈë°´¼üµÈ´ý¶ÓÁС£µ±ÓгÌÐò´ò¿ª¼üÅÌÉ豸ÎļþµÄʱºò£¬Õâ¸ö¶ÓÁÐÖеļüÂë»á±»´«µÝ¸øÏàÓ¦µÄÓû§³ÌÐò¡£
ÏÂÃæ´úÂ벿·Ö½è¼øÁËǰÈ˵ÄÀͶ¯³É¹û£¬¾ßÌå×÷ÕßÊÇ˸㲻̫Çå³þ ... ...
Ê×ÏÈÌí¼ÓÒ»²¿·Ö½á¹¹ÌåºÍ³£Á¿¶¨Ò壺
#ifndef __I2C_TOMEGA8_H_
#define __I2C_TOMEGA8_H_
#include <linux/poll.h>
#if 0 //modified by B.Zhou
#define I2COWNER_ADDRESS (0x10>>1)
#else
#define I2COWNER_ADDRESS (0x10)
#endif
#define MEGA8_I2CADDRESS (0x60)
typedef struct __attribute__ ((packed)){
 
Ïà¹ØÎĵµ£º
ÔÚѧϰÓйØI/O×ÜÏßµÄÄÚÈÝʱ£¬×îºÃÏÈ¿´¿´Ïà¹ØµÄ֪ʶ£º´ÓPC×ÜÏßµ½ARMµÄÄÚ²¿×ÜÏß
I/O ¶Ë¿ÚºÍ I/O ÄÚ´æ
ÿÖÖÍâÉè¶¼ÊÇͨ¹ý¶Áд¼Ä´æÆ÷À´½øÐпØÖÆ¡£
ÔÚÓ²¼þ²ã£¬ÄÚ´æÇøºÍ I/O ÇøÓòûÓиÅÄîÉϵÄÇø±ð: ËüÃǶ¼ÊÇͨ¹ýÏòÔÚµØÖ·×ÜÏߺͿØÖÆ×ÜÏß·¢³öµçƽÐźÅÀ´½øÐзÃÎÊ£¬ÔÙͨ¹ýÊý¾Ý×ÜÏß¶ÁдÊý¾Ý¡£
ÒòΪÍâÉèÒªÓëI\O×ÜÏ߯¥Å䣬¶ø´ó²¿·ÖÁ ......
LinuxÉ豸Çý¶¯³ÌÐòѧϰ±Ê¼ÇϵÁÐÎÄÕÂÔ×÷ÕßÊÇ£ºTekkaman Ninja£¬Ëû²©¿ÍµØÖ·£º
http://blog.chinaunix.net/u1/34474/showart_404278.html
ÔÚ´ËÏòTekkaman Ninja±íʾ¸Ðл£¬Ð´³öÕâôºÃµÄÎÄÕ£¬Ê¹ÎÒÉÙ×ßÁ˺ܶàÍä·¡£
ÒÔ¡¶LDD3¡·µÄ˵·¨£ºLinuxÉ豸ģÐÍÕⲿ·ÖÄÚÈÝ¿ÉÒÔÈÏΪÊǸ߼¶½Ì²Ä£¬¶ÔÓÚ¶àÊý³ÌÐò×÷ÕßÀ´ËµÊDz»±ØÒªµÄ¡£µ«ÊÇÎÒ¸ ......
Writing Linux LCD drivers
×÷ÕߣºJimSheng
Writing Linux LCD drivers
Abstract
1 LCD Module\Driver\Controller
2 Linux Frame Buffer Driver
2.1 Why Frame Buffer?
2.2 What is Frame Buffer Devices?
2.3 How to Write Frame Buffer Device Drivers?
3 Analysis of Linux Frame Buffer Driver Source ......
1.´«Í³ÉÏ£¬CÓïÑÔÒªÇó±ØÐëÔÚÒ»¸ö´úÂë¿éµÄ¿ªÊ¼´¦ÉùÃ÷±äÁ¿£¬ÔÚÕâ֮ǰ²»ÔÊÐíÈÎºÎÆäËûÓï¾ä¡£ÏÖÔÚC99×ñÑC£«£«µÄ¹ßÀý£¬ÔÊÐí°ÑÉùÃ÷·ÅÔÚ´úÂë¿éÖеÄÈκÎλÖá£È»¶ø£¬ÔÚÊ×´ÎʹÓñäÁ¿Ö®Ç°ÈÔÈ»±ØÐëÏÈÉùÃ÷Ëü¡£
2.²Ù×÷ϵͳºÍC¿âͨ³£Ê¹ÓÃÒÔÒ»¸ö»òÁ½¸öÏ»®Ïß¿ªÊ¼µÄÃû×Ö£¬ÒòЩÄã×Ô¼º×îºÃ±ÜÃâÕâÖÖÓ÷¨¡£
3.CÓïÑÔµÄÃû×ÖÊÇÇø·Ö´óСдµÄ¡£ ......
# ifconfig # ²é¿´ËùÓÐÍøÂç½Ó¿ÚµÄÊôÐÔ
# iptables -L # ²é¿´·À»ðǽÉèÖÃ
# route -n   ......