From edefee988045558d5d306453ce352dc06bcb7a03 Mon Sep 17 00:00:00 2001 From: Antonio Borneo Date: Tue, 21 Sep 2010 16:06:37 +0800 Subject: TCL scripts: collect duplicated procedures TCL procedures mrw and mmw, originally in DaVinci target code, are duplicated in other TCL scripts. Moved in a common helper file, and added help/usage description. Signed-off-by: Antonio Borneo --- tcl/mem_helper.tcl | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 tcl/mem_helper.tcl (limited to 'tcl/mem_helper.tcl') diff --git a/tcl/mem_helper.tcl b/tcl/mem_helper.tcl new file mode 100644 index 00000000..d8114908 --- /dev/null +++ b/tcl/mem_helper.tcl @@ -0,0 +1,22 @@ +# Helper for common memory read/modify/write procedures + +# mrw: "memory read word", returns value of $reg +proc mrw {reg} { + set value "" + ocd_mem2array value 32 $reg 1 + return $value(0) +} + +add_usage_text mrw "address" +add_help_text mrw "Returns value of word in memory." + +# mmw: "memory modify word", updates value of $reg +# $reg <== ((value & ~$clearbits) | $setbits) +proc mmw {reg setbits clearbits} { + set old [mrw $reg] + set new [expr ($old & ~$clearbits) | $setbits] + mww $reg $new +} + +add_usage_text mmw "address setbits clearbits" +add_help_text mmw "Modify word in memory. new_val = (old_val & ~clearbits) | setbits;" -- cgit v1.2.3