2017-12-28 17:38:21 -06:00
|
|
|
#
|
|
|
|
# Texas Instruments CC3220SF - ARM Cortex-M4
|
|
|
|
#
|
|
|
|
# http://www.ti.com/CC3220SF
|
|
|
|
#
|
|
|
|
|
|
|
|
source [find target/swj-dp.tcl]
|
|
|
|
source [find target/icepick.cfg]
|
|
|
|
source [find target/ti_cc32xx.cfg]
|
|
|
|
|
|
|
|
set _FLASHNAME $_CHIPNAME.flash
|
|
|
|
flash bank $_FLASHNAME cc3220sf 0 0 0 0 $_TARGETNAME
|
2020-03-02 14:04:24 -06:00
|
|
|
|
|
|
|
#
|
|
|
|
# On CC32xx family of devices, sysreqreset is disabled, and vectreset is
|
|
|
|
# blocked by the boot loader (stops in a while(1) statement). srst reset can
|
|
|
|
# leave the target in a state that prevents debug. The following uses the
|
|
|
|
# soft_reset_halt command to reset and halt the target. Then the PC and stack
|
|
|
|
# are initialized from internal flash. This allows for a more reliable reset,
|
|
|
|
# but with two caveats: it only works for the SF variant that has internal
|
|
|
|
# flash, and it only resets the CPU and not any peripherals.
|
|
|
|
#
|
|
|
|
|
|
|
|
proc ocd_process_reset_inner { MODE } {
|
|
|
|
|
|
|
|
soft_reset_halt
|
|
|
|
|
2020-04-25 18:25:32 -05:00
|
|
|
# Initialize MSP, PSP, and PC from vector table at flash 0x01000800
|
2020-03-02 14:04:24 -06:00
|
|
|
mem2array boot 32 0x01000800 2
|
|
|
|
|
|
|
|
reg msp $boot(0)
|
|
|
|
reg psp $boot(0)
|
|
|
|
reg pc $boot(1)
|
|
|
|
|
|
|
|
if { 0 == [string compare $MODE run ] } {
|
|
|
|
resume
|
|
|
|
}
|
|
|
|
|
|
|
|
cc32xx.cpu invoke-event reset-end
|
|
|
|
}
|