numicro.cfg 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. # SPDX-License-Identifier: GPL-2.0-or-later
  2. # script for Nuvoton MuMicro Cortex-M0 Series
  3. # Adapt based on what transport is active.
  4. source [find target/swj-dp.tcl]
  5. # Set Chipname
  6. if { [info exists CHIPNAME] } {
  7. set _CHIPNAME $CHIPNAME
  8. } else {
  9. set _CHIPNAME NuMicro
  10. }
  11. # SWD DP-ID Nuvoton NuMicro Cortex-M0 has SWD Transport only.
  12. if { [info exists CPUDAPID] } {
  13. set _CPUDAPID $CPUDAPID
  14. } else {
  15. set _CPUDAPID 0x0BB11477
  16. }
  17. # Work-area is a space in RAM used for flash programming
  18. # By default use 2kB
  19. if { [info exists WORKAREASIZE] } {
  20. set _WORKAREASIZE $WORKAREASIZE
  21. } else {
  22. set _WORKAREASIZE 0x800
  23. }
  24. # Debug Adapter Target Settings
  25. swj_newdap $_CHIPNAME cpu -irlen 4 -expected-id $_CPUDAPID
  26. dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu
  27. set _TARGETNAME $_CHIPNAME.cpu
  28. target create $_TARGETNAME cortex_m -dap $_CHIPNAME.dap
  29. $_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0
  30. # flash bank <name> numicro <base> <size(autodetect,set to 0)> 0 0 <target#>
  31. #set _FLASHNAME $_CHIPNAME.flash
  32. #flash bank $_FLASHNAME numicro 0 $_FLASHSIZE 0 0 $_TARGETNAME
  33. # flash size will be probed
  34. set _FLASHNAME $_CHIPNAME.flash_aprom
  35. flash bank $_FLASHNAME numicro 0x00000000 0 0 0 $_TARGETNAME
  36. set _FLASHNAME $_CHIPNAME.flash_data
  37. flash bank $_FLASHNAME numicro 0x0001F000 0 0 0 $_TARGETNAME
  38. set _FLASHNAME $_CHIPNAME.flash_ldrom
  39. flash bank $_FLASHNAME numicro 0x00100000 0 0 0 $_TARGETNAME
  40. set _FLASHNAME $_CHIPNAME.flash_config
  41. flash bank $_FLASHNAME numicro 0x00300000 0 0 0 $_TARGETNAME
  42. # set default SWCLK frequency
  43. adapter speed 1000
  44. # set default srst setting "none"
  45. reset_config none
  46. # HLA doesn't have cortex_m commands
  47. if {![using_hla]} {
  48. # if srst is not fitted use SYSRESETREQ to
  49. # perform a soft reset
  50. cortex_m reset_config sysresetreq
  51. }