ARMµÄǶÈëʽLinuxÒÆÖ²ÌåÑéÖ®BootLoader
ARMµÄǶÈëʽLinuxÒÆÖ²ÌåÑéÖ®BootLoader
2006-08-12 08:00×÷ÕߣºËᦻª³ö´¦£ºÌ켫¿ª·¢ÔðÈα༣º·½ÖÛ
BootLoaderָϵͳÆô¶¯ºó£¬ÔÚ²Ù×÷ϵͳÄÚºËÔËÐÐ֮ǰÔËÐеÄÒ»¶ÎС³ÌÐò¡£Í¨¹ýBootLoader£¬ÎÒÃÇ¿ÉÒÔ³õʼ»¯Ó²¼þÉ豸¡¢½¨Á¢ÄÚ´æ¿Õ¼äµÄÓ³Éäͼ£¬´Ó¶ø½«ÏµÍ³µÄÈíÓ²¼þ»·¾³´øµ½Ò»¸öºÏÊʵÄ״̬£¬ÒÔ±ãΪ×îÖÕµ÷ÓòÙ×÷ϵͳÄÚºË×¼±¸ºÃÕýÈ·µÄ»·¾³¡£Í¨³££¬BootLoaderÊÇÑÏÖØµØÒÀÀµÓÚÓ²¼þ¶øÊµÏֵģ¬ÌرðÊÇÔÚǶÈëʽÊÀ½ç¡£Òò´Ë£¬ÔÚǶÈëʽÊÀ½çÀィÁ¢Ò»¸öͨÓÃµÄ BootLoader ¼¸ºõÊDz»¿ÉÄܵġ£¾¡¹ÜÈç´Ë£¬ÎÒÃÇÈÔÈ»¿ÉÒÔ¶ÔBootLoader¹éÄɳöһЩͨÓõĸÅÄîÀ´£¬ÒÔÖ¸µ¼Óû§Ìض¨µÄBootLoaderÉè¼ÆÓëʵÏÖ¡£
¡¡¡¡BootLoader µÄʵÏÖÒÀÀµÓÚCPUµÄÌåϵ½á¹¹£¬Òò´Ë´ó¶àÊý BootLoader ¶¼·ÖΪstage1 ºÍstage2 Á½´ó²¿·Ö¡£ÒÀÀµÓÚCPUÌåϵ½á¹¹µÄ´úÂ룬±ÈÈçÉ豸³õʼ»¯´úÂëµÈ£¬Í¨³£¶¼·ÅÔÚ stage1ÖУ¬¶øÇÒͨ³£¶¼Óûã±àÓïÑÔÀ´ÊµÏÖ£¬ÒÔ´ïµ½¶ÌС¾«º·µÄÄ¿µÄ¡£¶østage2 Ôòͨ³£ÓÃC ÓïÑÔÀ´ÊµÏÖ£¬ÕâÑù¿ÉÒÔʵÏÖ¸ü¸´ÔӵŦÄÜ£¬¶øÇÒ´úÂë»á¾ßÓиüºÃµÄ¿É¶ÁÐԺͿÉÒÆÖ²ÐÔ¡£
¡¡¡¡BootLoader µÄ stage1 ͨ³£°üÀ¨ÒÔϲ½Ö裺
¡¡¡¡·Ó²¼þÉ豸³õʼ»¯£»
¡¡¡¡·Îª¼ÓÔØBoot LoaderµÄstage2×¼±¸ RAM ¿Õ¼ä£»
¡¡¡¡·¿½±´Boot LoaderµÄstage2 µ½RAM¿Õ¼äÖУ»
¡¡¡¡·ÉèÖúöÑÕ»£»
¡¡¡¡·Ìø×ªµ½ stage2 µÄ C Èë¿Úµã¡£
¡¡¡¡Boot LoaderµÄstage2ͨ³£°üÀ¨ÒÔϲ½Ö裺
¡¡¡¡·³õʼ»¯±¾½×¶ÎҪʹÓõ½µÄÓ²¼þÉ豸£»
¡¡¡¡·¼ì²âϵͳÄÚ´æÓ³Éä(memory map)£»
¡¡¡¡·½«kernel Ó³ÏñºÍ¸ùÎļþϵͳӳÏñ´ÓflashÉ϶Áµ½ RAM ¿Õ¼äÖУ»
¡¡¡¡·ÎªÄÚºËÉèÖÃÆô¶¯²ÎÊý£»
¡¡¡¡·µ÷ÓÃÄںˡ£
¡¡¡¡±¾ÏµÍ³ÖеÄBootLoader²ÎÕÕº«¹úmizi¹«Ë¾µÄvivi½øÐÐÐ޸ġ£
¡¡¡¡1.¿ª·¢»·¾³
¡¡¡¡ÎÒÃǹºÂòÁËÎ人´´Î¬ÌØÐÅÏ¢¼¼ÊõÓÐÏÞ¹«Ë¾¿ª·¢µÄ¾ßÓÐ×ÔÖ÷֪ʶ²úȨµÄÓ¦ÓÃÓÚǶÈëʽÈí¼þ¿ª·¢µÄ¼¯³ÉÈí¡¢Ó²¼þ¿ª·¢Æ½Ì¨ADT£¨ARM Development Tools£©ËüΪ»ùÓÚARM ºËµÄǶÈëʽӦÓÃÌṩÁËÒ»ÕûÌ×Í걸µÄ¿ª·¢·½°¸£¬°üÀ¨³ÌÐò±à¼¡¢¹¤³Ì¹ÜÀíºÍÉèÖᢳÌÐò±àÒë¡¢³ÌÐòµ÷ÊԵȡ£
¡¡¡¡ADTǶÈëʽ¿ª·¢»·¾³ÓÉADT Emulator for ARM ºÍADT IDE for ARM×é³É¡£ADT Emulator for ARM ͨ¹ýJTAG ʵÏÖÖ÷»úºÍÄ¿±ê»úÖ®¼äµÄµ÷ÊÔÖ§³Ö¹¦ÄÜ¡£ËüÎÞÐèÄ¿±ê´æ´¢Æ÷£¬²»Õ¼ÓÃÄ¿±êϵͳµÄÈκζ˿Ú×ÊÔ´¡£Ä¿±ê³ÌÐòÖ±½ÓÔÚÄ¿±ê°åÉÏÔËÐУ¬Í¨¹ýARM оƬµÄJTAG ±ß½çɨÃè¿Ú½øÐе÷ÊÔ£¬ÊôÓÚÍêÈ«·Ç²åÈëʽµ÷ÊÔ£¬Æä·ÂÕæÐ§¹û½Ó½üÕæÊµÏµÍ³¡£
¡¡¡¡ADT IDE for AR
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿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.29.3
£¨
gcc-4.3.3
£©Ï±àÒëͨ¹ý£¬ÐèÒª×öµÄÐÞ¸ÄÈçÏ£º
l
´ò¿ªapue.2e
Îļþ¼ÐϵÄMake.defines.linux
Îļþ£¨¸ù¾ÝÄãµÄϵͳѡÔñ¶ÔÓ¦Îļþ£©£¬ÐÞ¸ÄWKDIR=/home/var/apue.2e
ΪÄãµÄapue.2e
Ŀ¼£¬ÈçWKDIR=/h ......
ʹÓÃselectº¯Êý¿ÉÒÔÒÔ·Ç×èÈûµÄ·½Ê½ºÍ¶à¸ösocketͨÐÅ¡£³ÌÐòÖ»ÊÇÑÝʾselectº¯ÊýµÄʹÓ㬹¦Äܷdz£¼òµ¥£¬¼´Ê¹Ä³¸öÁ¬½Ó¹Ø±ÕÒÔºóÒ²²»»áÐ޸ĵ±Ç°Á¬½ÓÊý£¬Á¬½ÓÊý´ïµ½×î´óÖµºó»áÖÕÖ¹³ÌÐò¡£
1. ³ÌÐòʹÓÃÁËÒ»¸öÊý×éfd_A£¬Í¨ÐÅ¿ªÊ¼ºó°ÑÐèҪͨÐŵĶà¸ösocketÃèÊö·û¶¼·ÅÈë´ËÊý×é¡£
2. Ê×ÏÈÉú³ÉÒ»¸ö½Ðsock_fdµÄsocketÃèÊö·û£¬ÓÃÓÚ¼àÌý¶Ë¿ ......