Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

LinuxÉ豸ģÐÍÖ®input×ÓϵͳÏê½â

Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì²âµ½µÄËùÓа´¼ü¶¼Éϱ¨¸øÁËinput×Óϵͳ¡£Input×ÓϵͳÊÇËùÓÐI/OÉ豸Çý¶¯µÄÖмä²ã£¬ÎªÉϲãÌṩÁËÒ»¸öͳһµÄ½çÃæ¡£ÀýÈ磬ÔÚÖÕ¶ËϵͳÖУ¬ÎÒÃDz»ÐèҪȥ¹ÜÓжàÉÙ¸ö¼üÅÌ£¬¶àÉÙ¸öÊó±ê¡£ËüÖ»Òª´Óinput×ÓϵͳÖÐȥȡ¶ÔÓ¦µÄʼþ(°´¼ü£¬Êó±êÒÆÎ»µÈ)¾Í¿ÉÒÔÁË¡£
¶þ£ºÊ¹ÓÃinput deviceµÄÀý×Ó
ÏÂÃæµÄ´úÂëÊÇ»ùÓÚlinux kernel 2.6.25.·ÖÎöµÄ´úÂëÖ÷ҪλÓÚkernel2.6.25/drivers/inputÏÂÃæ.
ÔÚÄÚºË×Ô´øµÄÎĵµDocumentation/input/input-programming.txtÖС£ÓÐÒ»¸öʹÓÃinput×ÓϵͳµÄÀý×Ó£¬²¢¸½´øÏàÓ¦µÄ˵Ã÷¡£ÒÔ´ËΪÀý·ÖÎöÈçÏ£º
#include <linux/input.h>
#include <linux/module.h>
#include <linux/init.h>
#include <asm/irq.h>
#include <asm/io.h>
static void button_interrupt(int irq, void *dummy, struct pt_regs *fp)
{
        input_report_key(&button_dev, BTN_1, inb(BUTTON_PORT) & 1);
        input_sync(&button_dev);
}
static int __init button_init(void)
{
        if (request_irq(BUTTON_IRQ, button_interrupt, 0, "button", NULL)) {
                printk(KERN_ERR "button.c: Can't allocate irq %d\n", button_irq);
                return -EBUSY;
        }
 
        button_dev.evbit[0] = BIT(EV_KEY);
        button_dev.keybit[LONG(BTN_0)] = BIT(BTN_0);
 
        input_register_device(&button_dev);
}
static void __exit button_exit(void)
{
   &n


Ïà¹ØÎĵµ£º

linuxÏÂgdbµ¥²½µ÷ÊÔ

 
Óà GDB µ÷ÊÔ³ÌÐò
GDB ¸ÅÊö
————
GDB ÊÇ GNU ¿ªÔ´×éÖ¯·¢²¼µÄÒ»¸öÇ¿´óµÄ UNIX ϵijÌÐòµ÷ÊÔ¹¤¾ß¡£»òÐí£¬¸÷λ±È½Ïϲ»¶ÄÇÖÖͼÐνçÃæ·½Ê½µÄ£¬Ïñ VC ¡¢ BCB µÈ IDE µÄµ÷ÊÔ£¬µ«Èç¹ûÄãÊÇÔÚ UNIX ƽ̨ÏÂ×öÈí¼þ£¬Äã»á·¢ÏÖ GDB Õâ¸öµ÷ÊÔ¹¤¾ßÓÐ±È VC ¡¢ BCB µÄͼÐλ¯µ÷ÊÔÆ÷¸üÇ¿´óµÄ¹¦ÄÜ¡£Ëùν ¡° ......

Linuxϲ鿴Îļþ±àÂë,Îļþ»òÎļþÃû±àÂë¸ñʽת»»


Èç¹ûÄãÐèÒªÔÚLinuxÖвÙ×÷windowsϵÄÎļþ£¬ÄÇôÄã¿ÉÄܻᾭ³£Óöµ½Îļþ±àÂëת»»µÄÎÊÌâ¡£WindowsÖÐĬÈϵÄÎļþ¸ñʽÊÇGBK(gb2312)£¬¶øLinuxÒ»°ã¶¼ÊÇUTF-8¡£ÏÂÃæ½éÉÜһϣ¬ÔÚLinuxÖÐÈçºÎ²é¿´ÎļþµÄ±àÂë¼°ÈçºÎ½øÐжÔÎļþ½øÐбàÂëת»»¡£
Ò»£¬²é¿´Îļþ±àÂ룺
ÔÚLinuxÖв鿴Îļþ±àÂë¿ÉÒÔͨ¹ýÒÔϼ¸ÖÖ·½Ê½£º
1.ÔÚVimÖпÉÒÔÖ±½Ó²é¿ ......

ÅäÖÃlinuxÄÚºËdzÎö

Ëæ×Å Linux ²Ù×÷ϵͳµÄ¹ã·ºÓ¦Óã¬ÌرðÊÇ Linux ÔÚǶÈëʽÁìÓòµÄ·¢Õ¹£¬Ô½À´Ô½¶àµÄÈË¿ªÊ¼Í¶Éíµ½ Linux Äں˼¶µÄ¿ª·¢ÖС£Ãæ¶ÔÈÕÒæÅÓ´óµÄ Linux ÄÚºËÔ´´úÂ룬¿ª·¢ÕßÔÚÍê³É×Ô¼ºµÄÄں˴úÂëºó£¬¶¼½«ÃæÁÙ×ÅͬÑùµÄÎÊÌ⣬¼´ÈçºÎ½«Ô´´úÂëÈÚÈëµ½ Linux ÄÚºËÖУ¬Ôö¼ÓÏàÓ¦µÄ Linux ÅäÖÃÑ¡Ï²¢×îÖÕ±»±àÒë½ø Linux Äںˡ£Õâ¾ÍÐèÒªÁ˽â Linu ......

LinuxÏÂthread±à³Ì (Ò»)

×÷ÕߣºSam £¨Õç·å£©  sam_code@hotmail.com
SamǰЩÌìÔÚÌṩһ¸ö¿â¸ø±ðµÄ¹«Ë¾Ê±£¬ÒòΪ²»Ï²»¶Ê¹ÓÃpthread_jionµÈº¯Êý£¬±»ÈËÂîΪÀ¬»ø³ÌÐò¡£ºÇºÇ£¬Ö®Ç°ÒòΪÔÚд¶àthread³ÌÐòʱ£¬Ï°¹ßÈÃÿ¸öthread¶¼ÎªdetachÊôÐÔ£¬ÕâÑùËûÃǾͿÉÒÔ×ÔÎÒ¹ÜÀí¡£¶ø²»ÐèÒªÔÙÓɱðÈË»ØÊÕ×ÊÔ´¡£ºÇºÇ£¬²»ËµÕâô¶àÁË£¬°ÑPOSIX thread·½ÃæµÄ¶«Î÷¼ÇÏÂÀ´ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ