swm050.cfg 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. # Synwit SWM050
  2. source [find target/swj-dp.tcl]
  3. if { [info exists CHIPNAME] } {
  4. set _CHIPNAME $CHIPNAME
  5. } else {
  6. set _CHIPNAME swm050
  7. }
  8. set _CHIPSERIES swm050
  9. if { [info exists WORKAREASIZE] } {
  10. set _WORKAREASIZE $WORKAREASIZE
  11. } else {
  12. set _WORKAREASIZE 0x400
  13. }
  14. if { [info exists CPUTAPID] } {
  15. set _CPUTAPID $CPUTAPID
  16. } else {
  17. set _CPUTAPID 0x0bb11477
  18. }
  19. swj_newdap $_CHIPNAME cpu -expected-id $_CPUTAPID
  20. dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu
  21. set _TARGETNAME $_CHIPNAME.cpu
  22. target create $_TARGETNAME cortex_m -dap $_CHIPNAME.dap
  23. $_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE
  24. set _FLASHNAME $_CHIPNAME.flash
  25. flash bank $_FLASHNAME swm050 0x0 0x2000 0 0 $_TARGETNAME
  26. adapter speed 1000
  27. $_TARGETNAME configure -event reset-init {
  28. # Stop the watchdog, just to be safe
  29. mww 0x40019000 0x00
  30. # Set clock divider value to 1
  31. mww 0x400F0000 0x01
  32. # Set system clock to 18Mhz
  33. mww 0x400F0008 0x00
  34. }
  35. # SWM050 (Cortex-M0 core) supports SYSRESETREQ
  36. if {![using_hla]} {
  37. # if srst is not fitted use SYSRESETREQ to
  38. # perform a soft reset
  39. cortex_m reset_config sysresetreq
  40. }