openocd: build: add SPDX tag
[fw/openocd] / src / target / startup.tcl
index cd98d68e44356d47d432ff173794ec63e7a17797..290e79d1eee3ab13a1f193f887114c813b313dd1 100644 (file)
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
 # Defines basic Tcl procs for OpenOCD target module
 
 proc new_target_name { } {
@@ -206,6 +208,32 @@ proc init_target_events {} {
 proc init_board {} {
 }
 
+proc mem2array {arrayname bitwidth address count {phys ""}} {
+       echo "DEPRECATED! use 'read_memory' not 'mem2array'"
+
+       upvar $arrayname $arrayname
+       set $arrayname ""
+       set i 0
+
+       foreach elem [read_memory $address $bitwidth $count {*}$phys] {
+               set ${arrayname}($i) $elem
+               incr i
+       }
+}
+
+proc array2mem {arrayname bitwidth address count {phys ""}} {
+       echo "DEPRECATED! use 'write_memory' not 'array2mem'"
+
+       upvar $arrayname $arrayname
+       set data ""
+
+       for {set i 0} {$i < $count} {incr i} {
+               lappend data [expr $${arrayname}($i)]
+       }
+
+       write_memory $address $bitwidth $data {*}$phys
+}
+
 # smp_on/smp_off were already DEPRECATED in v0.11.0 through http://openocd.zylin.com/4615
 lappend _telnet_autocomplete_skip "aarch64 smp_on"
 proc "aarch64 smp_on" {args} {