linux随身记
當有了mmu之后cpu使用的就是已經過MMU映射的虛擬地址,而沒有MMU的就是使用的物理的地址,對于CPU來說虛擬地址和實際地址是沒有區別的,但是有了虛擬地址之后,同時運行的不同的程序中的變量就可能由相同的地址
寫程序的時候連接地址也是沒有虛擬地址和物理地址的概念的,就是一個單獨的地址;
SECTIONS {. = 0x30000000;.text : { *(.text) }.rodata ALIGN(4) : {*(.rodata)} .data ALIGN(4) : { *(.data) }.bss ALIGN(4) : { *(.bss) *(COMMON) } }位置無關碼:
. = 0x30000000;這個程序應該放到 0x30000000位置,說的是SDRAM的地址
SECTIONS {
??? . = 0x30000000;
??? .text????????? :?? { *(.text) }
??? .rodata ALIGN(4) : {*(.rodata)}
??? .data ALIGN(4) : { *(.data) }
??? .bss ALIGN(4)? : { *(.bss)? *(COMMON) }
}
?
?
?
?
總結
- 上一篇: 数据管护技术及应用
- 下一篇: 作者:李涛(1975-),男,博士,南京