⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setupmemmap.cmm

📁 QUALCOMM JNAND DRIVER
💻 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 + -