Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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


Ïà¹ØÎĵµ£º

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

Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......

Linux ²Ù×÷ϵͳ C ÓïÑÔ±à³ÌÈëÃÅ

Linux ²Ù×÷ϵͳ C ÓïÑÔ±à³ÌÈëÃÅ

Ŀ ¼
µÚÒ»Õ »ù´¡ÖªÊ¶ ……………………………………………………………4
µÚ¶þÕÂ ......

LinuxÏ´®¿ÚÐÅÏ¢µÄ¶ÁÈ¡

1. ´ò¿ª´®¿Ú
¡¡¡¡ÓëÆäËûµÄ¹ØÓÚÉ豸±à³ÌµÄ·½·¨Ò»Ñù£¬ÔÚLinuxÏ£¬²Ù×÷¡¢¿ØÖÆ´®¿ÚÒ²ÊÇͨ¹ý²Ù×÷ÆðÉ豸Îļþ½øÐеġ£ÔÚLinuxÏ£¬´®¿ÚµÄÉ豸ÎļþÊÇ/dev/ttyS0»ò/dev/ttyS1µÈ¡£Òò´ËÒª¶Áд´®¿Ú£¬ÎÒÃÇÊ×ÏÈÒª´ò¿ª´®¿Ú£º
¡¡
¡¡¡¡char *dev = "/dev/ttyS0"£» //´®¿Ú1
¡¡
¡¡¡¡int fd = open£¨ dev£¬ O_RDWR £©£»
¡¡
¡¡¡¡//| O_NOCT ......

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

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

Linux wifiÅäÖÃ


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