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.
 
 
 
 
 
 

63 lines
1.6 KiB

  1. # MDR32F9Q2I (1986ВЕ92У)
  2. # http://milandr.ru/index.php?mact=Products,cntnt01,details,0&cntnt01productid=57&cntnt01returnid=68
  3. source [find target/swj-dp.tcl]
  4. if { [info exists CHIPNAME] } {
  5. set _CHIPNAME $CHIPNAME
  6. } else {
  7. set _CHIPNAME mdr32f9q2i
  8. }
  9. if { [info exists ENDIAN] } {
  10. set _ENDIAN $ENDIAN
  11. } else {
  12. set _ENDIAN little
  13. }
  14. # Work-area is a space in RAM used for flash programming
  15. if { [info exists WORKAREASIZE] } {
  16. set _WORKAREASIZE $WORKAREASIZE
  17. } else {
  18. set _WORKAREASIZE 0x8000
  19. }
  20. #jtag scan chain
  21. if { [info exists CPUTAPID] } {
  22. set _CPUTAPID $CPUTAPID
  23. } else {
  24. if { [using_jtag] } {
  25. set _CPUTAPID 0x4ba00477
  26. } {
  27. # SWD IDCODE
  28. set _CPUTAPID 0x2ba01477
  29. }
  30. }
  31. swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
  32. set _TARGETNAME $_CHIPNAME.cpu
  33. target create $_TARGETNAME cortex_m -endian $_ENDIAN -chain-position $_TARGETNAME
  34. $_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0
  35. # can't handle overlapping memory regions
  36. if { [info exists IMEMORY] && [string equal $IMEMORY true] } {
  37. flash bank ${_CHIPNAME}_info.flash mdr 0x08000000 0x01000 0 0 $_TARGETNAME 1 1 4
  38. } else {
  39. flash bank $_CHIPNAME.flash mdr 0x08000000 0x20000 0 0 $_TARGETNAME 0 32 4
  40. }
  41. # JTAG speed should be <= F_CPU/6. F_CPU after reset is 8MHz, so use F_JTAG = 1MHz
  42. adapter_khz 1000
  43. adapter_nsrst_delay 100
  44. if {[using_jtag]} {
  45. jtag_ntrst_delay 100
  46. }
  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. }