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

📄 sti550xchip.cfg

📁 flash programming STI 5.5.1.4 DCU3
💻 CFG
字号:
include commonchip.cfg
include STi550xaddr.cfg

#######################################################
##
## Set up STi550X register blocks within the MPEG block
##
#######################################################

proc sti550XMPEGRegisters addr=$1 chiptype = $2 {
  VideoDecoderRegisters (addr, chiptype)
  ConfigurationRegisters (addr, false)
  ClockGeneratorRegisters (addr, false)
  PESParserRegisters (addr)
  SDRAM1DBlockMoveRegisters (addr)

  if (chiptype == "5500") {
    AudioMPEGRegisters (addr + 0x200, chiptype)
  } else {
    AudioAC3DecoderRegisters (addr + 0x200)
  }

  SubPictureDecoderRegisters (addr + 0x400, chiptype)

  DigitalEncoder1Registers (addr + 0x600)
}

#######################################################
##
## Set up STi550x peripheral register blocks
##
#######################################################

proc sti550xregisters chiptype=$1 i=0 cycles=5 {

  ## cycles is the MPEG register speed, in 2-5, which affects the MPEG addresses.
  ## 5 is the slowest, which should be ok for debugging
  sti550XMPEGRegisters (0x00001000 + ((cycles-2) * 0x80), chiptype)

  EMIRegisters (Devices[Devices.EMIindex].addr, false, false, chiptype)
  DCU2Registers (Devices[Devices.DCU2index].addr)
  CacheControl1Registers (Devices[Devices.CACHEindex].addr)
  InterruptControllerRegisters (Devices[Devices.INTCTRLindex].addr)
  for (i=0;i<Devices.NUMASC;i++) {
    AsynchronousSerialControllerRegisters (Devices[Devices.ASCindex+i].addr, i, false, false, chiptype)
  }
  for (i=0;i<Devices.NUMSCI;i++) {
    SmartCardInterfaceRegisters (Devices[Devices.SCIindex+i].addr, i)
  }
  SynchronousSerialController1Registers (Devices[Devices.SCCindex].addr)
  PWMControllerRegisters (Devices[Devices.PWMCTRLindex].addr)
  for (i=0;i<Devices.NUMPIO;i++) {
    PIOControllerRegisters (Devices[Devices.PIOindex+i].addr, i)
  }
  InterruptLevelControllerRegisters (Devices[Devices.INTLEVELCTRLindex].addr, Devices[Devices.INTLEVELCTRLNUMINPUTSindex].addr, false, false)
  for (i=0;i<Devices.NUMMPEGDMA;i++) {
    MPEGDMAControllerRegisters (Devices[Devices.MPEGDMACTRLindex+i].addr, i)
  }
  TeletextInterfaceRegisters (Devices[Devices.TTindex].addr, false, chiptype)
  ChanBlockMoveDMAControllerRegisters (Devices[Devices.ChanBlockMoveindex].addr)
}

proc sti550xchip {
  sti550xmemory $*
  sti550xregisters $*
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -