You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

66 lines
1.6 KiB

  1. #
  2. # Cypress PSoC 5LP
  3. #
  4. source [find target/swj-dp.tcl]
  5. if { [info exists CHIPNAME] } {
  6. set _CHIPNAME $CHIPNAME
  7. } else {
  8. set _CHIPNAME psoc5lp
  9. }
  10. if { [info exists CPUTAPID] } {
  11. set _CPU_TAPID $CPUTAPID
  12. } else {
  13. set _CPU_TAPID 0x4BA00477
  14. }
  15. if { [using_jtag] } {
  16. set _CPU_DAP_ID $_CPU_TAPID
  17. } else {
  18. set _CPU_DAP_ID 0x2ba01477
  19. }
  20. swj_newdap $_CHIPNAME cpu -irlen 4 -expected-id $_CPU_DAP_ID
  21. dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu
  22. set _TARGETNAME $_CHIPNAME.cpu
  23. target create $_TARGETNAME cortex_m -dap $_CHIPNAME.dap
  24. if { [info exists WORKAREASIZE] } {
  25. set _WORKAREASIZE $WORKAREASIZE
  26. } else {
  27. set _WORKAREASIZE 0x2000
  28. }
  29. $_TARGETNAME configure -work-area-phys [expr {0x20000000 - $_WORKAREASIZE / 2}] \
  30. -work-area-size $_WORKAREASIZE -work-area-backup 0
  31. source [find mem_helper.tcl]
  32. $_TARGETNAME configure -event reset-init {
  33. # Configure Target Device (PSoC 5LP Device Programming Specification 5.2)
  34. set PANTHER_DBG_CFG 0x4008000C
  35. set PANTHER_DBG_CFG_BYPASS [expr {1 << 1}]
  36. mmw $PANTHER_DBG_CFG $PANTHER_DBG_CFG_BYPASS 0
  37. set PM_ACT_CFG0 0x400043A0
  38. mww $PM_ACT_CFG0 0xBF
  39. set FASTCLK_IMO_CR 0x40004200
  40. set FASTCLK_IMO_CR_F_RANGE_2 [expr {2 << 0}]
  41. set FASTCLK_IMO_CR_F_RANGE_MASK [expr {7 << 0}]
  42. mmw $FASTCLK_IMO_CR $FASTCLK_IMO_CR_F_RANGE_2 $FASTCLK_IMO_CR_F_RANGE_MASK
  43. }
  44. set _FLASHNAME $_CHIPNAME.flash
  45. flash bank $_FLASHNAME psoc5lp 0x00000000 0 0 0 $_TARGETNAME
  46. flash bank $_CHIPNAME.eeprom psoc5lp_eeprom 0x40008000 0 0 0 $_TARGETNAME
  47. flash bank $_CHIPNAME.nvl psoc5lp_nvl 0 0 0 0 $_TARGETNAME
  48. if {![using_hla]} {
  49. cortex_m reset_config sysresetreq
  50. }