S3C24XXÌåϵµÄLinux GPIO¿ØÖÆÏà¹ØAPIʵÏÖ
GPIO£¨General Purpose Input/OutputµÄËõд£©¾ÍÊÇоƬµÄÒý½Å£¬Òý½ÅÊǿɱà³ÌµÄ¿É¶ÔÒý½ÅµÄ¹¤×÷ģʽ½øÐÐÉèÖãºÊäÈëģʽ(¼ì²âÊäÈëÐźÅ)£¬Êä³öģʽ(Êä³ö0»ò1)£¬¸ß×è״̬(³£ÓÃÓÚADת»»)£¬»¹ÓнûÖ¹»òÔÊÐíÉÏÄÚ²¿ÏÂÀµç×è(ÉÏÀ£º¹Ü½Åͨ¹ýµç×è½Ó¸ßµçƽ£¬ÏÂÀ£º¹Ü½Åͨ¹ýµç×è½ÓµØ£¬Ò²¿ÉÒÔÍⲿ½ÓÉÏÀ»òÏÂÀµç×è)£¬»¹ÓйܽŸ´Óõȹ¦ÄÜ£¬¼´Í¨¹ý¶ÔÄÚ²¿¼Ä´æÆ÷µÄÉèÖÃʹÒý½Å¼È¿ÉÒÔ¹¤×÷ÔÚÒ»°ãģʽ£¬×÷ΪÆÕͨµÄGPIO¿ÚʹÓã¬Ò²¿ÉÒÔ¹¤×÷ÔÚÌØÊâģʽ£¬±ÈÈç×÷ΪÍⲿÖжÏÐźÅÊäÈëÒý½ÅµÈµÈ¡£Èç¹û²»ÉèÖÃGPIOÒý½Å£¬CPU¹¤×÷ʱÓÐÒ»¸ö³õʼ»¯Ä£Ê½£¬¿ÉÒÔ´Ódatasheet£¨Ð¾Æ¬ÊֲᣩÉÏÁ˽⡣¶ÔGPIOµÄ¿ØÖÆÊDZàдÇý¶¯³ÌÐò×î³£¼ûºÍÖØÒªµÄÒ»Ï×÷ÄÚÈÝ¡£
ÔÚLinux2.6.25Äں˴úÂëÖУ¬ÒѾÌṩÁËÕë¶ÔÈýÐÇS3C2410/S3C2440µÈоƬGPIOµÄ¿ØÖÆ£¬ÏÂÃæÀ´·Ö±ð½éÉÜÒ»°ãÈçºÎÅäÖᢹÜÀíGPIO¡£
ÏÂÃæµÄº¯ÊýÊÇÓÃÀ´¸ù¾ÝÐµĹ¦ÄÜÐèÇóÅäÖÃÒ»¸öGPIOÒý½Å£¨¶¨ÒåÔÚarch/arm/plat-s3c24xx/gpio.c£©£º
1 void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int function)
2 {
3 void __iomem *base = S3C24XX_GPIO_BASE(pin);
4 unsigned long mask;
5 unsigned long con;
6 unsigned long flags;
7
8 if (pin < S3C2410_GPIO_BANKB) {
9 mask = 1 << S3C2410_GPIO_OFFSET(pin);
10 } else {
11 mask = 3 <&
Ïà¹ØÎĵµ£º
²Ù×÷ϵͳÔÀí¼°Æ½Ì¨¿ª·¢£¨MS Win32 / BSD
Unix / GNU Linux£©
×÷Õß alvin_lee @ 2006-04-30 09:51:05
ÏàÐÅ´ó¼Ò¶ÔLinux°²×°Ó¦¸ÃÊǼҳ£±ã·¹ÁË,¶ø´ó¶àÊý·¢ÐаæµÄ°æ±¾¸üÐÂÒ²·Ç³£¿ì¡£Èç¹û
²»Ïëÿ´Î°²×°Ð°汾µÄʱºò¶¼Òª¿ÌÅÌ»òÕß°²×°µ½VMWareÉϵϰ£¬ÄÇôÄã¿ÉÒÔ¿¼ÂÇʹÓÃU ......
ÓÉÓÚ¹«Ë¾ÀïµÄ±¸·ÝÈí¼þÊÇÿÌìÍíÉÏÖ´ÐÐÒ»´Î£¬Èç¹ûÔ±¹¤µ±Ì첻СÐÄɾ³ýÁËÎļþ£¬ÄÇÖ»Äܻظ´µ½×òÌìµÄ״̬£¬Èç¹ûÊÇÔ±¹¤½ñÌ컨ÁËÒ»Ìì²ÅдÍêµÄCODE£¬ÄǾÍû·¨»Ö¸´ ÁË£¬ÕâÑù¾ÍÔ±¹¤Ò»ÌìµÄ¹¤×÷¾Í°×¸ÉÁË£¬µ±È»Äã¿ÉÄÜ»á˵£¬Õâ¸öÔ±¹¤»î¸Ã£¬ËÈÃËû²»Ð¡ÐÄÁË£¬µ«Êǵ±ÊÂÇé·¢ÉúÁËÖ®ºó£¬È˼ҾͻáÀ´ÕÒÄã½â¾öÁË£¬ËäÈ» ÄãÆ½³£¶ãÔÚ½ÇÂäÀïÌý¸è¡¢¿´µç ......
ÒÔÏÂÊÇÕÒµ½µÄLinuxµÄ×ÊÁÏ£¬Solairs¡¢AIXµÈÓ¦µ±ÓÐËù²»Í¬£¬Çë¸ú½ø
·½·¨Ò»£º¶Ë¿ÚÓ³Éä
1¡¢iptablesÃüÁî:iptables -t nat -A PREROUTING -p tcp --dport <µÍ¶Ë¿Ú> -i eth0 -j REDIRECT --to-port <ÔÏȼàÌýµÄ¸ß¶Ë¿Ú>
2¡¢rinetd³ÌÐò
3¡¢ipchansÃüÁî:ipchans -I input --proto TCP --dport <µÍ¶Ë¿Ú> - ......
£¨1£©Òì³£µÄ¸ÅÄî
ÖжÏÐźÅÊÇÒ»¸öͳ³Æ£¬Í³³ÆÄÇЩ¸Ä±äCPUÖ¸ÁîÖ´ÐÐÐòÁеÄʼþ¡£µ«ËüÓÖ·ÖΪÁ½ÖÖ£º
Ò»ÖÖÊÇͬ²½µÄ£¬Ã»ÄÇôͻȻ£¬ÒòΪËüÖ»ÔÚÒ»¸öÖ¸ÁîµÄÖ´ÐÐÖÕÖ¹Ö®ºó²Å·¢Éú£¬ÊéÖÐÒÀ´ÓIntelµÄ¹ßÀý£¬³ÆÎªÒì³££¨Exception£©¡£Ò»°ãÊDZà³Ì´íÎó£¨Ò»°ãµÄ´¦ÀíÊÇ·¢Ðźţ©»òÕßÄں˱ØÐë´¦ÀíµÄÒì³£Çé¿ö£¨Äں˻ ......
Linux ºÍ Unix Îļþϵͳ±»×éÖ¯³ÉÒ»¸öÓвã´ÎµÄÊ÷Ðνṹ¡£ÎļþϵͳµÄ×îÉϲãÊÇ /£¬»ò³ÆÎª ¸ùĿ¼¡£ÔÚ Unix ºÍ Linux µÄÉè¼ÆÀíÄîÖУ¬Ò»ÇнÔΪÎļþ——°üÀ¨Ó²ÅÌ¡¢·ÖÇøºÍ¿É²å°Î½éÖÊ¡£Õâ¾ÍÒâζ×ÅËùÓÐÆäËüÎļþºÍĿ¼£¨°üÀ¨ÆäËüÓ²Å̺ͷÖÇø£©¶¼Î»ÓÚ¸ùĿ¼ÖС£ ÀýÈ磺/home/jebediah/cheeses.odt ¸ø³öÁËÕýÈ·µÄÍêÕû·¾¶£¬ËüÖ¸ ......