ti_cc3220sf.cfg 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. # SPDX-License-Identifier: GPL-2.0-or-later
  2. #
  3. # Texas Instruments CC3220SF - ARM Cortex-M4
  4. #
  5. # http://www.ti.com/CC3220SF
  6. #
  7. source [find target/swj-dp.tcl]
  8. source [find target/icepick.cfg]
  9. source [find target/ti_cc32xx.cfg]
  10. set _FLASHNAME $_CHIPNAME.flash
  11. flash bank $_FLASHNAME cc3220sf 0 0 0 0 $_TARGETNAME
  12. #
  13. # On CC32xx family of devices, sysreqreset is disabled, and vectreset is
  14. # blocked by the boot loader (stops in a while(1) statement). srst reset can
  15. # leave the target in a state that prevents debug. The following uses the
  16. # soft_reset_halt command to reset and halt the target. Then the PC and stack
  17. # are initialized from internal flash. This allows for a more reliable reset,
  18. # but with two caveats: it only works for the SF variant that has internal
  19. # flash, and it only resets the CPU and not any peripherals.
  20. #
  21. proc ocd_process_reset_inner { MODE } {
  22. soft_reset_halt
  23. # Initialize MSP, PSP, and PC from vector table at flash 0x01000800
  24. set boot [read_memory 0x01000800 32 2]
  25. reg msp [lindex $boot 0]
  26. reg psp [lindex $boot 0]
  27. reg pc [lindex $boot 1]
  28. if { 0 == [string compare $MODE run ] } {
  29. resume
  30. }
  31. cc32xx.cpu invoke-event reset-end
  32. }