📄 setupmemmap.cmm
字号:
;****************************************************************************
;** SetupMemMap.CMM **
;** This script sets up MSM6250's memory map **
;** Expects globals &TARGET_TYPE, &BOOT_MODE, &SHADOW_MODE **
;** and others to be defined **
;** **
;** Changes: **
;** 05-12-03 Changes for MSM6250 **
;** 05-01-02 First version **
;****************************************************************************
;
//COMMON INIT
; Are we booting an FFA or a SURF?
IF STRING.SCAN("&TARGET_TYPE","FFA&MSM6250",0)>-1
(
PRINT "SetupMemMap:MSM6250 FFA selected"
; Hardcode the memory addresses, since FFA memory map is fixed
&EBI1_SDRAM_BASE_ADDR=&CS_EBI1_FIRST_BASE_ADDR
&SETUP_MPMC_SDRAM=1
)
ELSE IF STRING.SCAN("&TARGET_TYPE","MASTODON_SURF&MSM6250",0)>-1
(
PRINT "SetupMemMap:MSM6250 SURF selected"
GOSUB SetupSURF
)
ELSE // TARGET was not set to SURF or FFA -- ERR out
(
PRINT "SetupMemMap: ERROR: invalid TARGET_TYPE (&TARGET_TYPE) -- update this cmm)"
WAIT 5.s
)
ENDDO
SetupSURF:
; SURF memory map varies -- set up according to configuration
; Which boot mode (SDRAM or NOR?) -- sets memory map
IF STRING.SCAN("&BOOT_MODE","NAND",0)>-1
(
PRINT "SetupMemMap: SDRAM BOOT mode selected"
&EBI1_SDRAM_BASE_ADDR=&CS_EBI1_FIRST_BASE_ADDR
&EBI1_DATA_PSRAM_BASE_ADDR=&CS_EBI1_FOURTH_BASE_ADDR
&EBI1_NOR_BASE_ADDR=&CS_EBI1_THIRD_BASE_ADDR
&EBI1_PSRAM_BASE_ADDR=&CS_EBI1_SECOND_BASE_ADDR
&SETUP_MPMC_SDRAM=1
)
ELSE IF STRING.SCAN("&BOOT_MODE","NOR",0)>-1
(
PRINT "SetupMemMap: NOR BOOT mode selected"
&SETUP_XMEMC=1
IF &SHADOW_MODE==0 // non-shadow mode
(
PRINT "SetupMemMap: Shadow mode disabled"
&EBI1_NOR_BASE_ADDR=&CS_EBI1_FIRST_BASE_ADDR
&EBI1_DATA_PSRAM_BASE_ADDR=&CS_EBI1_SECOND_BASE_ADDR
&EBI1_SDRAM_BASE_ADDR=&CS_EBI1_THIRD_BASE_ADDR
)
ELSE //SHADOW_MODE == 1 // Switch PSRAM & NOR, NOR may not be accessible here
(
PRINT "SetupMemMap: SHADOW mode: PSRAM shadow of NOR enabled"
&EBI1_PSRAM_BASE_ADDR=&CS_EBI1_FIRST_BASE_ADDR
&EBI1_DATA_PSRAM_BASE_ADDR=&CS_EBI1_SECOND_BASE_ADDR
&EBI1_SDRAM_BASE_ADDR=&CS_EBI1_THIRD_BASE_ADDR
)
)
ELSE // boot mode not set correctly
(
PRINT "SetupMemMap: ERROR: BOOT mode: invalid (&BOOT_MODE), use NAND or NOR"
)
RETURN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -