wince 中虛擬地址與物理地址的換算(非程序)

时间:2022-06-01 22:15:39

MIPS 和 SHX 系列的cpu 物理地址映射由cpu 完成。但x86和arm 系列是通過OEMAddressTable 詳細定義的。以samsung舉例說明換算方法 下面是eboot配置文件中 boot.bib 的配置項,想從中知道eboot sdram 的啟動地址 MEMORY ; Name Start Size Type ; ------- -------- -------- ---- ARGS 8c020800 00000800 RESERVED RAM 8c026000 00006000 RAM STACK 8c02c000 00008000 RESERVED EBOOT 8c038000 00040000 RAMIMAGE BINFS 8c080000 00028000 RESERVED 從上表中可知eboot 內存中啟動地址為8c038000然后去查oemaddrtab_cfg.c中查看OEMAdrressTable. g_oalAddressTable DCD 0x80000000, 0x36000000, 32 ; 32 MB DRAM BANK 6 DCD 0x82000000, 0x08000000, 32 ; 32 MB SROM(SRAM/ROM) BANK 1 DCD 0x84000000, 0x18000000, 32 ; 32 MB SROM(SRAM/ROM) BANK 3 DCD 0x86000000, 0x20000000, 32 ; 32 MB SROM(SRAM/ROM) BANK 4 DCD 0x88000000, 0x28000000, 32 ; 32 MB SROM(SRAM/ROM) BANK 5 DCD 0x8a000000, 0x30000000, 96 ; 32 MB DRAM BANK 6 DCD 0x90800000, 0x48000000, 1 ; Memory control register DCD 0x90900000, 0x49000000, 1 ; USB Host register DCD 0x90A00000, 0x4A000000, 1 ; Interrupt Control register DCD 0x90B00000, 0x4B000000, 1 ; DMA control register DCD 0x90C00000, 0x4C000000, 1 ; Clock & Power register DCD 0x90D00000, 0x4D000000, 1 ; LCD control register DCD 0x90E00000, 0x4E000000, 1 ; NAND flash control register DCD 0x90F00000, 0x4F000000, 1 ; Camera control register DCD 0x91000000, 0x50000000, 1 ; UART control register DCD 0x91100000, 0x51000000, 1 ; PWM timer register DCD 0x91200000, 0x52000000, 1 ; USB device register DCD 0x91300000, 0x53000000, 1 ; Watchdog Timer register DCD 0x91400000, 0x54000000, 1 ; IIC control register DCD 0x91500000, 0x55000000, 1 ; IIS control register DCD 0x91600000, 0x56000000, 1 ; I/O Port register DCD 0x91700000, 0x57000000, 1 ; RTC control register DCD 0x91800000, 0x58000000, 1 ; A/D convert register DCD 0x91900000, 0x59000000, 1 ; SPI register DCD 0x91A00000, 0x5A000000, 1 ; SD Interface register DCD 0x92000000, 0x00000000, 32 ; 32 MB SROM(SRAM/ROM) BANK 0 DCD 0x94000000, 0x10000000, 32 ; nGCS2: PCMCIA/PCCARD DCD 0x00000000, 0x00000000, 0 ; end of table 由上表可知0x8a000000對應的物理地址為0x30000000 換算可知 0x8c038000 對應的物理地址則為0x32038000