st20tp3addr.cfg

来自「flash programming STI 5.5.1.4 DCU3」· CFG 代码 · 共 108 行

CFG
108
字号
if (!(clsymbol TP3ADDR)) {
TP3ADDR=1

## addresses of onchip tp3 devices

Devices.index=0

Devices.EMIindex=Devices.index++
Devices[Devices.EMIindex].symname = "EMIAddr"
Devices[Devices.EMIindex].addr = 0x2000

Devices.DCU2index=Devices.index++
Devices[Devices.DCU2index].symname = "DCU2Addr"
Devices[Devices.DCU2index].addr = 0x3000

Devices.CACHEindex=Devices.index++
Devices[Devices.CACHEindex].symname = "CacheControlAddr"
Devices[Devices.CACHEindex].addr = 0x4000

Devices.INTCTRLindex=Devices.index++
Devices[Devices.INTCTRLindex].symname = "InterruptControllerAddr"
Devices[Devices.INTCTRLindex].addr = 0x20000000

Devices.INTCTRLLEVELSindex=Devices.index++
Devices[Devices.INTCTRLLEVELSindex].symname = "InterruptControllerLevels"
Devices[Devices.INTCTRLLEVELSindex].addr = 8

Devices.LPCTRLindex=Devices.index++
Devices[Devices.LPCTRLindex].symname = "LowPowerControllerAddr" 
Devices[Devices.LPCTRLindex].addr = 0x20000400

Devices.ASCindex=Devices.index
Devices.NUMASC=4
for (i=0;i<Devices.NUMASC;i++) {
  Devices[Devices.ASCindex+i].symname = "ASC"+(mkstr(i))+"Addr"
  Devices[Devices.ASCindex+i].addr = 0x20003000 + (i * 0x1000)
}
Devices.index += Devices.NUMASC

Devices.SCIindex=Devices.index
Devices.NUMSCI=2
for (i=0;i<Devices.NUMSCI;i++) {
  Devices[Devices.SCIindex+i].symname = "SCI"+(mkstr(i))+"Addr"
  Devices[Devices.SCIindex+i].addr = 0x20007000 + (i * 0x1000)
}
Devices.index += Devices.NUMSCI

Devices.SCCindex=Devices.index
Devices.NUMSCC=2
for (i=0;i<Devices.NUMSCC;i++) {
  Devices[Devices.SCCindex+i].symname = "SCC"+(mkstr(i))+"Addr"
  Devices[Devices.SCCindex+i].addr = 0x20009000 + (i * 0x1000)
}
Devices.index += Devices.NUMSCC

Devices.PWMCTRLindex=Devices.index++
Devices[Devices.PWMCTRLindex].symname = "PWMControllerAddr"
Devices[Devices.PWMCTRLindex].addr = 0x2000B000

Devices.PIOindex=Devices.index
Devices.NUMPIO=5
for (i=0;i<Devices.NUMPIO;i++) {
  Devices[Devices.PIOindex+i].symname = "PIOController"+(mkstr(i))+"Addr"
  Devices[Devices.PIOindex+i].addr = 0x2000c000 + (i * 0x1000)
}
Devices.index += Devices.NUMPIO

Devices.INTLEVELCTRLindex=Devices.index++
Devices[Devices.INTLEVELCTRLindex].symname = "InterruptLevelControllerAddr"
Devices[Devices.INTLEVELCTRLindex].addr = 0x20011000

Devices.INTLEVELCTRLNUMINPUTSindex=Devices.index++
Devices[Devices.INTLEVELCTRLNUMINPUTSindex].symname = "InterruptLevelControllerNumInputs"
Devices[Devices.INTLEVELCTRLNUMINPUTSindex].addr = 21

Devices.INTLEVELCTRLINPUTOFFSETindex=Devices.index++
Devices[Devices.INTLEVELCTRLINPUTOFFSETindex].symname = "InterruptLevelControllerInputOffset"
Devices[Devices.INTLEVELCTRLINPUTOFFSETindex].addr = 31

Devices.TTindex=Devices.index++
Devices[Devices.TTindex].symname = "TeletextInterfaceAddr"
Devices[Devices.TTindex].addr = 0x20024000

Devices.IEEE1284index=Devices.index++
Devices[Devices.IEEE1284index].symname = "IEEE1284ParallelPortAddr"
Devices[Devices.IEEE1284index].addr = 0x20025000

Devices.BlockMoveindex=Devices.index++
Devices[Devices.BlockMoveindex].symname = "BlockMoveDMAControllerAddr"
Devices[Devices.BlockMoveindex].addr = 0x20026000

Devices.IEEE1394index=Devices.index++
Devices[Devices.IEEE1394index].symname = "IEEE1394LLIAddr"
Devices[Devices.IEEE1394index].addr = 0x20027000

Devices.PTIindex=Devices.index++
Devices[Devices.PTIindex].symname = "PTIAddr"
Devices[Devices.PTIindex].addr = 0x20030000

}

proc tp3memory {
  memory INTERNAL 0x80000000 (6*K) RAM
  memory SYSTEM 0x80000000 (0x140) RESERVED
  memory ONCHIPDEVICES 0 0x5000 DEVICE ## can be word accessed via DCU 
  memory ONCHIPPERIPHERALS 0x20000000 0x1000000 PERIPHERAL   ## cannot be accessed via DCU
}

⌨️ 快捷键说明

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