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 <
Ïà¹ØÎĵµ£º
×ÜÀÀ
ÓÃiptables -ADC À´Ö¸¶¨Á´µÄ¹æ
Ôò
£¬-AÌí¼Ó -Dɾ³ý -C ÐÞ¸Ä
iptables - [RI] chain rule num rule-specification[option]
ÓÃiptables - RI ͨ¹ý¹æÔòµÄ˳ÐòÖ¸¶¨
iptables -D chain rule num[option]
ɾ³ýÖ¸¶¨¹æÔò
iptables -[LFZ] [chain][option]
ÓÃiptables -LFZ Á´Ãû [Ñ¡Ïî]
iptables -[NX] chain
ÓÃ -NX ......
¡¡# fstabÎļþµÄ×÷ÓÃ
¡¡¡¡Îļþ/etc/fstab´æ·ÅµÄÊÇϵͳÖеÄÎļþϵͳÐÅÏ¢¡£µ±ÕýÈ·µÄÉèÖÃÁ˸ÃÎļþ£¬Ôò¿ÉÒÔͨ¹ý"mount /directoryname"ÃüÁîÀ´¼ÓÔØÒ»¸öÎļþϵͳ£¬Ã¿ÖÖÎļþϵͳ¶¼¶ÔÓ¦Ò»¸ö¶ÀÁ¢µÄÐУ¬Ã¿ÐÐÖеÄ×ֶζ¼Óпոñ»òtab¼ü·Ö¿ª¡£Í¬Ê±fsck¡¢ mount¡¢umountµÄµÈÃüÁî¶¼ÀûÓøóÌÐò¡£
¡¡¡¡# fstabÎļþ¸ñʽ
¡¡¡¡ÏÂÃæÊÇ/etc/fata ......
1¡¢È¨Ï޵IJ鿴
ls -l ÎļþÃû³Æ
2¡¢È¨ÏÞÐÞ¸Ä
chmod abc file
ÆäÖÐa,b,c¸÷Ϊһ¸öÊý×Ö£¬·Ö±ð±íʾUser¡¢Group¡¢¼°OtherµÄȨÏÞ¡£
r=4£¬w=2£¬x=1£¬x±êʾִÐÐȨÏÞ¡£ÈôÒªrwxÊôÐÔÔò4+2+1=7£»ÈôÒ ......
¾²Ì¬º¯Êý¿âÊÇÔÚ³ÌÐòÖ´ÐÐǰ¾Í¼ÓÈ뵽Ŀ±ê³ÌÐòÖÐÈ¥ÁË£»¶ø¹²Ïíº¯Êý¿âÔòÊÇÔÚ³ÌÐòÆô¶¯µÄʱºò¼ÓÔØµ½³ÌÐòÖУ¬Ëü¿ÉÒÔ±»²»Í¬µÄ³ÌÐò¹²Ïí£»¶¯Ì¬¼ÓÔØº¯Êý¿âÔò¿ÉÒÔÔÚ³ÌÐòÔËÐеÄÈκÎʱºò¶¯Ì¬µÄ¼ÓÔØ¡£
¾²Ì¬º¯Êý¿âʵ¼ÊÉϾÍÊǼòµ¥µÄÒ»¸öÆÕͨµÄÄ¿±êÎļþµÄ¼¯ºÏ£¬Ò»°ãÀ´ËµÏ°¹ßÓÓ.a”×÷ΪÎļþµÄºó׺¡£¿ÉÒÔÓÃarÕâ¸ö³ÌÐòÀ´²úÉú¾²Ì¬º¯Êý ......