内核移植(五)——head.S文件分析
这里的内核源代码是根据九鼎科技为s5pvx210开发板移植好的内核来分析的 1:内核运行的物理地址与虚拟地址 (1)KERNEL_RAM_VADDR(VADDR就是virtual address),这个宏定义了内核运行时的虚拟地址。值为0xC0008000 (2)KERNEL_RAM_PADDR(PADDR就是physical address),这个宏定义内核运行时的物 理地址。值为0x30008000 (3)总结:内核运行的物理地址是0x30008000,对应的虚拟地址是0xC0008000。而物理地址为什么是30008000是因为在移植uboot的时候为了得到连续的512M的内存,将内存地址的开头设置为30000000 2:内核的真正入口 (1)内核的真正入口就是ENTRY(stext)处 (2)前面的__HEAD定义了后面的代码属于段名为.head.text的段 3:内核运行的硬件条件 (1) 内核的起始部分代码是被解压代码调用的。回忆之前讲zImage的时候,uboot启动内核后实际调用运行的是zImage前面的那段未经压缩的解压代码,解压代码运行时先将zImage后段的内核解...
