source [find interface/ftdi/digilent-hs1.cfg] source [find target/zynq_7000.cfg] set _TARGETNAME_0 "zynq.cpu0" set _TARGETNAME_1 "zynq.cpu1" set _SMP 1 proc zynq_restart { wait } { global _SMP global _TARGETNAME_0 global _TARGETNAME_1 set target0 $_TARGETNAME_0 set target1 $_TARGETNAME_1 echo "Zynq reset, resetting the board ... " poll off # # Issue the reset via the SLCR # catch { mww phys 0xF8000008 0xDF0D mww phys 0xF8000200 1 } echo "Zynq reset waiting for $wait msecs ... " sleep $wait # # Reconnect the DAP etc due to the reset. # $target0 cortex_a dbginit $target0 arm core_state arm if { $_SMP } { $target1 arm core_state arm $target1 cortex_a dbginit cortex_a smp_off } poll on # # We can now halt the core. # if { $_SMP } { targets $target1 halt } targets $target0 halt #zynq_rtems_setup } init zynq_restart 100