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

LinuxÄں˼°ARMµÄÄÚ´æ¹ÜÀí

Ò»¸öÈ˲ªÒ»´Î²»ÄÑ£¬ÄѵÄÊDzªÒ»±²×Ó……
×î½ü·ÖÐĵÄʺܶ࣬²ªµÃÔ½À´Ô½ÉÙÁË£¡
´ò¿ªmmuÊÇÒ»¼þÉñÊ¥µÄ¹¤×÷£¬ÐèÒª×Ðϸ¡¢ÔÙ×Ðϸ……
´Ó__v7_setupº¯Êý·µ»ØÀ´£¬½øÈëµ½__enable_mmu¹ý³Ì£¬×öÆð·ÉǰµÄ×îºóÈ·ÈÏ£º
__enable_mmu:
#ifdef CONFIG_ALIGNMENT_TRAP
orr r0, r0, #CR_A
#else
bic r0, r0, #CR_A
#endif
¸ù¾ÝÅäÖÃÑ¡Ï¾ö¶¨ÊÇ·ñ´ò¿ªÊý¾Ý¶ÔÆë¼ì²é£¬Ò»°ãÊÇÒª´ò¿ªµÄ£»
#ifdef CONFIG_CPU_DCACHE_DISABLE
bic r0, r0, #CR_C
#endif
¸ù¾ÝÅäÖÃÑ¡Ï¾ö¶¨ÊÇ·ñ¹Ø±Õ¿ªÊý¾Ý»º³åÇø£¬Ò»°ãÊDz»ÐèÒª¹Ø±ÕµÄ£»
#ifdef CONFIG_CPU_BPREDICT_DISABLE
bic r0, r0, #CR_Z
#endif
¸ù¾ÝÅäÖÃÑ¡Ï¾ö¶¨ÊÇ·ñÒª¹Ø±Õ·ÖÖ§Ô¤²â¹¦ÄÜ£¬Ò»°ãÊDz»ÐèÒª¹Ø±ÕµÄ£»
#ifdef CONFIG_CPU_ICACHE_DISABLE
bic r0, r0, #CR_I
#endif
¸ù¾ÝÅäÖÃÑ¡Ï¾ö¶¨ÊÇ·ñ¹Ø±Õ¿ªÖ¸Á³åÇø£¬Ò»°ãÊDz»ÐèÒª¹Ø±ÕµÄ£»
mov r5, #(domain_val(DOMAIN_USER, DOMAIN_MANAGER) | \
     domain_val(DOMAIN_KERNEL, DOMAIN_MANAGER) | \
     domain_val(DOMAIN_TABLE, DOMAIN_MANAGER) | \
     domain_val(DOMAIN_IO, DOMAIN_CLIENT))
½áºÏÊý¾ÝÊֲᣬ´Ë¶ÎÊǽ«D0¡¢D1Á½¸öÓò£¬D1¶ÔÓ¦ÓÚUSERÓò£¬D0¶ÔÓ¦ÓÚKERNELºÍTABLEÓò£¬ÅäÖÃΪ¹ÜÀíģʽ£¬¶ÔÕâÁ½¸öÓòµÄ·ÃÎʺÍÖ´Ðв»ÊÜTLBÖÐÏàÓ¦±ê־λӰÏ죬D2Óò£¬¶ÔÓ¦ÓÚIOÓò£¬ÅäÖÃΪ¿Í»§Ä£Ê½£¬¶Ô´ËÓòµÄ·ÃÎÊÊÜTLBÖÐÏàÓ¦±ê־λµÄ¼ì²é£»
mcr p15, 0, r5, c3, c0, 0 @ load domain access register
дÈëÓò·ÃÎÊ¿ØÖƼĴæÆ÷£¬ÆäʵºÍ__v7_setupº¯ÊýÖÐдÈëµÄÖµÏàͬ£»
mcr p15, 0, r4, c2, c0, 0 @ load page table pointer
__v7_setupº¯ÊýÖÐÒ²ÒѾ­Ð´¹ýÕâ¸ö¼Ä´æÆ÷ÁË£»
b __turn_mmu_on
__turn_mmu_on¾ÍÔÚºóÃæ½ô¸ú×Å£¬²»Ã÷°×ΪºÎ»¹Òªbһϣ»
ENDPROC(__enable_mmu)
ÔÙ¿´¿´½ô½Ó×ŵÄ__turn_mmu_onº¯Êý£º
/*
 * Enable the MMU.  This completely changes the structure of the visible
 * memory space.  You will not be able to trace execution through this.
 * If you have an enquiry about this, *please* check the linux-arm-kernel
 * mailing list archives BEFORE sending another post to the list.
 *
 *  r0  = cp#15 control register
 *  r13 = *virtual* address to jump to upon co


Ïà¹ØÎĵµ£º

u boot1.1.6ÒÔ¼°linuxºÍÎļþϵͳÔÚfs2410ÉϵÄÒÆÖ²

µÚÒ»´Î½Ó´¥u-bootÒÆÖ²£¬²ËÄñÒ»¸ö£¬É¶¶¼²»¶®µÃ£¬ÔÚÍøÉÏתÁ˺ܾ㬾ö¶¨»¹ÊÇÏÈ½è¼øÒ»Ï±»È˵ľ­Ñé°É£¡£¡£¡ÎҲο¼µÄÎÄÕÂÊÇ
http://www.diybl.com/course/6_system/linux/Linuxjs/2008727/134020_2.html£¬Õâ¸öÎÄÕ¶ÔÎÒÀ´Ëµ£¬ÕæÊDz»´í£¬¸Ä¶¯µÄ¶«Î÷±È½ÏÉÙ£¬ÎÒϲ»¶£¬^_^£¬¶ÔÓÚÕâÆªÎÄÕ£¬ÎÒÏë˵Ã÷¼¸µãµÄÊÇ£ºÔÚ²¿·Ö(Ò»)µÄµÚÎå²½µ±ÖУ ......

linux 32λÓë64λϵͳÏÂÊý¾ÝÀàÐͳ¤¶ÈµÄÇø±ð

½üÈÕÔÚcentosÏÂÓÃcд¶«Î÷£¬Õâ¸ö³ÌÐòµÄ·þÎñ¶ËÔËÐÐÔÚ64λµÄcentosÏ£¬¿Í»§¶ËÓпÉÄÜÊÇ32»ú£¬Ò²ÓпÉÄÜÊÇ64λµÄ¡£
ΪÁ˱£Ö¤Êý¾Ý´«ÊäµÄÒ»ÖÂÐÔÖÆ¶¨ÁËÒ»Ì×ЭÒ飬ÓÃstructʵÏÖ¡£ÎªÁ˱£Ö¤Êä³ö¹ý³ÌÖУ¬Êý¾ÝµÄÍêÕûÐÔ£¬ÌرðÕë¶ÔϵͳµÄ²»Í¬¶ÔstructÀï±äÁ¿µÄÀàÐͽøÐÐÁËÓÅ»¯¡£ÎªÁ˱£Ö¤ÄÚ´æ¶ÔÆë·½Ê½µÄÒ»ÖºÍÊý¾Ý´æ´¢¿Õ¼äµÄ½ô´Õ£¬¶¼Óà #pragm ......

LinuxϵͳÐÔÄÜÖ¸±ê½éÉÜ


LinuxϵͳÐÔÄÜÖ¸±ê½éÉÜ
 
 
ת×ÔAndrew(http://andrew913.javaeye.com/blog/431259)
ÔÚ
ÎÒÃǽéÉÜLinuxϵͳµÄ¸÷ÖÖµ÷ÓŲÎÊýºÍÐÔÄܼà²â¹¤¾ß֮ǰ£¬ÐèÒªÏÈÌÖÂÛһЩ¹ØÓÚÐÔÄܵ÷ÓŵIJÎÊý¡£ÒòΪLinuxÊÇÒ»¸ö¿ªÔ´²Ù×÷ϵͳ£¬ËùÒÔÓÖ´óÁ¿¿ÉÓõÄÐÔÄÜ
¼à²â¹¤¾ß¡£¶ÔÕâЩ¹¤¾ßµÄÑ¡ÔñÈ¡¾öÓÚÄãµÄ¸öÈËϲºÃºÍ¶ÔÊý¾Ýϸ½ÚµÄÒªÇó¡£Ë ......

Linux wifiÅäÖÃ


Wi-FiWirelessFidelity£¬ÎÞÏß±£Õæ¡¡¼¼ÊõÓëÀ¶ÑÀ¼¼ÊõÒ»Ñù£¬Í¬ÊôÓÚÔڰ칫ÊҺͼÒÍ¥ÖÐʹÓõĶ̾àÀëÎÞÏß¼¼Êõ¡£¸Ã¼¼ÊõʹÓõÄʹ
2.4GHz¸½½üµÄƵ¶Î£¬¸ÃƵ¶ÎĿǰÉÐÊôûÓÃÐí¿ÉµÄÎÞÏ߯µ¶Î¡£ÆäĿǰ¿ÉʹÓõıê×¼ÓÐÁ½¸ö£¬·Ö±ðÊÇIEEE802.11aºÍIEEE802.11b¡£¸Ã¼¼ÊõÓÉÓÚÓÐ×Å×ÔÉíµÄÓŵ㣬Òò´ËÊܵ½³§É̵ÄÇàíù¡£
¡¡¡¡Wi-Fi¼¼ÊõÍ»³öµ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ