linux ÖжÏ
Õª×Ô£ºhttp://www.kerneltravel.net/journal/viii/01.htm
¼ÆËã»úϵͳʵÏÖÖжϻúÖÆÊǷdz£¸´ÔÓµÄÒ»¼þ¹¤×÷£¬ÔÙÔõô˵È˶¼ÊǸ߶ÈÖÇÄÜ»¯µÄÉúÎ¶ø¼ÆËã»ú×÷Ϊһ¸öÌú¸í´ñ£¬Ã»ÓгÌÐòµÄ½Ìµ¼¾ÍÒ»ÊÂÎ޳ɡ£¶ø´¦ÀíÒ»¸öÖжϹý³Ì£¬ËüÊܵ½µÄÏÞÖÆºÍÐèҪѧϰµÄ¶«Î÷Ì«¶àÁË¡£
Ê×ÏÈ£¬¼ÆËã»úÄܹ»½ÓÊÕµÄÍⲿÐźÅÐÎʽ·Ç³£ÓÐÏÞ¡£PC¸øËùÓеÄÍⲿ´Ì¼¤Ö»ÁôÁËÒ»ÖÖÊäÈ뷽ʽ——ÌØ¶¨¸ñʽµÄµçÐźţ¬²¢¶ÔÕâÖÖÐźŵĸñʽ¡¢½ÓÈë·½·¨¡¢ÏìÓ¦·½·¨¡¢´¦Àí²½Öè¶¼×öÁ˹æÔ¼£¬ÕâÖÖÐźžÍÊÇÖжϻòÖжÏÐźţ¬¶øÕâÒ»ÕûÌ×»úÖÆ¾ÍÊÇÖжϻúÖÆ¡£
Æä´Î£¬¼ÆËã»ú²»¶®µÃÈçºÎÓ¦¶ÔÐźš£Ã»ÓгÌÐò£¬Ëü¾ÍÎÆË¿²»¶¯¡£Òò´Ë£¬±ØÐëÓлúÖÆ±£Ö¤ÍⲿÖжÏÐźŵ½À´ºó£¬ÓÐÕýÈ·µÄ³ÌÐòÔÚÕýÈ·µÄʱºò±»Ö´ÐС£
»¹ÓУ¬¼ÆËã»ú²»¶®µÃÈçºÎ±£³Ö¹¤×÷µÄ³ÖÐøÐÔ¡£
ÄÇô£¬Í¨ÓõļÆËã»úϵͳÊÇÈçºÎ½â¾öÕâЩÎÊÌâµÄÄØ£¿ËüÊÇ¿¿Ó²¼þºÍÈí¼þÅäºÏÀ´ÐͬʵÏÖÖжϴ¦ÀíµÄÈ«¹ý³ÌµÄ¡£ÎÒÃǽ«Í¨¹ýIntel X86¼Ü¹¹µÄʵÏÖÀ´½éÉÜÕâÒ»¹ý³Ì¡£
CPUÖ´ÐÐÍêÒ»ÌõÖ¸Áîºó£¬ÏÂÒ»ÌõÖ¸ÁîµÄÂß¼µØÖ·´æ·ÅÔÚcsºÍeipÕâ¶Ô¼Ä´æÆ÷ÖС£ÔÚÖ´ÐÐÐÂÖ¸Áîǰ£¬¿ØÖƵ¥Ôª»á¼ì²éÔÚÖ´ÐÐǰһÌõÖ¸ÁîµÄ¹ý³ÌÖÐÊÇ·ñÓÐÖжϻòÒì³£·¢Éú¡£Èç¹ûÓУ¬¿ØÖƵ¥Ôª¾Í»áÅ×ÏÂÖ¸Á½øÈëÏÂÃæµÄÁ÷³Ì£º
1. È·¶¨ÓëÖжϻòÒì³£¹ØÁªµÄÏòÁ¿i (0<= i <=255)
2. ѰÕÒÏòÁ¿¶ÔÓ¦µÄ´¦Àí³ÌÐò
3. ±£´æµ±Ç°µÄ“¹¤×÷ÏÖ³¡”£¬Ö´ÐÐÖжϻòÒì³£µÄ´¦Àí³ÌÐò
4. ´¦Àí³ÌÐòÖ´ÐÐÍê±Ïºó£¬°Ñ¿ØÖÆÈ¨½»»¹¸ø¿ØÖƵ¥Ôª
5. ¿ØÖƵ¥Ôª»Ö¸´ÏÖ³¡£¬·µ»Ø¼ÌÐøÖ´ÐÐÔ³ÌÐò
ÈÃÎÒÃÇÉîÈëÕâ¸öÁ÷³Ì£¬¿´¿´¶¼ÓÐʲôÎÊÌâÐèÒªÃæ¶Ô¡£
1¡¢Òì³£ÊÇʲô¸ÅÄ
ÔÚ´¦ÀíÆ÷Ö´Ðе½ÓÉÓÚ±à³ÌʧÎó¶øµ¼ÖµĴíÎóÖ¸ÁÀýÈç³ýÊýÊÇ0£©µÄʱºò£¬»òÕßÔÚÖ´ÐÐÆÚ¼ä³öÏÖÌØÊâÇé¿ö£¨ÀýÈçȱҳ£©£¬ÐèÒª¿¿²Ù×÷ϵͳÀ´´¦ÀíµÄʱºò£¬´¦ÀíÆ÷¾Í»á²úÉúÒ»¸öÒì³£¡£¶Ô´ó²¿·Ö´¦ÀíÆ÷Ìåϵ½á¹¹À´Ëµ£¬´¦ÀíÒì³£ºÍ´¦ÀíÖжϵķ½Ê½»ù±¾ÊÇÏàͬµÄ£¬x86¼Ü¹¹µÄCPUÒ²ÊÇÈç´Ë¡£Òì³£ÓëÖжϻ¹ÊÇÓÐÐ©Çø±ð£¬Òì³£µÄ²úÉú±ØÐ뿼ÂÇÓë´¦ÀíÆ÷ʱÖÓµÄͬ²½¡£Êµ¼ÊÉÏ£¬Òì³£ÍùÍù±»³ÆÎªÍ¬²½Öжϡ£
2¡¢ÖжÏÏòÁ¿ÊÇʲô£¿
ÖжÏÏòÁ¿´ú±íµÄÊÇÖжÏÔ´——´ÓijÖ̶ֳÈÉϽ²£¬¿ÉÒÔ¿´×÷ÊÇÖжϻòÒì³£µÄÀàÐÍ¡£ÖжϺÍÒì³£µÄÖÖÀàºÜ¶à£¬±ÈÈç˵±»0³ý
Ïà¹ØÎĵµ£º
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
1. ѧ»áд¼òµ¥µÄmakefile
2. ±àһЩӦÓÃ
³ÌÐò
£¬¿ÉÒÔÓÃmakefileÅÜÆðÀ´
3. ѧ»áдÇý¶¯
µÄmakefile
4. дһ¼òµ¥charÇý¶¯£¬makefile±àÒëͨ¹ý£¬¿ÉÒÔinsmod£¬ lsmod£¬ rmmod. ÔÚÇý¶¯µÄinitº¯ÊýÀï´òÓ¡hello world£¬insmodºóÓ¦¸ÃÄܹ»Í¨¹ýdmesg¿´µ½Êä³ö
¡£
5. дһÍêÕûÇý¶¯£¬ ¼ÓÉÏread£¬ write£¬ ioctl£¬ pollingµÈ¸ ......
´ÓLinux 2.6ÆðÒýÈëÁËÒ»Ì×еÄÇý¶¯¹ÜÀíºÍ×¢²á»úÖÆ:Platform_deviceºÍPlatform_driver¡£
LinuxÖд󲿷ֵÄÉ豸Çý¶¯£¬¶¼¿ÉÒÔʹÓÃÕâÌ×»úÖÆ, É豸ÓÃPlatform_device±íʾ£¬Çý¶¯ÓÃPlatform_driver½øÐÐ×¢²á¡£
Linux platform driver»úÖÆºÍ´«Í³µÄdevice driver »úÖÆ(ͨ¹ýdriver_registerº¯Êý½øÐÐ×¢²á)Ïà±È£¬Ò»¸öÊ®·ÖÃ÷ÏÔ ......
֮ǰ¿´ÁËһЩ¹ØÓÚlinux²Ù×÷ϵͳµÄ½Ì³Ì£¬±È½Ïϲ»¶½«ÕâЩ¶«Î÷¼Ç¼ÔÚ±¾×ÓÉÏ£¬ÏÖÔÚÔÙ½«ÕâЩ¶«Î÷Ìùµ½²©¿ÍÉÏ£¬ºÍ´ó¼Ò½»Á÷һϡ£ºÜ¶àlinux¸ßÊÖ˵µ½£¬ÏëҪѧºÃlinux±ØÐë¶ÔÆäĿ¼Óиö͸³¹µÄÀí½â¡£ÒÔÏÂÊÇÎÒ×ܽáµÄһЩ¶«Î÷:
ÓëWindowsÒ»Ñù£¬ÔÚLinuxÖÐÒ²ÊÇͨ¹ýĿ¼À´×éÖ¯ÎļþµÄ¡£µ«²»Í¬µÄÊÇ£¬ÔÚLinuxÏÂÖ»ÓÐÒ»¸ö¸ùĿ¼£¬¶ø²»ÏóWin ......
1.·Ö¶Î»úÖÆ
80386µÄÁ½ÖÖ¹¤×÷ģʽ
¡¡¡¡80386µÄ¹¤×÷ģʽ°üÀ¨ÊµµØÖ·Ä£Ê½ºÍÐéµØÖ·Ä£Ê½£¨±£»¤Ä£Ê½£©¡£LinuxÖ÷Òª¹¤×÷ÔÚ±£»¤Ä£Ê½Ï¡£
·Ö¶Î»úÖÆ
¡¡¡¡ÔÚ±£»¤Ä£Ê½Ï£¬80386Ð鵨ַ¿Õ¼ä¿É´ï16K¸ö¶Î£¬Ã¿¶Î´óС¿É±ä£¬×î´ó´ï4GB¡£
¡¡¡¡´ÓÂß¼µØÖ·µ½ÏßÐÔµØÖ·µÄת»»ÓÉ80386·Ö¶Î»úÖÆ¹ÜÀí¡£¶Î¼Ä´æÆ÷CS¡¢DS¡¢ES¡¢SS¡¢FS»òGS±êʶһ¸ö¶Î ......