gpio linux ʵÏÖÄ£ÐÍ
ÔÎĵØÖ·£ºhttp://lhsblog01.blog.163.com/blog/static/1020045192010221104237126/
GPIOÊÇÓëÓ²¼þÌåϵÃÜÇÐÏà¹ØµÄ£¬linuxÌṩһ¸öÄ£ÐÍÀ´ÈÃÇý¶¯Í³Ò»´¦ÀíGPIO£¬¼´¸÷¸ö°å¿¨¶¼ÓÐʵÏÖ×Ô¼ºµÄgpio_chip¿ØÖÆÄ£¿é£ºrequest, free, input,output, get,set,irq...
È»ºó°Ñ¿ØÖÆÄ£¿é×¢²áµ½ÄÚºËÖУ¬Õâʱ»á¸Ä±äÈ«¾ÖgpioÊý×飺gpio_desc[].
µ±Óû§ÇëÇógpioʱ£¬¾Í»áµ½Õâ¸öÊý×éÖÐÕÒµ½£¬²¢µ÷ÓÃÕâ¸öGPIO¶ÔÓ¦µÄgpio_chipµÄ´¦Àíº¯Êý¡£
gpioʵÏÖΪһ×é¿ÉÓÃµÄ gpio_chip, ÓÉÇý¶¯´«Èë¶ÔÓ¦ gpioµÄÈ«¾ÖÐòºÅ È¥ request, dataout ,datain, free. Õâʱ»áµ÷ÓÃgpio_chipÖоßÌåµÄʵÏÖ¡£
¼Ä´æÆ÷¶Áдº¯Êý: __raw_writel() __raw_writeb() __raw_readl() __raw_readb()
gpioÊÇÒ»×é¿É¿Ø¼þµÄ½Å£¬Óɶà¸ö¼Ä´æÆ÷ͬʱ¿ØÖÆ¡£Í¨¹ýÉèÖöÔÓ¦µÄ¼Ä´æÆ÷¿ÉÒÔ´ïµ½ÉèÖÃGPIO¿Ú¶ÔӦ״̬Ó빦ÄÜ¡£
Êý¾Ý״̬£¬ÊäÈëÊä³ö·½Ïò£¬ÇåÁ㣬Öжϣ¨ÄǸö±ßÑØ´¥·¢£©£¬ Ò»°ãÊÇÒ»×飨bank£©Ò»×éµÄ¡£
//****************linux ÖÐ GPIOÄ£ÐÍ****************************************//
×¢²á·½·¨£º
1£ºstruct gpio_chip: ±íʾһ¸ögpio controller.ͨ¹ýÕâ¸ö½á¹¹³éÏó»¯ËùÓÐµÄ GPIOÔ´£¬¶øÈðåÉÏÆäËüµÄÄ£¿é¿ÉÒÔÓÃÏàͬµÄ½Ó¿Úµ÷ÓÃʹÓÃÕâЩGPIO¡£
2: struct gpio_desc: ±íʾһ¸ögpio¿Ú£¬º¬¶ÔÓ¦µÄ gpio_chip.
3: ARCH_NR_GPIOS£º Óë°åÏà¹ØµÄGPIO¿ÚÊýÁ¿£¬¼´ÊÇÈ«¾ÖGPIOÊý×飺static struct gpio_desc gpio_desc[ARCH_NR_GPIOS];
4£º ×¢²á gpio_chipʱ£¬¾ÍÊǸù¾Ý chip µÄÊý¾Ý ÐÞ¸ÄÈ«¾Ö GPIOÊý×éÖÐ gpio_desc ×ֶΣ¨chip, flags£©¡£
//************* twl4030 ÖÐ GPIOµÄʵÏÖ *******************//
Ê×ÏÈ twl4030ÖÐµÄ GPIOÄ£¿é: ÔÚ twl4030µÄÇý¶¯×¢²áʱ£¬probeÖУ¬Éú³ÉÁËGPIO¶ÔÓ¦µÄ i2c_client Óë platform_device.
twl4030£¬µ±¼ÓÔØGPIOµÄÇý¶¯(Æ¥Åäplatform_device)ʱ£¬Ê×ÏȽøÐжÔÓ¦µÄÉèÖã¬GPIOÉèÖá£
È»ºóÉèÖýṹ£º gpio_chip: twl_gpiochip: gpio_twl4030_pulls,pio_twl4030_debounce,
×¢²á Ö®£ºret = gpiochip_add(&twl_gpiochip);//Ìí¼Óµ½È«¾ÖµÄ gpio_descÊý×éÖС£¼´ÊÇÉèÖ
Ïà¹ØÎĵµ£º
×ÜÀÀ
ÓÃ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 ......
Linux³ÌÐò²ÎÊý°üÀ¨Á½²¿·Ö£º ÃüÁîÐвÎÊýºÍ»·¾³±äÁ¿
ÃüÁîÐвÎÊý´«µÝ¸ømianº¯Êý int mian (int argc,char *argv[])
»·¾³±äÁ¿ extern char *environ[]
»ñµÃ»·¾³±äÁ¿µÄº¯Êý£º const char* getenv(const char* name)
ÉèÖû·¾³±äÁ¿µÄº¯Êý£º
£¨1£©int putent (const c ......
×¼±¸¹¤×÷
qt-everywhere-opensource-src-4.6.2.tar
½âѹ tar xvzf qt-everywhere-opensource-src-4.6.2.tar
ÅäÖÃ:
./configure -prefix /home/hyk/Qt_self_compiled/Qt_4_6_2
£¨Ö»ÊǸıäÁ˰²×°Ä¿Â¼£©
gmake
(ÖØÅäÖÃ gmake confclean , configure)
ÖÐÎç12 ......
»¨Á˰ëÌìÅäÖúÃÁËcygwinµÄ½çÃæ£¬ ÏÂÃæ×öÒ»¼Í¼£¬ÒÔ±¸Ï´βéÔÄ
1. ¹ØÓÚtermµÄÎÊÌ⣬ Èç¹ûÏÓ°²×°µÄterm²»¹»pp£¬¿ÉÒÔʹÓÃputty£¬ÄǾÍÐèÒª°²×°openssh°ü£¬ÒÔ±ã¿ÉÒÔʹÓÃputty£¬
opensshµÄ°²×°¹ý³Ì²ÎÔÄhttp://pigtail.net/LRP/printsrv/cygwin-sshd.html ÀïÃæ½éÉܵĺÜÏêϸ¡£ÏÂÃæÌô¼¸¸ö¹Ø¼üµã¼Ç¼ÈçÏ£º
(2b) Download ......