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.
 
 
 
 
 
 

53 lines
1.4 KiB

  1. #
  2. # Analog Devices ADSP-SC58x (ARM Cortex-A5 plus one or two SHARC+ DSPs)
  3. #
  4. # Evaluation boards by Analog Devices (and designs derived from them) use a
  5. # non-standard 10-pin 0.05" ARM Cortex Debug Connector. In this bastardized
  6. # implementation, pin 9 (GND or GNDDetect) has been usurped with JTAG /TRST.
  7. #
  8. # As a result, a standards-compliant debug pod will force /TRST active,
  9. # putting the processor's debug interface into reset and preventing usage.
  10. #
  11. # A connector adapter must be employed on these boards to isolate or remap
  12. # /TRST so that it is only asserted when intended.
  13. source [find target/swj-dp.tcl]
  14. if { [info exists CHIPNAME] } {
  15. set _CHIPNAME $CHIPNAME
  16. } else {
  17. set _CHIPNAME ADSP-SC58x
  18. }
  19. if { [info exists ENDIAN] } {
  20. set _ENDIAN $ENDIAN
  21. } else {
  22. set _ENDIAN little
  23. }
  24. if { [info exists CPUTAPID] } {
  25. set _CPUTAPID $CPUTAPID
  26. } else {
  27. set _CPUTAPID 0x3BA02477
  28. }
  29. swj_newdap $_CHIPNAME cpu -irlen 4 -expected-id $_CPUTAPID
  30. dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu
  31. target create ap0.mem mem_ap -dap $_CHIPNAME.dap -ap-num 0
  32. set _TARGETNAME $_CHIPNAME.cpu
  33. target create $_TARGETNAME cortex_a -endian $_ENDIAN -dap $_CHIPNAME.dap
  34. $_TARGETNAME configure -event examine-end {
  35. global _TARGETNAME
  36. sc58x_enabledebug
  37. }
  38. proc sc58x_enabledebug {} {
  39. # Enable debugging functionality by setting bits in the TAPC_DBGCTL register
  40. # it is not possible to halt the target unless these bits have been set
  41. ap0.mem mww 0x31131000 0xFFFF
  42. }