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
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
VMwar ......
Ç°ÃæÀûÓÿª·¢°å´øµÄÏֳɵĶ«Î÷step by stepÈÃLinux 2.4.19ÔÚ¿ª·¢°åÉÏÅÜÆðÀ´ÁË£¬¶ÔÓÚ¿ª·¢µÄÁ÷³ÌÒ²ÓÐÁËÒ»¶¨µÄÈÏʶ¡£ÏÖÔÚÏë¶Ôÿһ²½½øÐÐÏêϸÉîÈëµÄ̽ÌÖ£¬ºÃºÃѧϰһÏ£¬°Ñ±Ê¼Ç¼Ç¼ÏÂÀ´£¬Ê¡µÃÍü¼ÇÁË¡£ÓÐЩÄÚÈÝÊÇ´Ó¿´¹ýµÄÊéÖÐÕªÒª¹ýÀ´µÄ£¬´ó²¿·ÖÊÇ×Ô¼ºÊµ¼ùºóµÄÐĵá£ÎÒÏë¼ÇµÃÏêϸµã£¬Ò²ºÃΪºóÃæ×ܽá´òºÃ»ù´¡¡£
------- ......
×ʼʱ£¬ramоƬÖаüº¬µÄÊÇËæ»úÊý¾Ý¡£µ±¿ªÊ¼Æô¶¯Ê±£¬cpuµÄÒ»¸öÒý½ÅÉÏ»á²úÉúÒ»¸öresetÂß¼Öµ¡£´Ëºó´¦ÀíÆ÷µÄһЩ¼Ä´æÆ÷ÉèÖóɹ̶¨µÄÊýÖµ£¬²¢Ö´ÐÐÔÚÎïÀíµØÖ·0xfffffff0´¦ÕÒµ½µÄ´úÂë¡£Ó²¼þ°ÑÕâ¸öµØÖ·Ó³É䵽ij¸öÖ»¶Á¡¢³Ö¾ÃµÄ´æ´¢Ð¾Æ¬ÖУ¬¸ÃоƬͨ³£³ÆÎªrom(read-only memoryÖ»¶ÁÄÚ´æ)¡£romËù´æ·ÅµÄ³ÌÐò¼¯ÔÚ80x86ÌåϵÖÐͨ³£½Ð×ö ......