X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=tcl%2Ftarget%2Fomap4430.cfg;h=f16d7488868e7e6a7305197d59f81f0b120abc36;hp=69678eecd6443a87d6973a1758a054ff53b94f2a;hb=ca45e700b1c57caca2ef08e665e3c7e3e02ac8d3;hpb=aaf145c42201496007e0fc9168d9738cb0237717 diff --git a/tcl/target/omap4430.cfg b/tcl/target/omap4430.cfg index 69678eecd6..f16d748886 100644 --- a/tcl/target/omap4430.cfg +++ b/tcl/target/omap4430.cfg @@ -16,7 +16,7 @@ source [find target/icepick.cfg] # # A9 DAP # -if { [info exists DAP_TAPID ] } { +if { [info exists DAP_TAPID] } { set _DAP_TAPID $DAP_TAPID } else { set _DAP_TAPID 0x3BA00477 @@ -31,7 +31,7 @@ jtag configure $_CHIPNAME.dap -event tap-enable \ # # M3 DAPs, one per core # -if { [info exists M3_DAP_TAPID ] } { +if { [info exists M3_DAP_TAPID] } { set _M3_DAP_TAPID $M3_DAP_TAPID } else { set _M3_DAP_TAPID 0x4BA00477 @@ -51,14 +51,24 @@ jtag configure $_CHIPNAME.m30_dap -event tap-enable \ # # ICEpick-D JRC (JTAG route controller) # -if { [info exists JRC_TAPID ] } { +if { [info exists JRC_TAPID] } { set _JRC_TAPID $JRC_TAPID } else { - set _JRC_TAPID 0x3b95c02f + set _JRC_TAPID 0x3b95c02f + set _JRC_TAPID2 0x1b85202f } +# PandaBoard REV EA1 (PEAP platforms) +if { [info exists JRC_TAPID2] } { + set _JRC_TAPID2 $JRC_TAPID2 +} else { + set _JRC_TAPID2 0x1b85202f +} + + + jtag newtap $_CHIPNAME jrc -irlen 6 -ircapture 0x1 -irmask 0x3f \ - -expected-id $_JRC_TAPID + -expected-id $_JRC_TAPID -expected-id $_JRC_TAPID2 # Required by ICEpick to power-up the debug domain jtag configure $_CHIPNAME.jrc -event post-reset "runtest 200" @@ -72,7 +82,20 @@ jtag configure $_CHIPNAME.jrc -event post-reset "runtest 200" # second core. # set _TARGETNAME $_CHIPNAME.cpu -target create $_TARGETNAME cortex_a9 -chain-position $_CHIPNAME.dap -coreid 0 + +# APB DBGBASE reads 0x80040000, but this points to an empty ROM table. +# 0x80000000 is cpu0 coresight region +# +# +# CORTEX_A8_PADDRDBG_CPU_SHIFT 13 +# 0x80000000 | (coreid << CORTEX_A8_PADDRDBG_CPU_SHIFT) + +set _coreid 0 +set _dbgbase [expr 0x80000000 | ($_coreid << 13)] +echo "Using dbgbase = [format 0x%x $_dbgbase]" + +target create $_TARGETNAME cortex_a8 -chain-position $_CHIPNAME.dap \ + -coreid 0 -dbgbase $_dbgbase # SRAM: 56KiB at 0x4030.0000 $_TARGETNAME configure -work-area-phys 0x40300000 -work-area-size 0x1000 @@ -99,3 +122,6 @@ $_TARGETNAME configure -event reset-assert "$_TARGETNAME mww phys $PRM_RSTCTRL 0 $_CHIPNAME.m30 configure -event reset-assert { } $_CHIPNAME.m31 configure -event reset-assert { } +# Soft breakpoints don't currently work due to broken cache handling +gdb_breakpoint_override hard +