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Êý×éÖС£¼´ÊÇÉèÖ
Ïà¹ØÎĵµ£º
´´½¨×ÀÃæÍ¼±ê
Ŀǰ½«ÍøÂçÓ¦ÓÃÀ©Õ¹µ½×ÀÃæÊÇÒ»¸öÇ÷ÊÆ£¬´æÔÚןܶà½â¾ö·½°¸£¬±¾ÎÄÒÔ Mozilla Prism ΪÀý£¬ÀàËÆµÄ·½·¨Í¬ÑùÊÊÓÃÓÚ Google Chrome ¡£
1. µ½ Mozilla Prism µÄÍøÕ¾ÉÏÏÂÔØ Prism£¬µã»÷ Download Now Ö®ºó»áÌáʾÓÐÁ½ÖÖ£¬Ò»ÖÖÊÇÒÔ Mozilla Firefox À©Õ¹µÄ·½Ê½£¬ÊʺÏÒѾ°²×°ÓÐ Firefox µÄÅóÓÑ£»Ò»Ö ......
1.1 °²×°JDK
1.1.1 ÏÂÔØJDK
´ò¿ªhttp://java.sun.com/ÍøÕ¾£¬ÔÚĿ¼ÀïÃæÑ¡ÔñDownload£¬ÔÚÏÂÀ²Ëµ¥ÖÐÑ¡ÔñJava SE
½øÈëÏÂÒ»¸öÒ³Ãæ£¬ÒªÑ¡ÔñÏÂÔØJDK£¬¶ø²»ÒªÏÂÔØJRE£º
½ÓÏÂÀ´ÊÇÑ¡ÔñÔËÐÐµÄÆ½Ì¨£¬ÕâÀﵱȻÊÇÑ¡ÔñlinuxÁË£º
Ñ¡ÔñºÃƽ̨ºó£¬µã»÷continue:
ÕâÀï¿ÉÒÔÖ±½Óµ ......
£¨1£©ÈýÐǵĴ¥ÃþÆÁÇý¶¯s3c-ts.c£º
s3c_ts_init-¡·platform_driver_register(&s3c_ts_driver)£»
static struct platform_driver s3c_ts_driver = {
.probe = s3c_ts_probe,
.dri ......
1. I/O Port
¡¡¡¡ºÍÓ²¼þ
´ò½»µÀÀë²»¿ªI/O Port
£¬ÀϵÄ
ISA
É豸¾³£ÊÇÕ¼ÓÃʵ¼ÊµÄ
I/O
¶Ë¿Ú£¬ÔÚ
linux
Ï£¬²Ù×÷
ϵͳûÓжÔ
I/O
¿ÚÆÁ±Î£¬Ò²¾ÍÊÇ˵£¬ÈκÎÇý¶¯³ÌÐò¶¼¿É¶ÔÈÎÒâµÄ
I/O
¿Ú²Ù×÷£¬ÕâÑù
¾ÍºÜÈÝÒ×ÒýÆð»ìÂÒ¡£Ã¿¸öÇý¶¯³ÌÐòÓ¦¸Ã×Ô¼º±ÜÃâÎóÓö˿ڡ£
¡¡¡¡ÓÐÁ½¸ö
ÖØÒªµÄkernel
º¯Êý ......
Ò»Ö±ÒÔÀ´£¬¿ÉÄܺܶàÈëÃÅLinuxµÄÅóÓÑÀ´Ëµ£¬¶¼Òª¿¼ÂǵÄÎÊÌ⣬¾ÍÊǾ¿¾¹Ñ¡Ôñʲô·¢Ðа汾£¬ÔÚÕâÀ½áºÏ¸öÈ˵ÄһЩ¾Ñ飬¸ø´ó¼ÒһЩ½¨Ò飬Ê×ÏÈ£¬ËµÃ÷Ò»
Ï£¬Linux¶¼ÊÇÒ»ÑùµÄÔÀí£¬ÓúÃÒ»¸ö°æ±¾£¬Ò»Àïͨ°ÙÀïÃ÷£¬Ã»ÓÐ˵Äĸö×îºÃ£¬Äĸö²»ºÃµÄ£¬¸ù¾Ý×Ô¼ºµÄ¾ßÌåÐèÇóȥѡÔñ²ÅÊÇÖØÒªµÄ¡£
¡¡¡¡1¡¢¼ÒÓÃ×ÀÃæÏµÍ³£¬Ê×ÍÆubuntuϵÁУ¬¶ÔÓ²¼ ......