S5PV210 WinCE6.0 使用双通道512MmDDR(256mx2)

主要有以下几个地方需要注意:

1. Image_Cfg.h

[cpp]  view plain copy
  1. // DRAM1 Base Address  
  2. #define DRAM_BASE_PA_START                  (0x40000000)  
  3. #define DRAM_BASE_CA_START                  (0x80000000)  
  4. #define DRAM_BASE_UA_START                  (0xA0000000)  
  5. #define DRAM_BASE_PA_LAST                   (0x48000000)  
  6. #define DRAM_BASE_CA_LAST                   (0x88000000)  
  7. #define DRAM_BASE_UA_LAST                   (0xA8000000)  
  8. // Extra DRAM1 Base Address for V210  
  9. #define DRAM_EXTRA_BASE_PA_START                (0x48000000)  
  10. #define DRAM_EXTRA_BASE_CA_START                (0x99600000)  
  11. #define DRAM_EXTRA_BASE_UA_START                (0xB9600000)  
  12. #define DRAM_EXTRA_SIZE                                 (0x06A00000)  
  13. #define DRAM_EXTRA_BASE_UA_LAST             (DRAM_EXTRA_BASE_UA_START + DRAM_EXTRA_SIZE)  
  14. // DRAM0 Base Address  
  15. #define DRAM0_BASE_PA_START                 (0x20000000)  
  16. #define DRAM0_BASE_CA_START                 (0x88000000)  
  17. #define DRAM0_BASE_UA_START                 (0xA8000000)  
  18. #define DRAM0_BASE_PA_LAST                  (0x28000000)  
  19. #define DRAM0_BASE_CA_LAST                  (0x90000000)  
  20. #define DRAM0_BASE_UA_LAST                  (0xB0000000)  

2. oemaddrtab_cfg.inc
[cpp]  view plain copy
  1. DCD DRAM_BASE_CA_START,             DRAM_BASE_PA_START,      128 ; 128 MB DRAM  
  2. DCD DRAM0_BASE_CA_START,            DRAM0_BASE_PA_START,         128 ; 128 MB DRAM on DMC0          
  3. DCD BASE_REG_CA_CHIPID,             BASE_REG_PA_CHIPID,          43  ; 43 MB SFR,       0x9000_0000 - 0x92AF_FFFF  
3. image_cfg.inc
[cpp]  view plain copy
  1. ;------------------------------------------------------------------------------  
  2. ; SDRAM   
  3. ;------------------------------------------------------------------------------  
  4. DRAM0_BASE_PA_START        EQU    (0x20000000)  
  5. DRAM0_BASE_CA_START        EQU    (0x88000000)  
  6. DRAM0_BASE_UA_START        EQU    (0xA8000000)  
  7. DRAM0_SIZE                 EQU    (0x08000000)  ;128M  
  8.   
  9. ;------------------------------------------------------------------------------  
  10. ; SDRAM   
  11. ;------------------------------------------------------------------------------  
  12. DRAM_BASE_PA_START        EQU    (0x40000000)  
  13. DRAM_BASE_CA_START        EQU    (0x80000000)  
  14. DRAM_BASE_UA_START        EQU    (0xA0000000)  
  15. DRAM_SIZE                 EQU    (0x08000000)   ;128M  
  16.   
  17. ;------------------------------------------------------------------------------  
  18. ; Extra DRAM for V210  
  19. ;------------------------------------------------------------------------------  
  20. DRAM_EXTRA_BASE_PA_START  EQU    (0x48000000)  
  21. DRAM_EXTRA_BASE_CA_START  EQU    (0x99600000)  
  22. DRAM_EXTRA_BASE_UA_START  EQU    (0xB9600000)  
  23. DRAM_EXTRA_SIZE           EQU    (0x06A00000)   ;106M  

4 . init.c
[cpp]  view plain copy
  1. static DWORD OEMEnumExtensionDRAM(  
  2.   PMEMORY_SECTION pMemSections,  
  3.   DWORD cMemSections)  
  4. {  
  5.     DWORD cSections = 0;  
  6.     if (cSections < cMemSections)  
  7.     {  
  8.         // DRAM0 Area  
  9.         pMemSections[cSections].dwFlags = 0;  
  10.         pMemSections[cSections].dwStart = DRAM0_BASE_CA_START;  //0x88000000  
  11.         pMemSections[cSections].dwLen =  ONEDRAM_EXTSIZE_FOR_AP;  
  12.         cSections++;  
  13.         // Extra DRAM1 Area 0x48000000, 106MB  
  14.         pMemSections[cSections].dwFlags = 0;  
  15.         pMemSections[cSections].dwStart = DRAM_EXTRA_BASE_CA_START;  //0x99600000  
  16.         pMemSections[cSections].dwLen =  DRAM_EXTRA_SIZE;  
  17.         cSections++;          
  18.     }  
  19.     return cSections;  
  20. }  

image_cfg.inc貌似不改也没问题。

其余的关于内存的一些配置,在System_Init.c中,可以对照内存的Spec以及210手册中Memory配置部分即可。

你可能感兴趣的:(wince)