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.
 
 
 
 
 
 

89 lines
1.9 KiB

  1. # script for ATMEL sam3, a Cortex-M3 chip
  2. #
  3. # at91sam3u4e
  4. # at91sam3u2e
  5. # at91sam3u1e
  6. # at91sam3u4c
  7. # at91sam3u2c
  8. # at91sam3u1c
  9. #
  10. # at91sam3s4c
  11. # at91sam3s4b
  12. # at91sam3s4a
  13. # at91sam3s2c
  14. # at91sam3s2b
  15. # at91sam3s2a
  16. # at91sam3s1c
  17. # at91sam3s1b
  18. # at91sam3s1a
  19. #
  20. # at91sam3A4C
  21. # at91sam3A8C
  22. # at91sam3X4C
  23. # at91sam3X4E
  24. # at91sam3X8C
  25. # at91sam3X8E
  26. # at91sam3X8H
  27. source [find target/swj-dp.tcl]
  28. if { [info exists CHIPNAME] } {
  29. set _CHIPNAME $CHIPNAME
  30. } else {
  31. set _CHIPNAME sam3
  32. }
  33. if { [info exists ENDIAN] } {
  34. set _ENDIAN $ENDIAN
  35. } else {
  36. set _ENDIAN little
  37. }
  38. # Work-area is a space in RAM used for flash programming
  39. # By default use 64kB
  40. if { [info exists WORKAREASIZE] } {
  41. set _WORKAREASIZE $WORKAREASIZE
  42. } else {
  43. set _WORKAREASIZE 0x4000
  44. }
  45. #jtag scan chain
  46. if { [info exists CPUTAPID] } {
  47. set _CPUTAPID $CPUTAPID
  48. } else {
  49. set _CPUTAPID 0x4ba00477
  50. }
  51. swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
  52. dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu
  53. set _TARGETNAME $_CHIPNAME.cpu
  54. target create $_TARGETNAME cortex_m -endian $_ENDIAN -dap $_CHIPNAME.dap
  55. # 16K is plenty, the smallest chip has this much
  56. $_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0
  57. $_TARGETNAME configure -event gdb-flash-erase-start {
  58. halt
  59. }
  60. # JTAG speed should be <= F_CPU/6. F_CPU after reset is 4 MHz, so use F_JTAG = 0.5MHz
  61. #
  62. # Since we may be running of an RC oscilator, we crank down the speed a
  63. # bit more to be on the safe side. Perhaps superstition, but if are
  64. # running off a crystal, we can run closer to the limit. Note
  65. # that there can be a pretty wide band where things are more or less stable.
  66. adapter speed 500
  67. adapter srst delay 100
  68. if {[using_jtag]} {
  69. jtag_ntrst_delay 100
  70. }
  71. if {![using_hla]} {
  72. # if srst is not fitted use SYSRESETREQ to
  73. # perform a soft reset
  74. cortex_m reset_config sysresetreq
  75. }