}
proc ocd_gdb_restart {target_id} {
- global _TARGETNAME_1
+ global _TARGETNAME_1
global _SMP
targets $_TARGETNAME_1
if { [expr ($_SMP == 1)] } {
- cortex_a8 smp_off
+ cortex_a smp_off
}
rst_run
halt
if { [expr ($_SMP == 1)]} {
- cortex_a8 smp_on
+ cortex_a smp_on
}
}
proc smp_reg {} {
- global _TARGETNAME_1
- global _TARGETNAME_2
+ global _TARGETNAME_1
+ global _TARGETNAME_2
targets $_TARGETNAME_1
echo "$_TARGETNAME_1"
set pc1 [reg pc]
set stck1 [reg sp_svc]
- targets $_TARGETNAME_2
+ targets $_TARGETNAME_2
echo "$_TARGETNAME_1"
set pc2 [reg pc]
set stck2 [reg sp_svc]
set result 1
set i 0
irscan $_CHIPNAME.jrc 0x3a
- drscan $_CHIPNAME.jrc 4 0
- set pwrsts [drscan $_CHIPNAME.jrc 16 0]
+ drscan $_CHIPNAME.jrc 4 0
+ set pwrsts [drscan $_CHIPNAME.jrc 16 0]
set pwrsts [expr (0x$pwrsts & 0xc)]
while {[string equal "4" $pwrsts] && $i<20} {
irscan $_CHIPNAME.jrc 0x3a
- drscan $_CHIPNAME.jrc 4 0;
- set pwrsts [drscan $_CHIPNAME.jrc 16 0]
+ drscan $_CHIPNAME.jrc 4 0;
+ set pwrsts [drscan $_CHIPNAME.jrc 16 0]
set pwrsts [expr (0x$pwrsts & 0xc)]
if {![string equal "4" $pwrsts]} {
set result 1
}
proc halt_ { } {
- if {[poll_pwrsts]==1} {
+ if {[poll_pwrsts]==1} {
halt
} else {
echo "halt failed : target in retention"
proc enable_apetap {} {
- global _CHIPNAME
- global _TARGETNAME_2
+ global _CHIPNAME
+ global _TARGETNAME_2
global _TARGETNAME_1
poll off
irscan $_CHIPNAME.jrc 0x3e
- drscan $_CHIPNAME.jrc 8 0xcf
+ drscan $_CHIPNAME.jrc 8 0xcf
jtag tapenable $_CHIPNAME.dap
irscan $_CHIPNAME.jrc 0x6
drscan $_CHIPNAME.jrc 32 0
tcl_port 5555
telnet_port 4444
gdb_port 3333
-
+
if { [info exists CHIPNAME] } {
-global _CHIPNAME
- set _CHIPNAME $CHIPNAME
+global _CHIPNAME
+ set _CHIPNAME $CHIPNAME
} else {
-global _CHIPNAME
- set _CHIPNAME u8500
+global _CHIPNAME
+ set _CHIPNAME u8500
}
-if { [info exists ENDIAN] } {
- set _ENDIAN $ENDIAN
-} else {
+if { [info exists ENDIAN] } {
+ set _ENDIAN $ENDIAN
+} else {
# this defaults to a bigendian
- set _ENDIAN little
+ set _ENDIAN little
}
# Subsidiary TAP: APE with scan chains for ARM Debug, EmbeddedICE-RT,
-if { [info exists CPUTAPID ] } {
+if { [info exists CPUTAPID] } {
set _CPUTAPID $CPUTAPID
} else {
set _CPUTAPID 0x4ba00477
}
-jtag newtap $_CHIPNAME dap -irlen 4 -ircapture 0xe -irmask 0xf -expected-id $_CPUTAPID -disable
-jtag configure $_CHIPNAME.dap -event tap-enable \
- "u8500_dapenable $_CHIPNAME.dap"
-jtag configure $_CHIPNAME.dap -event tap-disable \
- "u8500_tapdisable $_CHIPNAME.dap 0xc0"
+jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0xe -irmask 0xf -expected-id $_CPUTAPID -disable
+jtag configure $_CHIPNAME.cpu -event tap-enable \
+ "u8500_dapenable $_CHIPNAME.cpu"
+jtag configure $_CHIPNAME.cpu -event tap-disable \
+ "u8500_tapdisable $_CHIPNAME.cpu 0xc0"
#CLTAPC TAP JRC equivalent
-if { [info exists CLTAPC_ID ] } {
+if { [info exists CLTAPC_ID] } {
set _CLTAPC_ID $CLTAPC_ID
} else {
set _CLTAPC_ID 0x22286041
jtag newtap $_CHIPNAME jrc -irlen 6 -ircapture 0x6 -irmask 0xf -expected-id $_CLTAPC_ID -ignore-version
-if { ![info exists TARGETNAME_1 ] } {
-global _TARGETNAME_1
+if { ![info exists TARGETNAME_1] } {
+global _TARGETNAME_1
set _TARGETNAME_1 $_CHIPNAME.cpu1
} else {
-global _TARGETNAME_1
+global _TARGETNAME_1
set _TARGETNAME_1 $TARGETNAME_1
}
-if { [info exists DAP_DBG1] } {
+if { [info exists DAP_DBG1] } {
set _DAP_DBG1 $DAP_DBG1
} else {
set _DAP_DBG1 0x801A8000
}
-if { [info exists DAP_DBG2] } {
+if { [info exists DAP_DBG2] } {
set _DAP_DBG2 $DAP_DBG2
} else {
set _DAP_DBG2 0x801AA000
}
-target create $_TARGETNAME_1 cortex_a8 -chain-position $_CHIPNAME.dap -dbgbase $_DAP_DBG1 -coreid 0
+dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu
+
+target create $_TARGETNAME_1 cortex_a -dap $_CHIPNAME.dap -dbgbase $_DAP_DBG1 -coreid 0 -rtos linux
$_TARGETNAME_1 configure -event gdb-attach {
halt
}
-if { ![info exists TARGETNAME_2 ] } {
-global _TARGETNAME_2
+if { ![info exists TARGETNAME_2] } {
+global _TARGETNAME_2
set _TARGETNAME_2 $_CHIPNAME.cpu2
} else {
-global _TARGETNAME_2
+global _TARGETNAME_2
set _TARGETNAME_2 $TARGETNAME_2
}
-target create $_TARGETNAME_2 cortex_a8 -chain-position $_CHIPNAME.dap -dbgbase $_DAP_DBG2 -coreid 1
+target create $_TARGETNAME_2 cortex_a -dap $_CHIPNAME.dap -dbgbase $_DAP_DBG2 -coreid 1 -rtos linux
$_TARGETNAME_2 configure -event gdb-attach {
halt