mirror of
				https://git.code.sf.net/p/openocd/code
				synced 2025-11-04 04:39:04 +00:00 
			
		
		
		
	For historical reasons, no license information was added to the
tcl files. This makes trivial adding the SPDX tag through script:
	fgrep -rL SPDX tcl | while read a;do \
	sed -i '1{i# SPDX-License-Identifier: GPL-2.0-or-later\n
	}' $a;done
With no specific license information from the author, let's extend
the OpenOCD project license GPL-2.0-or-later to the files.
Change-Id: Ief3da306a6e1978de7dfb8f552f9ff23151f9944
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7030
Tested-by: jenkins
		
	
		
			
				
	
	
		
			39 lines
		
	
	
		
			1021 B
		
	
	
	
		
			Tcl
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1021 B
		
	
	
	
		
			Tcl
		
	
	
	
	
	
# SPDX-License-Identifier: GPL-2.0-or-later
 | 
						|
 | 
						|
# Helper for common memory read/modify/write procedures
 | 
						|
 | 
						|
# mrw: "memory read word", returns value of $reg
 | 
						|
proc mrw {reg} {
 | 
						|
	return [read_memory $reg 32 1]
 | 
						|
}
 | 
						|
 | 
						|
add_usage_text mrw "address"
 | 
						|
add_help_text mrw "Returns value of word in memory."
 | 
						|
 | 
						|
# mrh: "memory read halfword", returns value of $reg
 | 
						|
proc mrh {reg} {
 | 
						|
	return [read_memory $reg 16 1]
 | 
						|
}
 | 
						|
 | 
						|
add_usage_text mrh "address"
 | 
						|
add_help_text mrh "Returns value of halfword in memory."
 | 
						|
 | 
						|
# mrb: "memory read byte", returns value of $reg
 | 
						|
proc mrb {reg} {
 | 
						|
	return [read_memory $reg 8 1]
 | 
						|
}
 | 
						|
 | 
						|
add_usage_text mrb "address"
 | 
						|
add_help_text mrb "Returns value of byte 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;"
 |