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

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

»¶Ó­»Øµ½KernelÖÐ……
¼ÌÐøËµ__vet_atagsº¯Êý£¬Õâ¸öº¯ÊýÈԾɶ¨ÒåÔÚarch\arm\kernel\head-common.sÎļþÖУº
/* Determine validity of the r2 atags pointer.  The heuristic requires
 * that the pointer be aligned, in the first 16k of physical RAM and
 * that the ATAG_CORE marker is first and present.  Future revisions
 * of this function may be more lenient with the physical address and
 * may also be able to move the ATAGS block if necessary.
 *
 * r8  = machinfo
 *
 * Returns:
 *  r2 either valid atags pointer, or zero
 *  r5, r6 corrupted
 */
__vet_atags:
tst r2, #0x3 @ aligned?
bne 1f
ldr r5, [r2, #0] @ is first tag ATAG_CORE?
subs r5, r5, #ATAG_CORE_SIZE
bne 1f
ldr r5, [r2, #4]
ldr r6, =ATAG_CORE
cmp r5, r6
bne 1f
mov pc, lr @ atag pointer is ok
1: mov r2, #0
mov pc, lr
ENDPROC(__vet_atags)
ÓÉTIµÄоƬÊÖ²áÖª£¬OMAP3430µÄSDRAMµØÖ·¿Õ¼ä×Ô0x80000000Æð£¬¼Æ1GB¿Õ¼ä¡£º¯Êý¿ªÊ¼µÄ×¢ÊÍÃ÷È·ÒªÇóATAG±íÐèÒªÔÚRAMÎïÀíµØÖ·Ç°16KB£¬¼´0x80000000-0x80004000·¶Î§ÄÚ£¬r2µÄ0x80000100Âú×ã´ËÒªÇó¡£¼òµ¥µÄÅжÏÁËÒ»ÏÂATAG±íµÄÆðʼµØÖ·ÊÇ·ñ¶ÔÆë£¬ÊÇ·ñÒÔATAG_CORE×÷Ϊ¿ªÍ·±êÖ¾£¬¸Ãº¯Êý·µ»Ø¡£
__create_page_tablesº¯Êý£¬ÕâÊÇÒª·ÖÎöµÄÖØµãº¯Êý£¬¸Ãº¯Êý¾ÍÔÚarch\arm\kernel\head.sÎļþĩβ¡£
ÏÈÀ´¿´Ò»¸öºê¶¨Ò壺
.macro pgtbl, rd
ldr \rd, =(KERNEL_RAM_PADDR - 0x4000)
.endm
KERNEL_RAM_PADDRµÄ¶¨ÒåΪ£º
#define KERNEL_RAM_PADDR (PHYS_OFFSET + TEXT_OFFSET)
PHYS_OFFSETÔÚÎļþarch\arm\plat-omap\include\mach\memory.hÖУ¨ÔõôÕÒµ½ÕâÀïµÄ£¬ÆäʵÊÇarch\arm\kernel\head.sÖаüº¬ÁËarch\arm\include\asm\memory.hÖÐÓÖ°üº¬ÁËarch\arm\plat-omap\include\mach\memory.hµÄÔµ¹Ê……£©¶¨ÒåΪ0x80000000£¬¶øTEXT_OFFSETÔòÐèÒªÔÚMakefileÖÐѰÕÒµ½´ð°¸¡£arch\arm\MakefileÖж¨Òå
……
textofs-y := 0x00008000
……
TEXT_OFFSET := $(textofs-y)
¿É¼û£¬TEXT_OFFSETµÄֵΪ0x00008000£¬Ôٻص½ºêpgtbl£¬¿É¼ÆËã³öKERNEL_RAM_PADDRµÄֵΪ0x80000000+0x00008000=0x80008000×îºó¸³¸ø¼Ä´æÆ÷ֵΪ0x80008000-0x4000=0x


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨ËÄ£© L2CAP²ã±à³Ì

£¨L2CAPЭÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPЭÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼­Á¬½Ó¿ØÖƺÍÊÊÅäЭÒé (L2CAP) ΪÉϲãЭÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àЭÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãЭÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......

VMwareÏÂwindowsºÍLinux¹²ÏíÎļþµÄ·½·¨

                                                  VMwar ......

»ùÓÚATMEL AT91RM9200µÄǶÈëʽLinuxÒÆÖ²±Ê¼Ç


  Ç°ÃæÀûÓÿª·¢°å´øµÄÏֳɵĶ«Î÷step by stepÈÃLinux 2.4.19ÔÚ¿ª·¢°åÉÏÅÜÆðÀ´ÁË£¬¶ÔÓÚ¿ª·¢µÄÁ÷³ÌÒ²ÓÐÁËÒ»¶¨µÄÈÏʶ¡£ÏÖÔÚÏë¶Ôÿһ²½½øÐÐÏêϸÉîÈëµÄ̽ÌÖ£¬ºÃºÃѧϰһÏ£¬°Ñ±Ê¼Ç¼Ç¼ÏÂÀ´£¬Ê¡µÃÍü¼ÇÁË¡£ÓÐЩÄÚÈÝÊÇ´Ó¿´¹ýµÄÊéÖÐÕªÒª¹ýÀ´µÄ£¬´ó²¿·ÖÊÇ×Ô¼ºÊµ¼ùºóµÄÐĵá£ÎÒÏë¼ÇµÃÏêϸµã£¬Ò²ºÃΪºóÃæ×ܽá´òºÃ»ù´¡¡£
------- ......

linux 2.6Ô´´úÂëÇé¾°·ÖÎö±Ê¼Ç֮ϵͳÆô¶¯1

×ʼʱ£¬ramоƬÖаüº¬µÄÊÇËæ»úÊý¾Ý¡£µ±¿ªÊ¼Æô¶¯Ê±£¬cpuµÄÒ»¸öÒý½ÅÉÏ»á²úÉúÒ»¸öresetÂß¼­Öµ¡£´Ëºó´¦ÀíÆ÷µÄһЩ¼Ä´æÆ÷ÉèÖóɹ̶¨µÄÊýÖµ£¬²¢Ö´ÐÐÔÚÎïÀíµØÖ·0xfffffff0´¦ÕÒµ½µÄ´úÂë¡£Ó²¼þ°ÑÕâ¸öµØÖ·Ó³É䵽ij¸öÖ»¶Á¡¢³Ö¾ÃµÄ´æ´¢Ð¾Æ¬ÖУ¬¸ÃоƬͨ³£³ÆÎªrom(read-only memoryÖ»¶ÁÄÚ´æ)¡£romËù´æ·ÅµÄ³ÌÐò¼¯ÔÚ80x86ÌåϵÖÐͨ³£½Ð×ö ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ