Line 27... |
Line 27... |
#
|
#
|
# Author(s):
|
# Author(s):
|
# - Olivier Girard, olgirard@gmail.com
|
# - Olivier Girard, olgirard@gmail.com
|
#
|
#
|
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
# $Rev: 15 $
|
# $Rev: 119 $
|
# $LastChangedBy: olivier.girard $
|
# $LastChangedBy: olivier.girard $
|
# $LastChangedDate: 2009-08-04 22:41:47 +0200 (Tue, 04 Aug 2009) $
|
# $LastChangedDate: 2011-06-24 14:35:53 +0200 (Fri, 24 Jun 2011) $
|
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
|
|
global mem_breakpoint
|
global mem_breakpoint
|
|
|
###############################################################################
|
###############################################################################
|
Line 160... |
Line 160... |
for {set i 0} {$i<$length} {incr i} {
|
for {set i 0} {$i<$length} {incr i} {
|
lappend mem_val "0x[string range $data [expr $i*2] [expr $i*2+1]]"
|
lappend mem_val "0x[string range $data [expr $i*2] [expr $i*2+1]]"
|
}
|
}
|
|
|
# Write memory
|
# Write memory
|
|
if {$length==2} {
|
|
regexp {(..)(..)} $data match data_lo data_hi
|
|
WriteMem 0 "0x$addr" "0x${data_hi}${data_lo}"
|
|
} else {
|
WriteMemQuick8 "0x$addr" $mem_val
|
WriteMemQuick8 "0x$addr" $mem_val
|
|
}
|
|
|
# Eventually re-set the software breakpoints in case they have been overwritten
|
# Eventually re-set the software breakpoints in case they have been overwritten
|
set addr_start [format %d "0x$addr"]
|
set addr_start [format %d "0x$addr"]
|
foreach {brk_addr brk_val} [array get mem_breakpoint] {
|
foreach {brk_addr brk_val} [array get mem_breakpoint] {
|
set brk_addr_dec [format %d "0x$brk_addr"]
|
set brk_addr_dec [format %d "0x$brk_addr"]
|
Line 192... |
Line 197... |
set length [format %d "0x$length"]
|
set length [format %d "0x$length"]
|
|
|
# Read memory
|
# Read memory
|
set data [ReadMemQuick8 "0x$addr" $length]
|
set data [ReadMemQuick8 "0x$addr" $length]
|
|
|
|
|
# Eventually replace read data by the original software breakpoint value
|
# Eventually replace read data by the original software breakpoint value
|
set addr_start [format %d "0x$addr"]
|
set addr_start [format %d "0x$addr"]
|
foreach {brk_addr brk_val} [array get mem_breakpoint] {
|
foreach {brk_addr brk_val} [array get mem_breakpoint] {
|
set brk_addr_dec [format %d "0x$brk_addr"]
|
set brk_addr_dec [format %d "0x$brk_addr"]
|
set brk_addr_offset [expr $brk_addr_dec-$addr_start]
|
set brk_addr_offset [expr $brk_addr_dec-$addr_start]
|