X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=tcl%2Ftarget%2Fomap4430.cfg;h=6f3525aed78856c10e1fd0c134160f29713a6271;hp=69678eecd6443a87d6973a1758a054ff53b94f2a;hb=fccc55225a7f874ee9d795286e9d92dc051b5b9d;hpb=aaf145c42201496007e0fc9168d9738cb0237717 diff --git a/tcl/target/omap4430.cfg b/tcl/target/omap4430.cfg index 69678eecd6..6f3525aed7 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_a -chain-position $_CHIPNAME.dap \ + -coreid 0 -dbgbase $_dbgbase # SRAM: 56KiB at 0x4030.0000 $_TARGETNAME configure -work-area-phys 0x40300000 -work-area-size 0x1000 @@ -81,8 +104,8 @@ $_TARGETNAME configure -work-area-phys 0x40300000 -work-area-size 0x1000 # # M3 targets, separate TAP/DAP for each core # -target create $_CHIPNAME.m30 cortex_m3 -chain-position $_CHIPNAME.m30_dap -target create $_CHIPNAME.m31 cortex_m3 -chain-position $_CHIPNAME.m31_dap +target create $_CHIPNAME.m30 cortex_m -chain-position $_CHIPNAME.m30_dap +target create $_CHIPNAME.m31 cortex_m -chain-position $_CHIPNAME.m31_dap # Once the JRC is up, enable our TAPs @@ -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 +