Squashed all commits

This commit is contained in:
Kai-Bjoern
2020-04-16 16:52:36 +02:00
parent 97e1e226f3
commit ff72483525
2019 changed files with 824245 additions and 3 deletions

View File

@@ -0,0 +1,43 @@
// T3210000 Wed Sep 27 07:34:53 2017
B::
TOOLBAR ON
STATUSBAR ON
FramePOS ,,,,Maximized
WinPAGE.RESet
WinPAGE.Create P000
WinCLEAR
WinPOS 0% 0% 50% 78% ,,, W000
;WinTABS 10. 10. 25. 62.
wm.List.auto
WinPOS 50% 0% 30% 28% ,,, W001
;WinTABS 13. 0. 0. 0. 0. 0. 0.
wm.Break.List
WinPOS 50% 30% 30% 70% ,,, W002
wm.Var.Watch %Hex %Decimal
VAR.ADDWATCH OSPrioCur
WinPOS 80% 0% 20% 50% ,,, W003
wm.Register /SPOTLIGHT
WinPOS 0% 80% 50% 20% ,,, W004
wm.Symbol.browse \\*\*\*
;WinPAN 0. 239.
;WinPOS 50% 50% 30% 50% ,,, W005
;wm.Perf.ListFunc
WinPos 80% 50% 20% 50% ,,, W006
wm.Frame /Locals
WinPAGE.select P000
ENDDO

View File

@@ -0,0 +1,78 @@
LOCAL &ppd
&ppd=OS.PPD()
&tmpDir=OS.PTD()
WinCLEAR
; --------------------------------------------------------------------------------
; common SYStem settings
PRINT "Assigning Cores"
CD &ppd
RESet
System.RESet
SYStem.CPU ZYNQ-7000
SYStem.CONFIG CORE 1. 1.
SYStem.CONFIG SLAVE OFF
CORE.ASSIGN 1.
; set DaisyChaining Parameters of the board
; check e.g. SYStem.DETECT.ShowCHAIN
PRINT "Setting up DaisyChain Parameters"
SYStem.CONFIG DAPIRPRE 6.
SYStem.CONFIG DAPIRPOST 0.
SYStem.CONFIG DAPDRPRE 1.
SYStem.CONFIG DAPDRPOST 0.
; trigger a soft-reset using the AHB Bus -> we loose the connection
PRINT "Trigger Soft-Reset"
SYStem.Mode.Prepare
ON ERROR CONTinue
Data.Set EAHB:0xF8000008 %Long 0xDF0D
Data.Set EAHB:0xF8000200 %Long 0x1
WAIT 0.1s
PRINT ""
ON ERROR inherit
PRINT "Attach and initialize"
SYStem.Mode.Attach
Break
PRINT "initializing the target"
DO "~~/demo/arm/hardware/zynq-7000/scripts/trace/ps7_init.cmm" "&ppd/../ps7_init.tcl"
PRINT "programming the FPGA design"
LOCAL &bitfile
&bitfile="&ppd/../base_zynq_wrapper.bit"
DO "~~/demo/arm/hardware/zynq-7000/scripts/zynq_bitstream" "&bitfile" 0x00100000
; --------------------------------------------------------------------------------
; initialize ONCHIP trace (ETM)
Trace.Method Onchip
ETM.TraceID 1.
ETM.Trace ON
ETM.ON
Trace.Clock 666MHz
ETM.TimeMode CycleAccurate
; Some optional settings
SETUP.Var %SpotLight
MAP.BOnchip 0x0--0xffffffff // force onchip-breakpoints
MODE.HLL
; load code
Data.LOAD.Elf "&ppd/../../../out/Aufgabe1_ps7_core0.elf"
; run to main
Go main
WAIT !STATE.RUN()
; initialize RTOS support
PRINT "initializing uC/OS-II support..."
TASK.CONFIG ../ucos ; load uC/OS-II Awareness
MENU.ReProgram ../ucos.men ; load uC/OS-II Menu
HELP.FILTER.Add rtosucos ; add ucos awareness manual to help filter
ENDDO

View File

@@ -0,0 +1,43 @@
// T3210000 Wed Sep 27 07:34:53 2017
B::
TOOLBAR ON
STATUSBAR ON
FramePOS ,,,,Maximized
WinPAGE.RESet
WinPAGE.Create P000
WinCLEAR
WinPOS 0% 0% 50% 78% ,,, W000
;WinTABS 10. 10. 25. 62.
wm.List.auto
WinPOS 50% 0% 30% 28% ,,, W001
;WinTABS 13. 0. 0. 0. 0. 0. 0.
wm.Break.List
WinPOS 50% 30% 30% 70% ,,, W002
wm.Var.Watch %Hex %Decimal
VAR.ADDWATCH OSPrioCur
WinPOS 80% 0% 20% 50% ,,, W003
wm.Register /SPOTLIGHT
WinPOS 0% 80% 50% 20% ,,, W004
wm.Symbol.browse \\*\*\*
;WinPAN 0. 239.
;WinPOS 50% 50% 30% 50% ,,, W005
;wm.Perf.ListFunc
WinPos 80% 50% 20% 50% ,,, W006
wm.Frame /Locals
WinPAGE.select P000
ENDDO

View File

@@ -0,0 +1,80 @@
LOCAL &ppd
&ppd=OS.PPD()
&tmpDir=OS.PTD()
WinCLEAR
; --------------------------------------------------------------------------------
; common SYStem settings
PRINT "Assigning Cores"
CD &ppd
RESet
System.RESet
SYStem.CPU ZYNQ-7000
SYStem.CONFIG CORE 1. 1.
SYStem.CONFIG SLAVE OFF
CORE.ASSIGN 1.
; set DaisyChaining Parameters of the board
; check e.g. SYStem.DETECT.ShowCHAIN
PRINT "Setting up DaisyChain Parameters"
SYStem.CONFIG DAPIRPRE 6.
SYStem.CONFIG DAPIRPOST 0.
SYStem.CONFIG DAPDRPRE 1.
SYStem.CONFIG DAPDRPOST 0.
; trigger a soft-reset using the AHB Bus -> we loose the connection
PRINT "Trigger Soft-Reset"
SYStem.Mode.Prepare
ON ERROR CONTinue
Data.Set EAHB:0xF8000008 %Long 0xDF0D
Data.Set EAHB:0xF8000200 %Long 0x1
WAIT 0.1s
PRINT ""
ON ERROR inherit
PRINT "Attach and initialize"
SYStem.Mode.Attach
Break
PRINT "initializing the target"
DO "~~/demo/arm/hardware/zynq-7000/scripts/trace/ps7_init.cmm" "&ppd/../ps7_init.tcl"
PRINT "programming the FPGA design"
LOCAL &bitfile
&bitfile="&ppd/../base_zynq_wrapper.bit"
DO "~~/demo/arm/hardware/zynq-7000/scripts/zynq_bitstream" "&bitfile" 0x00100000
; --------------------------------------------------------------------------------
; initialize ONCHIP trace (ETM)
Trace.Method Onchip
ETM.TraceID 1.
ETM.Trace ON
ETM.ON
Trace.Clock 666MHz
ETM.TimeMode CycleAccurate
; Some optional settings
SETUP.Var %SpotLight
MAP.BOnchip 0x0--0xffffffff // force onchip-breakpoints
MODE.HLL
; load code
Data.LOAD.Elf "&ppd/../../../out/Aufgabe2_ps7_core0.elf"
; run to main
Go main
WAIT !STATE.RUN()
; open some windows
DO windowSetting.cmm
; initialize RTOS support
PRINT "initializing uC/OS-II support..."
TASK.CONFIG ../ucos ; load uC/OS-II Awareness
MENU.ReProgram ../ucos.men ; load uC/OS-II Menu
HELP.FILTER.Add rtosucos ; add ucos awareness manual to help filter
ENDDO

View File

@@ -0,0 +1,43 @@
// T3210000 Wed Sep 27 07:34:53 2017
B::
TOOLBAR ON
STATUSBAR ON
FramePOS ,,,,Maximized
WinPAGE.RESet
WinPAGE.Create P000
WinCLEAR
WinPOS 0% 0% 50% 78% ,,, W000
;WinTABS 10. 10. 25. 62.
wm.List.auto
WinPOS 50% 0% 30% 28% ,,, W001
;WinTABS 13. 0. 0. 0. 0. 0. 0.
wm.Break.List
WinPOS 50% 30% 30% 70% ,,, W002
wm.Var.Watch %Hex %Decimal
VAR.ADDWATCH OSPrioCur
WinPOS 80% 0% 20% 50% ,,, W003
wm.Register /SPOTLIGHT
WinPOS 0% 80% 50% 20% ,,, W004
wm.Symbol.browse \\*\*\*
;WinPAN 0. 239.
;WinPOS 50% 50% 30% 50% ,,, W005
;wm.Perf.ListFunc
WinPos 80% 50% 20% 50% ,,, W006
wm.Frame /Locals
WinPAGE.select P000
ENDDO

View File

@@ -0,0 +1,80 @@
LOCAL &ppd
&ppd=OS.PPD()
&tmpDir=OS.PTD()
WinCLEAR
; --------------------------------------------------------------------------------
; common SYStem settings
PRINT "Assigning Cores"
CD &ppd
RESet
System.RESet
SYStem.CPU ZYNQ-7000
SYStem.CONFIG CORE 1. 1.
SYStem.CONFIG SLAVE OFF
CORE.ASSIGN 1.
; set DaisyChaining Parameters of the board
; check e.g. SYStem.DETECT.ShowCHAIN
PRINT "Setting up DaisyChain Parameters"
SYStem.CONFIG DAPIRPRE 6.
SYStem.CONFIG DAPIRPOST 0.
SYStem.CONFIG DAPDRPRE 1.
SYStem.CONFIG DAPDRPOST 0.
; trigger a soft-reset using the AHB Bus -> we loose the connection
PRINT "Trigger Soft-Reset"
SYStem.Mode.Prepare
ON ERROR CONTinue
Data.Set EAHB:0xF8000008 %Long 0xDF0D
Data.Set EAHB:0xF8000200 %Long 0x1
WAIT 0.1s
PRINT ""
ON ERROR inherit
PRINT "Attach and initialize"
SYStem.Mode.Attach
Break
PRINT "initializing the target"
DO "~~/demo/arm/hardware/zynq-7000/scripts/trace/ps7_init.cmm" "&ppd/../ps7_init.tcl"
PRINT "programming the FPGA design"
LOCAL &bitfile
&bitfile="&ppd/../base_zynq_wrapper.bit"
DO "~~/demo/arm/hardware/zynq-7000/scripts/zynq_bitstream" "&bitfile" 0x00100000
; --------------------------------------------------------------------------------
; initialize ONCHIP trace (ETM)
Trace.Method Onchip
ETM.TraceID 1.
ETM.Trace ON
ETM.ON
Trace.Clock 666MHz
ETM.TimeMode CycleAccurate
; Some optional settings
SETUP.Var %SpotLight
MAP.BOnchip 0x0--0xffffffff // force onchip-breakpoints
MODE.HLL
; load code
Data.LOAD.Elf "&ppd/../../../out/Aufgabe3_ps7_core0.elf"
; run to main
Go main
WAIT !STATE.RUN()
; open some windows
DO windowSetting.cmm
; initialize RTOS support
PRINT "initializing uC/OS-II support..."
TASK.CONFIG ../ucos ; load uC/OS-II Awareness
MENU.ReProgram ../ucos.men ; load uC/OS-II Menu
HELP.FILTER.Add rtosucos ; add ucos awareness manual to help filter
ENDDO

View File

@@ -0,0 +1,43 @@
// T3210000 Wed Sep 27 07:34:53 2017
B::
TOOLBAR ON
STATUSBAR ON
FramePOS ,,,,Maximized
WinPAGE.RESet
WinPAGE.Create P000
WinCLEAR
WinPOS 0% 0% 50% 78% ,,, W000
;WinTABS 10. 10. 25. 62.
wm.List.auto
WinPOS 50% 0% 30% 28% ,,, W001
;WinTABS 13. 0. 0. 0. 0. 0. 0.
wm.Break.List
WinPOS 50% 30% 30% 70% ,,, W002
wm.Var.Watch %Hex %Decimal
VAR.ADDWATCH OSPrioCur
WinPOS 80% 0% 20% 50% ,,, W003
wm.Register /SPOTLIGHT
WinPOS 0% 80% 50% 20% ,,, W004
wm.Symbol.browse \\*\*\*
;WinPAN 0. 239.
;WinPOS 50% 50% 30% 50% ,,, W005
;wm.Perf.ListFunc
WinPos 80% 50% 20% 50% ,,, W006
wm.Frame /Locals
WinPAGE.select P000
ENDDO

View File

@@ -0,0 +1,80 @@
LOCAL &ppd
&ppd=OS.PPD()
&tmpDir=OS.PTD()
WinCLEAR
; --------------------------------------------------------------------------------
; common SYStem settings
PRINT "Assigning Cores"
CD &ppd
RESet
System.RESet
SYStem.CPU ZYNQ-7000
SYStem.CONFIG CORE 1. 1.
SYStem.CONFIG SLAVE OFF
CORE.ASSIGN 1.
; set DaisyChaining Parameters of the board
; check e.g. SYStem.DETECT.ShowCHAIN
PRINT "Setting up DaisyChain Parameters"
SYStem.CONFIG DAPIRPRE 6.
SYStem.CONFIG DAPIRPOST 0.
SYStem.CONFIG DAPDRPRE 1.
SYStem.CONFIG DAPDRPOST 0.
; trigger a soft-reset using the AHB Bus -> we loose the connection
PRINT "Trigger Soft-Reset"
SYStem.Mode.Prepare
ON ERROR CONTinue
Data.Set EAHB:0xF8000008 %Long 0xDF0D
Data.Set EAHB:0xF8000200 %Long 0x1
WAIT 0.1s
PRINT ""
ON ERROR inherit
PRINT "Attach and initialize"
SYStem.Mode.Attach
Break
PRINT "initializing the target"
DO "~~/demo/arm/hardware/zynq-7000/scripts/trace/ps7_init.cmm" "&ppd/../ps7_init.tcl"
PRINT "programming the FPGA design"
LOCAL &bitfile
&bitfile="&ppd/../base_zynq_wrapper.bit"
DO "~~/demo/arm/hardware/zynq-7000/scripts/zynq_bitstream" "&bitfile" 0x00100000
; --------------------------------------------------------------------------------
; initialize ONCHIP trace (ETM)
Trace.Method Onchip
ETM.TraceID 1.
ETM.Trace ON
ETM.ON
Trace.Clock 666MHz
ETM.TimeMode CycleAccurate
; Some optional settings
SETUP.Var %SpotLight
MAP.BOnchip 0x0--0xffffffff // force onchip-breakpoints
MODE.HLL
; load code
Data.LOAD.Elf "&ppd/../../../out/Aufgabe4_ps7_core0.elf"
; run to main
Go main
WAIT !STATE.RUN()
; open some windows
DO windowSetting.cmm
; initialize RTOS support
PRINT "initializing uC/OS-II support..."
TASK.CONFIG ../ucos ; load uC/OS-II Awareness
MENU.ReProgram ../ucos.men ; load uC/OS-II Menu
HELP.FILTER.Add rtosucos ; add ucos awareness manual to help filter
ENDDO

View File

@@ -0,0 +1,43 @@
// T3210000 Wed Sep 27 07:34:53 2017
B::
TOOLBAR ON
STATUSBAR ON
FramePOS ,,,,Maximized
WinPAGE.RESet
WinPAGE.Create P000
WinCLEAR
WinPOS 0% 0% 50% 78% ,,, W000
;WinTABS 10. 10. 25. 62.
wm.List.auto
WinPOS 50% 0% 30% 28% ,,, W001
;WinTABS 13. 0. 0. 0. 0. 0. 0.
wm.Break.List
WinPOS 50% 30% 30% 70% ,,, W002
wm.Var.Watch %Hex %Decimal
VAR.ADDWATCH OSPrioCur
WinPOS 80% 0% 20% 50% ,,, W003
wm.Register /SPOTLIGHT
WinPOS 0% 80% 50% 20% ,,, W004
wm.Symbol.browse \\*\*\*
;WinPAN 0. 239.
;WinPOS 50% 50% 30% 50% ,,, W005
;wm.Perf.ListFunc
WinPos 80% 50% 20% 50% ,,, W006
wm.Frame /Locals
WinPAGE.select P000
ENDDO

View File

@@ -0,0 +1,80 @@
LOCAL &ppd
&ppd=OS.PPD()
&tmpDir=OS.PTD()
WinCLEAR
; --------------------------------------------------------------------------------
; common SYStem settings
PRINT "Assigning Cores"
CD &ppd
RESet
System.RESet
SYStem.CPU ZYNQ-7000
SYStem.CONFIG CORE 1. 1.
SYStem.CONFIG SLAVE OFF
CORE.ASSIGN 1.
; set DaisyChaining Parameters of the board
; check e.g. SYStem.DETECT.ShowCHAIN
PRINT "Setting up DaisyChain Parameters"
SYStem.CONFIG DAPIRPRE 6.
SYStem.CONFIG DAPIRPOST 0.
SYStem.CONFIG DAPDRPRE 1.
SYStem.CONFIG DAPDRPOST 0.
; trigger a soft-reset using the AHB Bus -> we loose the connection
PRINT "Trigger Soft-Reset"
SYStem.Mode.Prepare
ON ERROR CONTinue
Data.Set EAHB:0xF8000008 %Long 0xDF0D
Data.Set EAHB:0xF8000200 %Long 0x1
WAIT 0.1s
PRINT ""
ON ERROR inherit
PRINT "Attach and initialize"
SYStem.Mode.Attach
Break
PRINT "initializing the target"
DO "~~/demo/arm/hardware/zynq-7000/scripts/trace/ps7_init.cmm" "&ppd/../ps7_init.tcl"
PRINT "programming the FPGA design"
LOCAL &bitfile
&bitfile="&ppd/../base_zynq_wrapper.bit"
DO "~~/demo/arm/hardware/zynq-7000/scripts/zynq_bitstream" "&bitfile" 0x00100000
; --------------------------------------------------------------------------------
; initialize ONCHIP trace (ETM)
Trace.Method Onchip
ETM.TraceID 1.
ETM.Trace ON
ETM.ON
Trace.Clock 666MHz
ETM.TimeMode CycleAccurate
; Some optional settings
SETUP.Var %SpotLight
MAP.BOnchip 0x0--0xffffffff // force onchip-breakpoints
MODE.HLL
; load code
Data.LOAD.Elf "&ppd/../../../out/Aufgabe5_ps7_core0.elf"
; run to main
Go main
WAIT !STATE.RUN()
; open some windows
DO windowSetting.cmm
; initialize RTOS support
PRINT "initializing uC/OS-II support..."
TASK.CONFIG ../ucos ; load uC/OS-II Awareness
MENU.ReProgram ../ucos.men ; load uC/OS-II Menu
HELP.FILTER.Add rtosucos ; add ucos awareness manual to help filter
ENDDO

View File

@@ -0,0 +1,43 @@
// T3210000 Wed Sep 27 07:34:53 2017
B::
TOOLBAR ON
STATUSBAR ON
FramePOS ,,,,Maximized
WinPAGE.RESet
WinPAGE.Create P000
WinCLEAR
WinPOS 0% 0% 50% 78% ,,, W000
;WinTABS 10. 10. 25. 62.
wm.List.auto
WinPOS 50% 0% 30% 28% ,,, W001
;WinTABS 13. 0. 0. 0. 0. 0. 0.
wm.Break.List
WinPOS 50% 30% 30% 70% ,,, W002
wm.Var.Watch %Hex %Decimal
VAR.ADDWATCH OSPrioCur
WinPOS 80% 0% 20% 50% ,,, W003
wm.Register /SPOTLIGHT
WinPOS 0% 80% 50% 20% ,,, W004
wm.Symbol.browse \\*\*\*
;WinPAN 0. 239.
;WinPOS 50% 50% 30% 50% ,,, W005
;wm.Perf.ListFunc
WinPos 80% 50% 20% 50% ,,, W006
wm.Frame /Locals
WinPAGE.select P000
ENDDO

View File

@@ -0,0 +1,81 @@
LOCAL &ppd
&ppd=OS.PPD()
&tmpDir=OS.PTD()
WinCLEAR
; --------------------------------------------------------------------------------
; common SYStem settings
PRINT "Assigning Cores"
CD &ppd
RESet
System.RESet
SYStem.CPU ZYNQ-7000
SYStem.CONFIG CORE 1. 1.
SYStem.CONFIG SLAVE OFF
CORE.ASSIGN 1.
; set DaisyChaining Parameters of the board
; check e.g. SYStem.DETECT.ShowCHAIN
PRINT "Setting up DaisyChain Parameters"
SYStem.CONFIG DAPIRPRE 6.
SYStem.CONFIG DAPIRPOST 0.
SYStem.CONFIG DAPDRPRE 1.
SYStem.CONFIG DAPDRPOST 0.
; trigger a soft-reset using the AHB Bus -> we loose the connection
PRINT "Trigger Soft-Reset"
SYStem.Mode.Prepare
ON ERROR CONTinue
Data.Set EAHB:0xF8000008 %Long 0xDF0D
Data.Set EAHB:0xF8000200 %Long 0x1
WAIT 0.1s
PRINT ""
ON ERROR inherit
PRINT "Attach and initialize"
SYStem.Mode.Attach
Break
PRINT "initializing the target"
DO "~~/demo/arm/hardware/zynq-7000/scripts/trace/ps7_init.cmm" "&ppd/../ps7_init.tcl"
PRINT "programming the FPGA design"
LOCAL &bitfile
&bitfile="&ppd/../base_zynq_wrapper.bit"
DO "~~/demo/arm/hardware/zynq-7000/scripts/zynq_bitstream" "&bitfile" 0x00100000
; --------------------------------------------------------------------------------
; initialize ONCHIP trace (ETM)
Trace.Method Onchip
ETM.TraceID 1.
ETM.Trace ON
ETM.ON
Trace.Clock 666MHz
ETM.TimeMode CycleAccurate
; Some optional settings
SETUP.Var %SpotLight
MAP.BOnchip 0x0--0xffffffff // force onchip-breakpoints
MODE.HLL
; load code
Data.LOAD.Elf "&ppd/../../../out/Aufgabe6_ps7_core0.elf"
; run to main
Go main
WAIT !STATE.RUN()
; open some windows
DO windowSetting.cmm
; initialize RTOS support
PRINT "initializing uC/OS-II support..."
TASK.CONFIG ../ucos ; load uC/OS-II Awareness
MENU.ReProgram ../ucos.men ; load uC/OS-II Menu
HELP.FILTER.Add rtosucos ; add ucos awareness manual to help filter
ENDDO

View File

@@ -0,0 +1,43 @@
// T3210000 Wed Sep 27 07:34:53 2017
B::
TOOLBAR ON
STATUSBAR ON
FramePOS ,,,,Maximized
WinPAGE.RESet
WinPAGE.Create P000
WinCLEAR
WinPOS 0% 0% 50% 78% ,,, W000
;WinTABS 10. 10. 25. 62.
wm.List.auto
WinPOS 50% 0% 30% 28% ,,, W001
;WinTABS 13. 0. 0. 0. 0. 0. 0.
wm.Break.List
WinPOS 50% 30% 30% 70% ,,, W002
wm.Var.Watch %Hex %Decimal
VAR.ADDWATCH OSPrioCur
WinPOS 80% 0% 20% 50% ,,, W003
wm.Register /SPOTLIGHT
WinPOS 0% 80% 50% 20% ,,, W004
wm.Symbol.browse \\*\*\*
;WinPAN 0. 239.
;WinPOS 50% 50% 30% 50% ,,, W005
;wm.Perf.ListFunc
WinPos 80% 50% 20% 50% ,,, W006
wm.Frame /Locals
WinPAGE.select P000
ENDDO

View File

@@ -0,0 +1,80 @@
LOCAL &ppd
&ppd=OS.PPD()
&tmpDir=OS.PTD()
WinCLEAR
; --------------------------------------------------------------------------------
; common SYStem settings
PRINT "Assigning Cores"
CD &ppd
RESet
System.RESet
SYStem.CPU ZYNQ-7000
SYStem.CONFIG CORE 1. 1.
SYStem.CONFIG SLAVE OFF
CORE.ASSIGN 1.
; set DaisyChaining Parameters of the board
; check e.g. SYStem.DETECT.ShowCHAIN
PRINT "Setting up DaisyChain Parameters"
SYStem.CONFIG DAPIRPRE 6.
SYStem.CONFIG DAPIRPOST 0.
SYStem.CONFIG DAPDRPRE 1.
SYStem.CONFIG DAPDRPOST 0.
; trigger a soft-reset using the AHB Bus -> we loose the connection
PRINT "Trigger Soft-Reset"
SYStem.Mode.Prepare
ON ERROR CONTinue
Data.Set EAHB:0xF8000008 %Long 0xDF0D
Data.Set EAHB:0xF8000200 %Long 0x1
WAIT 0.1s
PRINT ""
ON ERROR inherit
PRINT "Attach and initialize"
SYStem.Mode.Attach
Break
PRINT "initializing the target"
DO "~~/demo/arm/hardware/zynq-7000/scripts/trace/ps7_init.cmm" "&ppd/../ps7_init.tcl"
PRINT "programming the FPGA design"
LOCAL &bitfile
&bitfile="&ppd/../base_zynq_wrapper.bit"
DO "~~/demo/arm/hardware/zynq-7000/scripts/zynq_bitstream" "&bitfile" 0x00100000
; --------------------------------------------------------------------------------
; initialize ONCHIP trace (ETM)
Trace.Method Onchip
ETM.TraceID 1.
ETM.Trace ON
ETM.ON
Trace.Clock 666MHz
ETM.TimeMode CycleAccurate
; Some optional settings
SETUP.Var %SpotLight
MAP.BOnchip 0x0--0xffffffff // force onchip-breakpoints
MODE.HLL
; load code
Data.LOAD.Elf "&ppd/../../../out/Aufgabe7_ps7_core0.elf"
; run to main
Go main
WAIT !STATE.RUN()
; open some windows
DO windowSetting.cmm
; initialize RTOS support
PRINT "initializing uC/OS-II support..."
TASK.CONFIG ../ucos ; load uC/OS-II Awareness
MENU.ReProgram ../ucos.men ; load uC/OS-II Menu
HELP.FILTER.Add rtosucos ; add ucos awareness manual to help filter
ENDDO

Binary file not shown.

33
Debug/ps7/config_amp.t32 Normal file
View File

@@ -0,0 +1,33 @@
; --------------------------------------------------------------------------------
; @Title: TRACE32 Configuration file for AMP multicore debugging
; @Description:
; Parametrized configuration file for TRACE32 to start multiple instances of
; TRACE32 for AMP debugging
; @Copyright: (C) 1989-2016 Lauterbach GmbH, licensed for use with TRACE32(R) only
; --------------------------------------------------------------------------------
; $Id: config_amp.t32 10188 2016-11-18 08:23:44Z amerkle $
IC=NETASSIST
PORT=${1}
; Environment variables
OS=
ID=T32_PORT${1}
TMP=${3}
SYS=${4}
HELP=${4}/pdf
PBI=
${5}
${6}
${7}
${8}
; Screen fonts
SCREEN=
VFULL
HEADER=${2} TRACE32
TCF=
PORT=${9}

BIN
Debug/ps7/corefcc.t32 Normal file

Binary file not shown.

874
Debug/ps7/ps7_init.tcl Normal file
View File

@@ -0,0 +1,874 @@
proc ps7_pll_init_data_3_0 {} {
mwr -force 0XF8000008 0x0000DF0D
mask_write 0XF8000110 0x003FFFF0 0x000FA220
mask_write 0XF8000100 0x0007F000 0x00028000
mask_write 0XF8000100 0x00000010 0x00000010
mask_write 0XF8000100 0x00000001 0x00000001
mask_write 0XF8000100 0x00000001 0x00000000
mask_poll 0XF800010C 0x00000001
mask_write 0XF8000100 0x00000010 0x00000000
mask_write 0XF8000120 0x1F003F30 0x1F000200
mask_write 0XF8000114 0x003FFFF0 0x0012C220
mask_write 0XF8000104 0x0007F000 0x00020000
mask_write 0XF8000104 0x00000010 0x00000010
mask_write 0XF8000104 0x00000001 0x00000001
mask_write 0XF8000104 0x00000001 0x00000000
mask_poll 0XF800010C 0x00000002
mask_write 0XF8000104 0x00000010 0x00000000
mask_write 0XF8000124 0xFFF00003 0x0C200003
mask_write 0XF8000118 0x003FFFF0 0x001452C0
mask_write 0XF8000108 0x0007F000 0x0001E000
mask_write 0XF8000108 0x00000010 0x00000010
mask_write 0XF8000108 0x00000001 0x00000001
mask_write 0XF8000108 0x00000001 0x00000000
mask_poll 0XF800010C 0x00000004
mask_write 0XF8000108 0x00000010 0x00000000
mwr -force 0XF8000004 0x0000767B
}
proc ps7_clock_init_data_3_0 {} {
mwr -force 0XF8000008 0x0000DF0D
mask_write 0XF8000128 0x03F03F01 0x00700F01
mask_write 0XF8000138 0x00000011 0x00000001
mask_write 0XF8000140 0x03F03F71 0x00500801
mask_write 0XF800014C 0x00003F31 0x00000501
mask_write 0XF8000150 0x00003F33 0x00001401
mask_write 0XF8000154 0x00003F33 0x00001402
mask_write 0XF8000168 0x00003F31 0x00000501
mask_write 0XF8000170 0x03F03F30 0x00400500
mask_write 0XF80001C4 0x00000001 0x00000001
mask_write 0XF800012C 0x01FFCCCD 0x01EC044D
mwr -force 0XF8000004 0x0000767B
}
proc ps7_ddr_init_data_3_0 {} {
mask_write 0XF8006000 0x0001FFFF 0x00000080
mask_write 0XF8006004 0x0007FFFF 0x00001081
mask_write 0XF8006008 0x03FFFFFF 0x03C0780F
mask_write 0XF800600C 0x03FFFFFF 0x02001001
mask_write 0XF8006010 0x03FFFFFF 0x00014001
mask_write 0XF8006014 0x001FFFFF 0x0004159B
mask_write 0XF8006018 0xF7FFFFFF 0x452440D2
mask_write 0XF800601C 0xFFFFFFFF 0x720238E5
mask_write 0XF8006020 0x7FDFFFFC 0x27087290
mask_write 0XF8006024 0x0FFFFFC3 0x00000000
mask_write 0XF8006028 0x00003FFF 0x00002007
mask_write 0XF800602C 0xFFFFFFFF 0x00000008
mask_write 0XF8006030 0xFFFFFFFF 0x00040930
mask_write 0XF8006034 0x13FF3FFF 0x000116D4
mask_write 0XF8006038 0x00000003 0x00000000
mask_write 0XF800603C 0x000FFFFF 0x00000777
mask_write 0XF8006040 0xFFFFFFFF 0xFFF00000
mask_write 0XF8006044 0x0FFFFFFF 0x0F666666
mask_write 0XF8006048 0x0003F03F 0x0003C008
mask_write 0XF8006050 0xFF0F8FFF 0x77010800
mask_write 0XF8006058 0x00010000 0x00000000
mask_write 0XF800605C 0x0000FFFF 0x00005003
mask_write 0XF8006060 0x000017FF 0x0000003E
mask_write 0XF8006064 0x00021FE0 0x00020000
mask_write 0XF8006068 0x03FFFFFF 0x00284141
mask_write 0XF800606C 0x0000FFFF 0x00001610
mask_write 0XF8006078 0x03FFFFFF 0x00466111
mask_write 0XF800607C 0x000FFFFF 0x00032222
mask_write 0XF80060A4 0xFFFFFFFF 0x10200802
mask_write 0XF80060A8 0x0FFFFFFF 0x0690CB73
mask_write 0XF80060AC 0x000001FF 0x000001FE
mask_write 0XF80060B0 0x1FFFFFFF 0x1CFFFFFF
mask_write 0XF80060B4 0x00000200 0x00000200
mask_write 0XF80060B8 0x01FFFFFF 0x00200066
mask_write 0XF80060C4 0x00000003 0x00000000
mask_write 0XF80060C8 0x000000FF 0x00000000
mask_write 0XF80060DC 0x00000001 0x00000000
mask_write 0XF80060F0 0x0000FFFF 0x00000000
mask_write 0XF80060F4 0x0000000F 0x00000008
mask_write 0XF8006114 0x000000FF 0x00000000
mask_write 0XF8006118 0x7FFFFFCF 0x40000001
mask_write 0XF800611C 0x7FFFFFCF 0x40000001
mask_write 0XF8006120 0x7FFFFFCF 0x40000001
mask_write 0XF8006124 0x7FFFFFCF 0x40000001
mask_write 0XF800612C 0x000FFFFF 0x0003B81E
mask_write 0XF8006130 0x000FFFFF 0x00043425
mask_write 0XF8006134 0x000FFFFF 0x0003CC19
mask_write 0XF8006138 0x000FFFFF 0x0004242A
mask_write 0XF8006140 0x000FFFFF 0x00000035
mask_write 0XF8006144 0x000FFFFF 0x00000035
mask_write 0XF8006148 0x000FFFFF 0x00000035
mask_write 0XF800614C 0x000FFFFF 0x00000035
mask_write 0XF8006154 0x000FFFFF 0x0000009E
mask_write 0XF8006158 0x000FFFFF 0x000000A5
mask_write 0XF800615C 0x000FFFFF 0x00000099
mask_write 0XF8006160 0x000FFFFF 0x000000AA
mask_write 0XF8006168 0x001FFFFF 0x00000143
mask_write 0XF800616C 0x001FFFFF 0x00000162
mask_write 0XF8006170 0x001FFFFF 0x00000148
mask_write 0XF8006174 0x001FFFFF 0x0000015E
mask_write 0XF800617C 0x000FFFFF 0x000000DE
mask_write 0XF8006180 0x000FFFFF 0x000000E5
mask_write 0XF8006184 0x000FFFFF 0x000000D9
mask_write 0XF8006188 0x000FFFFF 0x000000EA
mask_write 0XF8006190 0x6FFFFEFE 0x00040080
mask_write 0XF8006194 0x000FFFFF 0x0001FC82
mask_write 0XF8006204 0xFFFFFFFF 0x00000000
mask_write 0XF8006208 0x000703FF 0x000003FF
mask_write 0XF800620C 0x000703FF 0x000003FF
mask_write 0XF8006210 0x000703FF 0x000003FF
mask_write 0XF8006214 0x000703FF 0x000003FF
mask_write 0XF8006218 0x000F03FF 0x000003FF
mask_write 0XF800621C 0x000F03FF 0x000003FF
mask_write 0XF8006220 0x000F03FF 0x000003FF
mask_write 0XF8006224 0x000F03FF 0x000003FF
mask_write 0XF80062A8 0x00000FF5 0x00000000
mask_write 0XF80062AC 0xFFFFFFFF 0x00000000
mask_write 0XF80062B0 0x003FFFFF 0x00005125
mask_write 0XF80062B4 0x0003FFFF 0x000012A8
mask_poll 0XF8000B74 0x00002000
mask_write 0XF8006000 0x0001FFFF 0x00000081
mask_poll 0XF8006054 0x00000007
}
proc ps7_mio_init_data_3_0 {} {
mwr -force 0XF8000008 0x0000DF0D
mask_write 0XF8000B00 0x00000071 0x00000001
mask_write 0XF8000B40 0x00000FFF 0x00000600
mask_write 0XF8000B44 0x00000FFF 0x00000600
mask_write 0XF8000B48 0x00000FFF 0x00000672
mask_write 0XF8000B4C 0x00000FFF 0x00000672
mask_write 0XF8000B50 0x00000FFF 0x00000674
mask_write 0XF8000B54 0x00000FFF 0x00000674
mask_write 0XF8000B58 0x00000FFF 0x00000600
mask_write 0XF8000B5C 0xFFFFFFFF 0x0018C61C
mask_write 0XF8000B60 0xFFFFFFFF 0x00F9861C
mask_write 0XF8000B64 0xFFFFFFFF 0x00F9861C
mask_write 0XF8000B68 0xFFFFFFFF 0x00F9861C
mask_write 0XF8000B6C 0x00007FFF 0x00000209
mask_write 0XF8000B70 0x00000001 0x00000001
mask_write 0XF8000B70 0x00000021 0x00000020
mask_write 0XF8000B70 0x07FEFFFF 0x00000823
mask_write 0XF8000700 0x00003FFF 0x00001202
mask_write 0XF8000704 0x00003FFF 0x00001202
mask_write 0XF8000708 0x00003FFF 0x00000202
mask_write 0XF800070C 0x00003FFF 0x00000202
mask_write 0XF8000710 0x00003FFF 0x00000202
mask_write 0XF8000714 0x00003FFF 0x00000202
mask_write 0XF8000718 0x00003FFF 0x00000202
mask_write 0XF800071C 0x00003FFF 0x00000200
mask_write 0XF8000720 0x00003FFF 0x00000202
mask_write 0XF8000724 0x00003FFF 0x00001202
mask_write 0XF8000728 0x00003FFF 0x00001202
mask_write 0XF800072C 0x00003FFF 0x00001202
mask_write 0XF8000730 0x00003FFF 0x00001202
mask_write 0XF8000734 0x00003FFF 0x00001202
mask_write 0XF8000738 0x00003F01 0x00001201
mask_write 0XF800073C 0x00003F01 0x00001201
mask_write 0XF8000740 0x00003FFF 0x00002802
mask_write 0XF8000744 0x00003FFF 0x00002802
mask_write 0XF8000748 0x00003FFF 0x00002802
mask_write 0XF800074C 0x00003FFF 0x00002802
mask_write 0XF8000750 0x00003FFF 0x00002802
mask_write 0XF8000754 0x00003FFF 0x00002802
mask_write 0XF8000758 0x00003FFF 0x00000803
mask_write 0XF800075C 0x00003FFF 0x00000803
mask_write 0XF8000760 0x00003FFF 0x00000803
mask_write 0XF8000764 0x00003FFF 0x00000803
mask_write 0XF8000768 0x00003FFF 0x00000803
mask_write 0XF800076C 0x00003FFF 0x00000803
mask_write 0XF8000770 0x00003FFF 0x00000204
mask_write 0XF8000774 0x00003FFF 0x00000205
mask_write 0XF8000778 0x00003FFF 0x00000204
mask_write 0XF800077C 0x00003FFF 0x00000205
mask_write 0XF8000780 0x00003FFF 0x00000204
mask_write 0XF8000784 0x00003FFF 0x00000204
mask_write 0XF8000788 0x00003FFF 0x00000204
mask_write 0XF800078C 0x00003FFF 0x00000204
mask_write 0XF8000790 0x00003FFF 0x00000205
mask_write 0XF8000794 0x00003FFF 0x00000204
mask_write 0XF8000798 0x00003FFF 0x00000204
mask_write 0XF800079C 0x00003FFF 0x00000204
mask_write 0XF80007A0 0x00003FFF 0x00000280
mask_write 0XF80007A4 0x00003FFF 0x00000280
mask_write 0XF80007A8 0x00003FFF 0x00000280
mask_write 0XF80007AC 0x00003FFF 0x00000280
mask_write 0XF80007B0 0x00003FFF 0x00000280
mask_write 0XF80007B4 0x00003FFF 0x00000280
mask_write 0XF80007B8 0x00003FFF 0x00001200
mask_write 0XF80007BC 0x00003FFF 0x00001200
mask_write 0XF80007C0 0x00003FFF 0x000002E0
mask_write 0XF80007C4 0x00003FFF 0x000002E1
mask_write 0XF80007C8 0x00003FFF 0x00001240
mask_write 0XF80007CC 0x00003FFF 0x00001240
mask_write 0XF80007D0 0x00003FFF 0x00000280
mask_write 0XF80007D4 0x00003FFF 0x00000280
mask_write 0XF8000830 0x003F003F 0x000E000F
mwr -force 0XF8000004 0x0000767B
}
proc ps7_peripherals_init_data_3_0 {} {
mwr -force 0XF8000008 0x0000DF0D
mask_write 0XF8000B48 0x00000180 0x00000180
mask_write 0XF8000B4C 0x00000180 0x00000180
mask_write 0XF8000B50 0x00000180 0x00000180
mask_write 0XF8000B54 0x00000180 0x00000180
mwr -force 0XF8000004 0x0000767B
mask_write 0XE0001034 0x000000FF 0x00000006
mask_write 0XE0001018 0x0000FFFF 0x0000003E
mask_write 0XE0001000 0x000001FF 0x00000017
mask_write 0XE0001004 0x000003FF 0x00000020
mask_write 0XE000D000 0x00080000 0x00080000
mask_write 0XF8007000 0x20000000 0x00000000
mask_write 0XE000A204 0xFFFFFFFF 0x00000080
mask_write 0XE000A000 0xFFFFFFFF 0xFF7F0080
mask_write 0XE000A208 0xFFFFFFFF 0x00000080
mask_write 0XE000A000 0xFFFFFFFF 0xFF7F0000
mask_delay 0XF8F00200 1
mask_write 0XE000A000 0xFFFFFFFF 0xFF7F0080
mask_write 0XE000A244 0x003FFFFF 0x0000C000
mask_write 0XE000A008 0xFFFFFFFF 0x7FFF8000
mask_write 0XE000A248 0x003FFFFF 0x0000C000
mask_write 0XE000A008 0xFFFFFFFF 0x7FFF0000
mask_delay 0XF8F00200 1
mask_write 0XE000A008 0xFFFFFFFF 0x7FFF8000
mask_delay 0XF8F00200 1
mask_write 0XE000A244 0x003FFFFF 0x0000C000
mask_write 0XE000A008 0xFFFFFFFF 0xBFFF4000
mask_write 0XE000A248 0x003FFFFF 0x0000C000
mask_write 0XE000A008 0xFFFFFFFF 0xBFFF0000
mask_delay 0XF8F00200 1
mask_write 0XE000A008 0xFFFFFFFF 0xBFFF4000
}
proc ps7_post_config_3_0 {} {
mwr -force 0XF8000008 0x0000DF0D
mask_write 0XF8000900 0x0000000F 0x0000000F
mask_write 0XF8000240 0xFFFFFFFF 0x00000000
mwr -force 0XF8000004 0x0000767B
}
proc ps7_debug_3_0 {} {
mwr -force 0XF8898FB0 0xC5ACCE55
mwr -force 0XF8899FB0 0xC5ACCE55
mwr -force 0XF8809FB0 0xC5ACCE55
}
proc ps7_pll_init_data_2_0 {} {
mwr -force 0XF8000008 0x0000DF0D
mask_write 0XF8000110 0x003FFFF0 0x000FA220
mask_write 0XF8000100 0x0007F000 0x00028000
mask_write 0XF8000100 0x00000010 0x00000010
mask_write 0XF8000100 0x00000001 0x00000001
mask_write 0XF8000100 0x00000001 0x00000000
mask_poll 0XF800010C 0x00000001
mask_write 0XF8000100 0x00000010 0x00000000
mask_write 0XF8000120 0x1F003F30 0x1F000200
mask_write 0XF8000114 0x003FFFF0 0x0012C220
mask_write 0XF8000104 0x0007F000 0x00020000
mask_write 0XF8000104 0x00000010 0x00000010
mask_write 0XF8000104 0x00000001 0x00000001
mask_write 0XF8000104 0x00000001 0x00000000
mask_poll 0XF800010C 0x00000002
mask_write 0XF8000104 0x00000010 0x00000000
mask_write 0XF8000124 0xFFF00003 0x0C200003
mask_write 0XF8000118 0x003FFFF0 0x001452C0
mask_write 0XF8000108 0x0007F000 0x0001E000
mask_write 0XF8000108 0x00000010 0x00000010
mask_write 0XF8000108 0x00000001 0x00000001
mask_write 0XF8000108 0x00000001 0x00000000
mask_poll 0XF800010C 0x00000004
mask_write 0XF8000108 0x00000010 0x00000000
mwr -force 0XF8000004 0x0000767B
}
proc ps7_clock_init_data_2_0 {} {
mwr -force 0XF8000008 0x0000DF0D
mask_write 0XF8000128 0x03F03F01 0x00700F01
mask_write 0XF8000138 0x00000011 0x00000001
mask_write 0XF8000140 0x03F03F71 0x00500801
mask_write 0XF800014C 0x00003F31 0x00000501
mask_write 0XF8000150 0x00003F33 0x00001401
mask_write 0XF8000154 0x00003F33 0x00001402
mask_write 0XF8000168 0x00003F31 0x00000501
mask_write 0XF8000170 0x03F03F30 0x00400500
mask_write 0XF80001C4 0x00000001 0x00000001
mask_write 0XF800012C 0x01FFCCCD 0x01EC044D
mwr -force 0XF8000004 0x0000767B
}
proc ps7_ddr_init_data_2_0 {} {
mask_write 0XF8006000 0x0001FFFF 0x00000080
mask_write 0XF8006004 0x1FFFFFFF 0x00081081
mask_write 0XF8006008 0x03FFFFFF 0x03C0780F
mask_write 0XF800600C 0x03FFFFFF 0x02001001
mask_write 0XF8006010 0x03FFFFFF 0x00014001
mask_write 0XF8006014 0x001FFFFF 0x0004159B
mask_write 0XF8006018 0xF7FFFFFF 0x452440D2
mask_write 0XF800601C 0xFFFFFFFF 0x720238E5
mask_write 0XF8006020 0xFFFFFFFC 0x27287290
mask_write 0XF8006024 0x0FFFFFFF 0x0000003C
mask_write 0XF8006028 0x00003FFF 0x00002007
mask_write 0XF800602C 0xFFFFFFFF 0x00000008
mask_write 0XF8006030 0xFFFFFFFF 0x00040930
mask_write 0XF8006034 0x13FF3FFF 0x000116D4
mask_write 0XF8006038 0x00001FC3 0x00000000
mask_write 0XF800603C 0x000FFFFF 0x00000777
mask_write 0XF8006040 0xFFFFFFFF 0xFFF00000
mask_write 0XF8006044 0x0FFFFFFF 0x0F666666
mask_write 0XF8006048 0x3FFFFFFF 0x0003C248
mask_write 0XF8006050 0xFF0F8FFF 0x77010800
mask_write 0XF8006058 0x0001FFFF 0x00000101
mask_write 0XF800605C 0x0000FFFF 0x00005003
mask_write 0XF8006060 0x000017FF 0x0000003E
mask_write 0XF8006064 0x00021FE0 0x00020000
mask_write 0XF8006068 0x03FFFFFF 0x00284141
mask_write 0XF800606C 0x0000FFFF 0x00001610
mask_write 0XF8006078 0x03FFFFFF 0x00466111
mask_write 0XF800607C 0x000FFFFF 0x00032222
mask_write 0XF80060A0 0x00FFFFFF 0x00008000
mask_write 0XF80060A4 0xFFFFFFFF 0x10200802
mask_write 0XF80060A8 0x0FFFFFFF 0x0690CB73
mask_write 0XF80060AC 0x000001FF 0x000001FE
mask_write 0XF80060B0 0x1FFFFFFF 0x1CFFFFFF
mask_write 0XF80060B4 0x000007FF 0x00000200
mask_write 0XF80060B8 0x01FFFFFF 0x00200066
mask_write 0XF80060C4 0x00000003 0x00000000
mask_write 0XF80060C8 0x000000FF 0x00000000
mask_write 0XF80060DC 0x00000001 0x00000000
mask_write 0XF80060F0 0x0000FFFF 0x00000000
mask_write 0XF80060F4 0x0000000F 0x00000008
mask_write 0XF8006114 0x000000FF 0x00000000
mask_write 0XF8006118 0x7FFFFFFF 0x40000001
mask_write 0XF800611C 0x7FFFFFFF 0x40000001
mask_write 0XF8006120 0x7FFFFFFF 0x40000001
mask_write 0XF8006124 0x7FFFFFFF 0x40000001
mask_write 0XF800612C 0x000FFFFF 0x0003B81E
mask_write 0XF8006130 0x000FFFFF 0x00043425
mask_write 0XF8006134 0x000FFFFF 0x0003CC19
mask_write 0XF8006138 0x000FFFFF 0x0004242A
mask_write 0XF8006140 0x000FFFFF 0x00000035
mask_write 0XF8006144 0x000FFFFF 0x00000035
mask_write 0XF8006148 0x000FFFFF 0x00000035
mask_write 0XF800614C 0x000FFFFF 0x00000035
mask_write 0XF8006154 0x000FFFFF 0x0000009E
mask_write 0XF8006158 0x000FFFFF 0x000000A5
mask_write 0XF800615C 0x000FFFFF 0x00000099
mask_write 0XF8006160 0x000FFFFF 0x000000AA
mask_write 0XF8006168 0x001FFFFF 0x00000143
mask_write 0XF800616C 0x001FFFFF 0x00000162
mask_write 0XF8006170 0x001FFFFF 0x00000148
mask_write 0XF8006174 0x001FFFFF 0x0000015E
mask_write 0XF800617C 0x000FFFFF 0x000000DE
mask_write 0XF8006180 0x000FFFFF 0x000000E5
mask_write 0XF8006184 0x000FFFFF 0x000000D9
mask_write 0XF8006188 0x000FFFFF 0x000000EA
mask_write 0XF8006190 0xFFFFFFFF 0x10040080
mask_write 0XF8006194 0x000FFFFF 0x0001FC82
mask_write 0XF8006204 0xFFFFFFFF 0x00000000
mask_write 0XF8006208 0x000F03FF 0x000803FF
mask_write 0XF800620C 0x000F03FF 0x000803FF
mask_write 0XF8006210 0x000F03FF 0x000803FF
mask_write 0XF8006214 0x000F03FF 0x000803FF
mask_write 0XF8006218 0x000F03FF 0x000003FF
mask_write 0XF800621C 0x000F03FF 0x000003FF
mask_write 0XF8006220 0x000F03FF 0x000003FF
mask_write 0XF8006224 0x000F03FF 0x000003FF
mask_write 0XF80062A8 0x00000FF7 0x00000000
mask_write 0XF80062AC 0xFFFFFFFF 0x00000000
mask_write 0XF80062B0 0x003FFFFF 0x00005125
mask_write 0XF80062B4 0x0003FFFF 0x000012A8
mask_poll 0XF8000B74 0x00002000
mask_write 0XF8006000 0x0001FFFF 0x00000081
mask_poll 0XF8006054 0x00000007
}
proc ps7_mio_init_data_2_0 {} {
mwr -force 0XF8000008 0x0000DF0D
mask_write 0XF8000B00 0x00000303 0x00000001
mask_write 0XF8000B40 0x00000FFF 0x00000600
mask_write 0XF8000B44 0x00000FFF 0x00000600
mask_write 0XF8000B48 0x00000FFF 0x00000672
mask_write 0XF8000B4C 0x00000FFF 0x00000672
mask_write 0XF8000B50 0x00000FFF 0x00000674
mask_write 0XF8000B54 0x00000FFF 0x00000674
mask_write 0XF8000B58 0x00000FFF 0x00000600
mask_write 0XF8000B5C 0xFFFFFFFF 0x0018C61C
mask_write 0XF8000B60 0xFFFFFFFF 0x00F9861C
mask_write 0XF8000B64 0xFFFFFFFF 0x00F9861C
mask_write 0XF8000B68 0xFFFFFFFF 0x00F9861C
mask_write 0XF8000B6C 0x00007FFF 0x00000209
mask_write 0XF8000B70 0x00000021 0x00000021
mask_write 0XF8000B70 0x00000021 0x00000020
mask_write 0XF8000B70 0x07FFFFFF 0x00000823
mask_write 0XF8000700 0x00003FFF 0x00001202
mask_write 0XF8000704 0x00003FFF 0x00001202
mask_write 0XF8000708 0x00003FFF 0x00000202
mask_write 0XF800070C 0x00003FFF 0x00000202
mask_write 0XF8000710 0x00003FFF 0x00000202
mask_write 0XF8000714 0x00003FFF 0x00000202
mask_write 0XF8000718 0x00003FFF 0x00000202
mask_write 0XF800071C 0x00003FFF 0x00000200
mask_write 0XF8000720 0x00003FFF 0x00000202
mask_write 0XF8000724 0x00003FFF 0x00001202
mask_write 0XF8000728 0x00003FFF 0x00001202
mask_write 0XF800072C 0x00003FFF 0x00001202
mask_write 0XF8000730 0x00003FFF 0x00001202
mask_write 0XF8000734 0x00003FFF 0x00001202
mask_write 0XF8000738 0x00003F01 0x00001201
mask_write 0XF800073C 0x00003F01 0x00001201
mask_write 0XF8000740 0x00003FFF 0x00002802
mask_write 0XF8000744 0x00003FFF 0x00002802
mask_write 0XF8000748 0x00003FFF 0x00002802
mask_write 0XF800074C 0x00003FFF 0x00002802
mask_write 0XF8000750 0x00003FFF 0x00002802
mask_write 0XF8000754 0x00003FFF 0x00002802
mask_write 0XF8000758 0x00003FFF 0x00000803
mask_write 0XF800075C 0x00003FFF 0x00000803
mask_write 0XF8000760 0x00003FFF 0x00000803
mask_write 0XF8000764 0x00003FFF 0x00000803
mask_write 0XF8000768 0x00003FFF 0x00000803
mask_write 0XF800076C 0x00003FFF 0x00000803
mask_write 0XF8000770 0x00003FFF 0x00000204
mask_write 0XF8000774 0x00003FFF 0x00000205
mask_write 0XF8000778 0x00003FFF 0x00000204
mask_write 0XF800077C 0x00003FFF 0x00000205
mask_write 0XF8000780 0x00003FFF 0x00000204
mask_write 0XF8000784 0x00003FFF 0x00000204
mask_write 0XF8000788 0x00003FFF 0x00000204
mask_write 0XF800078C 0x00003FFF 0x00000204
mask_write 0XF8000790 0x00003FFF 0x00000205
mask_write 0XF8000794 0x00003FFF 0x00000204
mask_write 0XF8000798 0x00003FFF 0x00000204
mask_write 0XF800079C 0x00003FFF 0x00000204
mask_write 0XF80007A0 0x00003FFF 0x00000280
mask_write 0XF80007A4 0x00003FFF 0x00000280
mask_write 0XF80007A8 0x00003FFF 0x00000280
mask_write 0XF80007AC 0x00003FFF 0x00000280
mask_write 0XF80007B0 0x00003FFF 0x00000280
mask_write 0XF80007B4 0x00003FFF 0x00000280
mask_write 0XF80007B8 0x00003FFF 0x00001200
mask_write 0XF80007BC 0x00003FFF 0x00001200
mask_write 0XF80007C0 0x00003FFF 0x000002E0
mask_write 0XF80007C4 0x00003FFF 0x000002E1
mask_write 0XF80007C8 0x00003FFF 0x00001240
mask_write 0XF80007CC 0x00003FFF 0x00001240
mask_write 0XF80007D0 0x00003FFF 0x00000280
mask_write 0XF80007D4 0x00003FFF 0x00000280
mask_write 0XF8000830 0x003F003F 0x000E000F
mwr -force 0XF8000004 0x0000767B
}
proc ps7_peripherals_init_data_2_0 {} {
mwr -force 0XF8000008 0x0000DF0D
mask_write 0XF8000B48 0x00000180 0x00000180
mask_write 0XF8000B4C 0x00000180 0x00000180
mask_write 0XF8000B50 0x00000180 0x00000180
mask_write 0XF8000B54 0x00000180 0x00000180
mwr -force 0XF8000004 0x0000767B
mask_write 0XE0001034 0x000000FF 0x00000006
mask_write 0XE0001018 0x0000FFFF 0x0000003E
mask_write 0XE0001000 0x000001FF 0x00000017
mask_write 0XE0001004 0x00000FFF 0x00000020
mask_write 0XE000D000 0x00080000 0x00080000
mask_write 0XF8007000 0x20000000 0x00000000
mask_write 0XE000A204 0xFFFFFFFF 0x00000080
mask_write 0XE000A000 0xFFFFFFFF 0xFF7F0080
mask_write 0XE000A208 0xFFFFFFFF 0x00000080
mask_write 0XE000A000 0xFFFFFFFF 0xFF7F0000
mask_delay 0XF8F00200 1
mask_write 0XE000A000 0xFFFFFFFF 0xFF7F0080
mask_write 0XE000A244 0x003FFFFF 0x0000C000
mask_write 0XE000A008 0xFFFFFFFF 0x7FFF8000
mask_write 0XE000A248 0x003FFFFF 0x0000C000
mask_write 0XE000A008 0xFFFFFFFF 0x7FFF0000
mask_delay 0XF8F00200 1
mask_write 0XE000A008 0xFFFFFFFF 0x7FFF8000
mask_delay 0XF8F00200 1
mask_write 0XE000A244 0x003FFFFF 0x0000C000
mask_write 0XE000A008 0xFFFFFFFF 0xBFFF4000
mask_write 0XE000A248 0x003FFFFF 0x0000C000
mask_write 0XE000A008 0xFFFFFFFF 0xBFFF0000
mask_delay 0XF8F00200 1
mask_write 0XE000A008 0xFFFFFFFF 0xBFFF4000
}
proc ps7_post_config_2_0 {} {
mwr -force 0XF8000008 0x0000DF0D
mask_write 0XF8000900 0x0000000F 0x0000000F
mask_write 0XF8000240 0xFFFFFFFF 0x00000000
mwr -force 0XF8000004 0x0000767B
}
proc ps7_debug_2_0 {} {
mwr -force 0XF8898FB0 0xC5ACCE55
mwr -force 0XF8899FB0 0xC5ACCE55
mwr -force 0XF8809FB0 0xC5ACCE55
}
proc ps7_pll_init_data_1_0 {} {
mwr -force 0XF8000008 0x0000DF0D
mask_write 0XF8000110 0x003FFFF0 0x000FA220
mask_write 0XF8000100 0x0007F000 0x00028000
mask_write 0XF8000100 0x00000010 0x00000010
mask_write 0XF8000100 0x00000001 0x00000001
mask_write 0XF8000100 0x00000001 0x00000000
mask_poll 0XF800010C 0x00000001
mask_write 0XF8000100 0x00000010 0x00000000
mask_write 0XF8000120 0x1F003F30 0x1F000200
mask_write 0XF8000114 0x003FFFF0 0x0012C220
mask_write 0XF8000104 0x0007F000 0x00020000
mask_write 0XF8000104 0x00000010 0x00000010
mask_write 0XF8000104 0x00000001 0x00000001
mask_write 0XF8000104 0x00000001 0x00000000
mask_poll 0XF800010C 0x00000002
mask_write 0XF8000104 0x00000010 0x00000000
mask_write 0XF8000124 0xFFF00003 0x0C200003
mask_write 0XF8000118 0x003FFFF0 0x001452C0
mask_write 0XF8000108 0x0007F000 0x0001E000
mask_write 0XF8000108 0x00000010 0x00000010
mask_write 0XF8000108 0x00000001 0x00000001
mask_write 0XF8000108 0x00000001 0x00000000
mask_poll 0XF800010C 0x00000004
mask_write 0XF8000108 0x00000010 0x00000000
mwr -force 0XF8000004 0x0000767B
}
proc ps7_clock_init_data_1_0 {} {
mwr -force 0XF8000008 0x0000DF0D
mask_write 0XF8000128 0x03F03F01 0x00700F01
mask_write 0XF8000138 0x00000011 0x00000001
mask_write 0XF8000140 0x03F03F71 0x00500801
mask_write 0XF800014C 0x00003F31 0x00000501
mask_write 0XF8000150 0x00003F33 0x00001401
mask_write 0XF8000154 0x00003F33 0x00001402
mask_write 0XF8000168 0x00003F31 0x00000501
mask_write 0XF8000170 0x03F03F30 0x00400500
mask_write 0XF80001C4 0x00000001 0x00000001
mask_write 0XF800012C 0x01FFCCCD 0x01EC044D
mwr -force 0XF8000004 0x0000767B
}
proc ps7_ddr_init_data_1_0 {} {
mask_write 0XF8006000 0x0001FFFF 0x00000080
mask_write 0XF8006004 0x1FFFFFFF 0x00081081
mask_write 0XF8006008 0x03FFFFFF 0x03C0780F
mask_write 0XF800600C 0x03FFFFFF 0x02001001
mask_write 0XF8006010 0x03FFFFFF 0x00014001
mask_write 0XF8006014 0x001FFFFF 0x0004159B
mask_write 0XF8006018 0xF7FFFFFF 0x452440D2
mask_write 0XF800601C 0xFFFFFFFF 0x720238E5
mask_write 0XF8006020 0xFFFFFFFC 0x27287290
mask_write 0XF8006024 0x0FFFFFFF 0x0000003C
mask_write 0XF8006028 0x00003FFF 0x00002007
mask_write 0XF800602C 0xFFFFFFFF 0x00000008
mask_write 0XF8006030 0xFFFFFFFF 0x00040930
mask_write 0XF8006034 0x13FF3FFF 0x000116D4
mask_write 0XF8006038 0x00001FC3 0x00000000
mask_write 0XF800603C 0x000FFFFF 0x00000777
mask_write 0XF8006040 0xFFFFFFFF 0xFFF00000
mask_write 0XF8006044 0x0FFFFFFF 0x0F666666
mask_write 0XF8006048 0x3FFFFFFF 0x0003C248
mask_write 0XF8006050 0xFF0F8FFF 0x77010800
mask_write 0XF8006058 0x0001FFFF 0x00000101
mask_write 0XF800605C 0x0000FFFF 0x00005003
mask_write 0XF8006060 0x000017FF 0x0000003E
mask_write 0XF8006064 0x00021FE0 0x00020000
mask_write 0XF8006068 0x03FFFFFF 0x00284141
mask_write 0XF800606C 0x0000FFFF 0x00001610
mask_write 0XF80060A0 0x00FFFFFF 0x00008000
mask_write 0XF80060A4 0xFFFFFFFF 0x10200802
mask_write 0XF80060A8 0x0FFFFFFF 0x0690CB73
mask_write 0XF80060AC 0x000001FF 0x000001FE
mask_write 0XF80060B0 0x1FFFFFFF 0x1CFFFFFF
mask_write 0XF80060B4 0x000007FF 0x00000200
mask_write 0XF80060B8 0x01FFFFFF 0x00200066
mask_write 0XF80060C4 0x00000003 0x00000000
mask_write 0XF80060C8 0x000000FF 0x00000000
mask_write 0XF80060DC 0x00000001 0x00000000
mask_write 0XF80060F0 0x0000FFFF 0x00000000
mask_write 0XF80060F4 0x0000000F 0x00000008
mask_write 0XF8006114 0x000000FF 0x00000000
mask_write 0XF8006118 0x7FFFFFFF 0x40000001
mask_write 0XF800611C 0x7FFFFFFF 0x40000001
mask_write 0XF8006120 0x7FFFFFFF 0x40000001
mask_write 0XF8006124 0x7FFFFFFF 0x40000001
mask_write 0XF800612C 0x000FFFFF 0x0003B81E
mask_write 0XF8006130 0x000FFFFF 0x00043425
mask_write 0XF8006134 0x000FFFFF 0x0003CC19
mask_write 0XF8006138 0x000FFFFF 0x0004242A
mask_write 0XF8006140 0x000FFFFF 0x00000035
mask_write 0XF8006144 0x000FFFFF 0x00000035
mask_write 0XF8006148 0x000FFFFF 0x00000035
mask_write 0XF800614C 0x000FFFFF 0x00000035
mask_write 0XF8006154 0x000FFFFF 0x0000009E
mask_write 0XF8006158 0x000FFFFF 0x000000A5
mask_write 0XF800615C 0x000FFFFF 0x00000099
mask_write 0XF8006160 0x000FFFFF 0x000000AA
mask_write 0XF8006168 0x001FFFFF 0x00000143
mask_write 0XF800616C 0x001FFFFF 0x00000162
mask_write 0XF8006170 0x001FFFFF 0x00000148
mask_write 0XF8006174 0x001FFFFF 0x0000015E
mask_write 0XF800617C 0x000FFFFF 0x000000DE
mask_write 0XF8006180 0x000FFFFF 0x000000E5
mask_write 0XF8006184 0x000FFFFF 0x000000D9
mask_write 0XF8006188 0x000FFFFF 0x000000EA
mask_write 0XF8006190 0xFFFFFFFF 0x10040080
mask_write 0XF8006194 0x000FFFFF 0x0001FC82
mask_write 0XF8006204 0xFFFFFFFF 0x00000000
mask_write 0XF8006208 0x000F03FF 0x000803FF
mask_write 0XF800620C 0x000F03FF 0x000803FF
mask_write 0XF8006210 0x000F03FF 0x000803FF
mask_write 0XF8006214 0x000F03FF 0x000803FF
mask_write 0XF8006218 0x000F03FF 0x000003FF
mask_write 0XF800621C 0x000F03FF 0x000003FF
mask_write 0XF8006220 0x000F03FF 0x000003FF
mask_write 0XF8006224 0x000F03FF 0x000003FF
mask_write 0XF80062A8 0x00000FF7 0x00000000
mask_write 0XF80062AC 0xFFFFFFFF 0x00000000
mask_write 0XF80062B0 0x003FFFFF 0x00005125
mask_write 0XF80062B4 0x0003FFFF 0x000012A8
mask_poll 0XF8000B74 0x00002000
mask_write 0XF8006000 0x0001FFFF 0x00000081
mask_poll 0XF8006054 0x00000007
}
proc ps7_mio_init_data_1_0 {} {
mwr -force 0XF8000008 0x0000DF0D
mask_write 0XF8000B00 0x00000303 0x00000001
mask_write 0XF8000B40 0x00000FFF 0x00000600
mask_write 0XF8000B44 0x00000FFF 0x00000600
mask_write 0XF8000B48 0x00000FFF 0x00000672
mask_write 0XF8000B4C 0x00000FFF 0x00000672
mask_write 0XF8000B50 0x00000FFF 0x00000674
mask_write 0XF8000B54 0x00000FFF 0x00000674
mask_write 0XF8000B58 0x00000FFF 0x00000600
mask_write 0XF8000B5C 0xFFFFFFFF 0x0018C61C
mask_write 0XF8000B60 0xFFFFFFFF 0x00F9861C
mask_write 0XF8000B64 0xFFFFFFFF 0x00F9861C
mask_write 0XF8000B68 0xFFFFFFFF 0x00F9861C
mask_write 0XF8000B6C 0x000073FF 0x00000209
mask_write 0XF8000B70 0x00000021 0x00000021
mask_write 0XF8000B70 0x00000021 0x00000020
mask_write 0XF8000B70 0x07FFFFFF 0x00000823
mask_write 0XF8000700 0x00003FFF 0x00001202
mask_write 0XF8000704 0x00003FFF 0x00001202
mask_write 0XF8000708 0x00003FFF 0x00000202
mask_write 0XF800070C 0x00003FFF 0x00000202
mask_write 0XF8000710 0x00003FFF 0x00000202
mask_write 0XF8000714 0x00003FFF 0x00000202
mask_write 0XF8000718 0x00003FFF 0x00000202
mask_write 0XF800071C 0x00003FFF 0x00000200
mask_write 0XF8000720 0x00003FFF 0x00000202
mask_write 0XF8000724 0x00003FFF 0x00001202
mask_write 0XF8000728 0x00003FFF 0x00001202
mask_write 0XF800072C 0x00003FFF 0x00001202
mask_write 0XF8000730 0x00003FFF 0x00001202
mask_write 0XF8000734 0x00003FFF 0x00001202
mask_write 0XF8000738 0x00003F01 0x00001201
mask_write 0XF800073C 0x00003F01 0x00001201
mask_write 0XF8000740 0x00003FFF 0x00002802
mask_write 0XF8000744 0x00003FFF 0x00002802
mask_write 0XF8000748 0x00003FFF 0x00002802
mask_write 0XF800074C 0x00003FFF 0x00002802
mask_write 0XF8000750 0x00003FFF 0x00002802
mask_write 0XF8000754 0x00003FFF 0x00002802
mask_write 0XF8000758 0x00003FFF 0x00000803
mask_write 0XF800075C 0x00003FFF 0x00000803
mask_write 0XF8000760 0x00003FFF 0x00000803
mask_write 0XF8000764 0x00003FFF 0x00000803
mask_write 0XF8000768 0x00003FFF 0x00000803
mask_write 0XF800076C 0x00003FFF 0x00000803
mask_write 0XF8000770 0x00003FFF 0x00000204
mask_write 0XF8000774 0x00003FFF 0x00000205
mask_write 0XF8000778 0x00003FFF 0x00000204
mask_write 0XF800077C 0x00003FFF 0x00000205
mask_write 0XF8000780 0x00003FFF 0x00000204
mask_write 0XF8000784 0x00003FFF 0x00000204
mask_write 0XF8000788 0x00003FFF 0x00000204
mask_write 0XF800078C 0x00003FFF 0x00000204
mask_write 0XF8000790 0x00003FFF 0x00000205
mask_write 0XF8000794 0x00003FFF 0x00000204
mask_write 0XF8000798 0x00003FFF 0x00000204
mask_write 0XF800079C 0x00003FFF 0x00000204
mask_write 0XF80007A0 0x00003FFF 0x00000280
mask_write 0XF80007A4 0x00003FFF 0x00000280
mask_write 0XF80007A8 0x00003FFF 0x00000280
mask_write 0XF80007AC 0x00003FFF 0x00000280
mask_write 0XF80007B0 0x00003FFF 0x00000280
mask_write 0XF80007B4 0x00003FFF 0x00000280
mask_write 0XF80007B8 0x00003FFF 0x00001200
mask_write 0XF80007BC 0x00003FFF 0x00001200
mask_write 0XF80007C0 0x00003FFF 0x000002E0
mask_write 0XF80007C4 0x00003FFF 0x000002E1
mask_write 0XF80007C8 0x00003FFF 0x00001240
mask_write 0XF80007CC 0x00003FFF 0x00001240
mask_write 0XF80007D0 0x00003FFF 0x00000280
mask_write 0XF80007D4 0x00003FFF 0x00000280
mask_write 0XF8000830 0x003F003F 0x000E000F
mwr -force 0XF8000004 0x0000767B
}
proc ps7_peripherals_init_data_1_0 {} {
mwr -force 0XF8000008 0x0000DF0D
mask_write 0XF8000B48 0x00000180 0x00000180
mask_write 0XF8000B4C 0x00000180 0x00000180
mask_write 0XF8000B50 0x00000180 0x00000180
mask_write 0XF8000B54 0x00000180 0x00000180
mwr -force 0XF8000004 0x0000767B
mask_write 0XE0001034 0x000000FF 0x00000006
mask_write 0XE0001018 0x0000FFFF 0x0000003E
mask_write 0XE0001000 0x000001FF 0x00000017
mask_write 0XE0001004 0x00000FFF 0x00000020
mask_write 0XE000D000 0x00080000 0x00080000
mask_write 0XF8007000 0x20000000 0x00000000
mask_write 0XE000A204 0xFFFFFFFF 0x00000080
mask_write 0XE000A000 0xFFFFFFFF 0xFF7F0080
mask_write 0XE000A208 0xFFFFFFFF 0x00000080
mask_write 0XE000A000 0xFFFFFFFF 0xFF7F0000
mask_delay 0XF8F00200 1
mask_write 0XE000A000 0xFFFFFFFF 0xFF7F0080
mask_write 0XE000A244 0x003FFFFF 0x0000C000
mask_write 0XE000A008 0xFFFFFFFF 0x7FFF8000
mask_write 0XE000A248 0x003FFFFF 0x0000C000
mask_write 0XE000A008 0xFFFFFFFF 0x7FFF0000
mask_delay 0XF8F00200 1
mask_write 0XE000A008 0xFFFFFFFF 0x7FFF8000
mask_delay 0XF8F00200 1
mask_write 0XE000A244 0x003FFFFF 0x0000C000
mask_write 0XE000A008 0xFFFFFFFF 0xBFFF4000
mask_write 0XE000A248 0x003FFFFF 0x0000C000
mask_write 0XE000A008 0xFFFFFFFF 0xBFFF0000
mask_delay 0XF8F00200 1
mask_write 0XE000A008 0xFFFFFFFF 0xBFFF4000
}
proc ps7_post_config_1_0 {} {
mwr -force 0XF8000008 0x0000DF0D
mask_write 0XF8000900 0x0000000F 0x0000000F
mask_write 0XF8000240 0xFFFFFFFF 0x00000000
mwr -force 0XF8000004 0x0000767B
}
proc ps7_debug_1_0 {} {
mwr -force 0XF8898FB0 0xC5ACCE55
mwr -force 0XF8899FB0 0xC5ACCE55
mwr -force 0XF8809FB0 0xC5ACCE55
}
set PCW_SILICON_VER_1_0 "0x0"
set PCW_SILICON_VER_2_0 "0x1"
set PCW_SILICON_VER_3_0 "0x2"
set APU_FREQ 667000000
proc mask_poll { addr mask } {
set count 1
set curval "0x[string range [mrd $addr] end-8 end]"
set maskedval [expr {$curval & $mask}]
while { $maskedval == 0 } {
set curval "0x[string range [mrd $addr] end-8 end]"
set maskedval [expr {$curval & $mask}]
set count [ expr { $count + 1 } ]
if { $count == 100000000 } {
puts "Timeout Reached. Mask poll failed at ADDRESS: $addr MASK: $mask"
break
}
}
}
proc mask_delay { addr val } {
set delay [ get_number_of_cycles_for_delay $val ]
perf_reset_and_start_timer
set curval "0x[string range [mrd $addr] end-8 end]"
set maskedval [expr {$curval < $delay}]
while { $maskedval == 1 } {
set curval "0x[string range [mrd $addr] end-8 end]"
set maskedval [expr {$curval < $delay}]
}
perf_reset_clock
}
proc ps_version { } {
set si_ver "0x[string range [mrd 0xF8007080] end-8 end]"
set mask_sil_ver "0x[expr {$si_ver >> 28}]"
return $mask_sil_ver;
}
proc ps7_post_config {} {
set saved_mode [configparams force-mem-accesses]
configparams force-mem-accesses 1
variable PCW_SILICON_VER_1_0
variable PCW_SILICON_VER_2_0
variable PCW_SILICON_VER_3_0
set sil_ver [ps_version]
if { $sil_ver == $PCW_SILICON_VER_1_0} {
ps7_post_config_1_0
} elseif { $sil_ver == $PCW_SILICON_VER_2_0 } {
ps7_post_config_2_0
} else {
ps7_post_config_3_0
}
configparams force-mem-accesses $saved_mode
}
proc ps7_debug {} {
variable PCW_SILICON_VER_1_0
variable PCW_SILICON_VER_2_0
variable PCW_SILICON_VER_3_0
set sil_ver [ps_version]
if { $sil_ver == $PCW_SILICON_VER_1_0} {
ps7_debug_1_0
} elseif { $sil_ver == $PCW_SILICON_VER_2_0 } {
ps7_debug_2_0
} else {
ps7_debug_3_0
}
}
proc ps7_init {} {
variable PCW_SILICON_VER_1_0
variable PCW_SILICON_VER_2_0
variable PCW_SILICON_VER_3_0
set sil_ver [ps_version]
if { $sil_ver == $PCW_SILICON_VER_1_0} {
ps7_mio_init_data_1_0
ps7_pll_init_data_1_0
ps7_clock_init_data_1_0
ps7_ddr_init_data_1_0
ps7_peripherals_init_data_1_0
#puts "PCW Silicon Version : 1.0"
} elseif { $sil_ver == $PCW_SILICON_VER_2_0 } {
ps7_mio_init_data_2_0
ps7_pll_init_data_2_0
ps7_clock_init_data_2_0
ps7_ddr_init_data_2_0
ps7_peripherals_init_data_2_0
#puts "PCW Silicon Version : 2.0"
} else {
ps7_mio_init_data_3_0
ps7_pll_init_data_3_0
ps7_clock_init_data_3_0
ps7_ddr_init_data_3_0
ps7_peripherals_init_data_3_0
#puts "PCW Silicon Version : 3.0"
}
}
# For delay calculation using global timer
# start timer
proc perf_start_clock { } {
#writing SCU_GLOBAL_TIMER_CONTROL register
mask_write 0xF8F00208 0x00000109 0x00000009
}
# stop timer and reset timer count regs
proc perf_reset_clock { } {
perf_disable_clock
mask_write 0xF8F00200 0xFFFFFFFF 0x00000000
mask_write 0xF8F00204 0xFFFFFFFF 0x00000000
}
# Compute mask for given delay in miliseconds
proc get_number_of_cycles_for_delay { delay } {
# GTC is always clocked at 1/2 of the CPU frequency (CPU_3x2x)
variable APU_FREQ
return [ expr ($delay * $APU_FREQ /(2 * 1000))]
}
# stop timer
proc perf_disable_clock {} {
mask_write 0xF8F00208 0xFFFFFFFF 0x00000000
}
proc perf_reset_and_start_timer {} {
perf_reset_clock
perf_start_clock
}

66
Debug/ps7/start_amp_session.sh Executable file
View File

@@ -0,0 +1,66 @@
#!/bin/bash
# --------------------------------------------------------------------------------
# @Title: Bash script to start TRACE32 with AMP mode
# @Description:
# Linux/MacOS bash script for a one-click start of the amp demo. It assumes
# TRACE32 is installed to /opt/t32, modify it to fit your needs.
# Usage USB:
# ./amp_demo_start_session0.sh
# Usage Ethernet:
# ./amp_demo_start_session0.sh <ip>
# ./amp_demo_start_session0.sh <dns-name>
# Other core(s) will be started by the t32_amp.cmm practice script.
# @Props: NoWelcome NoMetaTags Template
# @Copyright: (C) 1989-2016 Lauterbach GmbH, licensed for use with TRACE32(R) only
# --------------------------------------------------------------------------------
# $Id: amp_demo_start_session0.sh 10188 2016-11-18 08:23:44Z amerkle $
# ppwd will be the absolute path to the current bash script
export ppwd=$( cd $(dirname "$0") && pwd)
USER_ID=`id -u`
USER_ID_SUFFIX=${USER_ID:(-4)}
P1_PORT=$((10000+$USER_ID_SUFFIX))
P2_TITLE=ARM_AMP_CORE0
P3_TMP=/tmp
P4_SYS=/tools/lauterbach/r_2018_02
P9_TCF="$((20000+$USER_ID_SUFFIX))"
if [[ ! ${1} ]]; then
echo "Please specify lauterbach hostname"
exit -1
else
# Parameters for Ethernet connection
P5_PBI=NET
P6_OPT=NODE=${1}
P7_OPT=PACKLEN=1024
P8_OPT=CORE=1
fi
# Detect the system is 32bit or 64bit
MACHINE='pc_linux'
MACHINE_TYPE=`uname -m`
if [ $MACHINE_TYPE == 'x86_64' ]; then
MACHINE='pc_linux64'
fi
if [ ! -x ${T32MARCH_EXE} ]; then
echo "t32marm-qt not found."
echo "Please check that P4_SYS is set to your TRACE32 system directory."
echo "(Current value: ${P4_SYS})"
pause
exit -1
else
# set T32SYS environment variable
export T32SYS=${P4_SYS}
fi
cd ${ppwd}
# Last but not least start TRACE32
${T32SYS}/bin/${MACHINE}/t32marm-qt \
-graphicssystem raster \
-c "${ppwd}/config_amp.t32" ${P1_PORT} ${P2_TITLE} ${P3_TMP} ${P4_SYS} ${P5_PBI} ${P6_OPT} ${P7_OPT} ${P8_OPT} ${P9_TCF}

284
Debug/ps7/ucos.men Normal file
View File

@@ -0,0 +1,284 @@
; --------------------------------------------------------------------------------
; @Title: Menu File for TRACE32 uC/OS-II Awareness
; @Description: -
; @Keywords: ucos menu awareness
; @Author: DIE
; @Copyright: (C) 1989-2014 Lauterbach GmbH, licensed for use with TRACE32(R) only
; --------------------------------------------------------------------------------
; $Id: ucos.men 1958 2017-02-28 08:02:50Z rdienstbeck $
add
menu
(
popup "&uC/OS"
(
if y.exist(T32OUT)
(
menuitem "&RTOS Terminal" "TERM T32OUT 0"
separator
)
default
menuitem "Display &Tasks" "TASK.Task"
menuitem "Display &Events" "TASK.Event"
menuitem "Display &Flags" "TASK.Flag"
menuitem "Display &Timers" "TASK.TImer"
menuitem "Display &Memory Partitions" "TASK.Memory"
if task.par.avail()==1
(
menuitem "Display &Space Partitions" "TASK.PARTition"
)
if task.proc.avail()==1
(
menuitem "Display &Processes" "TASK.PROCess"
)
separator
popup "&Stack Coverage"
(
menuitem "&List Stacks"
(
if !ice()
TASK.STacK.PATtern 0
TASK.STacK
)
menuitem "Add Task" "TASK.STacK.ADD"
menuitem "Remove Task" "TASK.STacK.ReMove"
enable ice()
menuitem "&Reset Coverage" "TASK.STacK.RESet"
)
)
popup "Trace"
(
popup "List"
(
separator
menuitem "&Task Switches" "Trace.List List.TASK"
menuitem "&Default and Tasks" "Trace.List List.TASK DEFault"
)
)
popup "Perf"
(
separator
popup "&Task Runtime"
(
menuitem "&Prepare"
(
if t.method.analyzer()
(
Analyzer.AutoInit on
)
if (ice()||fire())&&!a.mode.flow()
(
Analyzer.ReProgram
(
Sample.Enable if AlphaBreak&&Write
)
Break.Delete /Alpha
Break.Set task.config(magic)++(task.config(magicsize)-1) /Alpha
)
if a.mode.flow()
(
Break.Delete /TraceEnable
Break.Set task.config(magic) /TraceEnable
)
)
menuitem "[:perf]Show &Numerical" "Trace.STATistic.TASK"
menuitem "[:achart]Show as &Timing" "Trace.CHART.TASK"
menuitem "[:achart]Tracking with Trace &List"
(
Trace.List List.TASK DEFault /Track
Trace.CHART.TASK /Track
)
)
popup "Task &Function Runtime"
(
menuitem "&Prepare"
(
if t.method.analyzer()
(
Analyzer.AutoInit on
Analyzer.STATistic.PreFetch on
)
if (ice()||fire())&&!a.mode.flow()
(
if a.config.hac()
(
Analyzer.ReProgram
(
Sample.Enable if AlphaBreak
Sample.Enable if BetaBreak
Mark.A if AlphaBreak
Mark.B if BetaBreak
)
)
else
(
Analyzer.ReProgram
(
Sample.Enable if AlphaBreak||BetaBreak
Mark.A if AlphaBreak
Mark.B if BetaBreak
)
)
Break.Delete /Alpha /Beta /Charly
Break.SetFunc
Break.Set task.config(magic)++(task.config(magicsize)-1) /Alpha
)
if a.mode.flow()
(
Break.Delete /TraceData
Break.Set task.config(magic) /TraceData
)
)
menuitem "[:perf]Show &Numerical" "Trace.STATistic.TASKFUNC"
menuitem "[:perf]Show as &Tree" "Trace.STATistic.TASKTREE"
menuitem "[:perf]Show &Detailed Tree" "Trace.STATistic.TASKTREE ALL"
menuitem "[:achart]Show as &Timing" "Trace.CHART.TASKFUNC"
menuitem "[:alist]Show N&esting" "Trace.List List.TASK FUNC TI.FUNC"
)
popup "Task &Status"
(
menuitem "&Prepare"
(
if t.method.analyzer()
(
Analyzer.AutoInit on
)
if (ice()||fire())&&!a.mode.flow()
(
Analyzer.ReProgram
(
Sample.Enable if AlphaBreak&&Write
)
Break.Delete /Alpha
Break.Set task.config(magic)++(task.config(magicsize)-1) /Alpha
TASK.TASKState
)
)
menuitem "[:perf]Show &Numerical" "Trace.STATistic.TASKSTATE"
menuitem "[:achart]Show as &Timing" "Trace.CHART.TASKSTATE"
menuitem "[:achart]Tracking with Trace &List"
(
Trace.List List.TASK DEFault /Track
Trace.CHART.TASKSTATE /Track
)
)
)
popup "&Help"
(
menuitem "<22>C/OS RTOS Debugger Manual" "HELP __RTOS_UCOS_"
)
)
menu "task.task"
(
default
menuitem "Display Detailed" "TASK.Task track.address()"
menuitem "Display TCB"
(
&address=address.offset(track.address())
&struct=task.struct(tcb)
Var.View %Open %String (&struct)*&address
)
separator
menuitem "Display Stack Frame"
(
&address=address.offset(track.address())
Var.Frame /Locals /Caller /Task &address
)
menuitem "Switch Context" "Register.TASK address.offset(track.address())"
separator
menuitem "Add to Stack Cov" "TASK.STK.ADD address.offset(track.address())"
menuitem "Rm from Stack Cov" "TASK.STK.RM address.offset(track.address())"
separator
menuitem "Dump TCB"
(
&address=address.offset(track.address())
Data.dump &address
)
)
menu "task.event"
(
default
menuitem "Display Detailed" "TASK.Event track.address()"
menuitem "Display ECB"
(
&address=address.offset(track.address())
v.v %m (struct os_event*)&address
)
menuitem "Dump ECB"
(
&address=address.offset(track.address())
Data.dump &address
)
)
menu "task.e.q"
(
menuitem "Display QCB"
(
&address=address.offset(track.address())
v.v %m (struct os_q*)&address
)
default
menuitem "Dump QCB"
(
&address=address.offset(track.address())
Data.dump &address
)
)
menu "task.flag"
(
default
menuitem "Display Detailed" "TASK.Flag track.address()"
menuitem "Display FCB"
(
&address=address.offset(track.address())
Var.View %m %s (struct os_flag_grp*)&address
)
menuitem "Dump FCB"
(
&address=address.offset(track.address())
Data.dump &address
)
)
menu "task.timer"
(
default
menuitem "Display Detailed" "TASK.TImer track.address()"
menuitem "Display Tmr CB"
(
&address=address.offset(track.address())
Var.View %m %s (struct os_tmr*)&address
)
menuitem "Dump Tmr CB"
(
&address=address.offset(track.address())
Data.dump &address
)
)
menu "task.par"
(
default
menuitem "Display Detailed" "TASK.PARtition track.address()"
menuitem "Display partition struct"
(
&address=address.offset(track.address())
Var.View %m %s (PAR_PARAM_T*)&address
)
menuitem "Dump partition struct"
(
&address=address.offset(track.address())
Data.dump &address
)
)

BIN
Debug/ps7/ucos.t32 Normal file

Binary file not shown.