linux随身记
當(dāng)有了mmu之后cpu使用的就是已經(jīng)過(guò)MMU映射的虛擬地址,而沒(méi)有MMU的就是使用的物理的地址,對(duì)于CPU來(lái)說(shuō)虛擬地址和實(shí)際地址是沒(méi)有區(qū)別的,但是有了虛擬地址之后,同時(shí)運(yùn)行的不同的程序中的變量就可能由相同的地址
寫(xiě)程序的時(shí)候連接地址也是沒(méi)有虛擬地址和物理地址的概念的,就是一個(gè)單獨(dú)的地址;
SECTIONS {. = 0x30000000;.text : { *(.text) }.rodata ALIGN(4) : {*(.rodata)} .data ALIGN(4) : { *(.data) }.bss ALIGN(4) : { *(.bss) *(COMMON) } }位置無(wú)關(guān)碼:
. = 0x30000000;這個(gè)程序應(yīng)該放到 0x30000000位置,說(shuō)的是SDRAM的地址
SECTIONS {
??? . = 0x30000000;
??? .text????????? :?? { *(.text) }
??? .rodata ALIGN(4) : {*(.rodata)}
??? .data ALIGN(4) : { *(.data) }
??? .bss ALIGN(4)? : { *(.bss)? *(COMMON) }
}
?
?
?
?
總結(jié)
- 上一篇: 数据管护技术及应用
- 下一篇: linux-内核启动流程分析