Line 27... |
Line 27... |
#
|
#
|
# Author(s):
|
# Author(s):
|
# - Olivier Girard, olgirard@gmail.com
|
# - Olivier Girard, olgirard@gmail.com
|
#
|
#
|
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
# $Rev: 198 $
|
# $Rev: 217 $
|
# $LastChangedBy: olivier.girard $
|
# $LastChangedBy: olivier.girard $
|
# $LastChangedDate: 2014-10-07 21:30:05 +0200 (Tue, 07 Oct 2014) $
|
# $LastChangedDate: 2016-08-01 23:04:04 +0200 (Mon, 01 Aug 2016) $
|
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
|
|
global mem_breakpoint
|
global mem_breakpoint
|
global mem_mapping
|
global mem_mapping
|
global breakSelect
|
global breakSelect
|
Line 96... |
Line 96... |
#-----------------------------------------------------------------------------#
|
#-----------------------------------------------------------------------------#
|
# Read CPU registers #
|
# Read CPU registers #
|
#-----------------------------------------------------------------------------#
|
#-----------------------------------------------------------------------------#
|
proc rsp_g {CpuNr} {
|
proc rsp_g {CpuNr} {
|
|
|
|
global mspgcc_compat_mode
|
|
|
# Read register value
|
# Read register value
|
set reg_val [ReadRegAll $CpuNr]
|
set reg_val [ReadRegAll $CpuNr]
|
|
|
# Format answer
|
# Format answer
|
set rsp_answer ""
|
set rsp_answer ""
|
for {set i 0} {$i < [llength $reg_val]} {incr i} {
|
for {set i 0} {$i < [llength $reg_val]} {incr i} {
|
|
|
regexp {0x(..)(..)} [lindex $reg_val $i] match msb lsb
|
regexp {0x(..)(..)} [lindex $reg_val $i] match msb lsb
|
|
if {$mspgcc_compat_mode} {
|
append rsp_answer "$lsb$msb"
|
append rsp_answer "$lsb$msb"
|
|
} else {
|
|
append rsp_answer "$lsb${msb}0000"
|
|
}
|
}
|
}
|
|
|
return $rsp_answer
|
return $rsp_answer
|
}
|
}
|
|
|
#-----------------------------------------------------------------------------#
|
#-----------------------------------------------------------------------------#
|
# Write CPU registers #
|
# Write CPU registers #
|
#-----------------------------------------------------------------------------#
|
#-----------------------------------------------------------------------------#
|
proc rsp_G {CpuNr cmd} {
|
proc rsp_G {CpuNr cmd} {
|
|
|
|
global mspgcc_compat_mode
|
|
|
# Format register value
|
# Format register value
|
|
if {$mspgcc_compat_mode} {
|
set num_reg [expr [string length $cmd]/4]
|
set num_reg [expr [string length $cmd]/4]
|
|
} else {
|
|
set num_reg [expr [string length $cmd]/8]
|
|
}
|
set reg_val ""
|
set reg_val ""
|
for {set i 0} {$i < $num_reg} {incr i} {
|
for {set i 0} {$i < $num_reg} {incr i} {
|
|
if {$mspgcc_compat_mode} {
|
set lsb "[string index $cmd [expr $i*4+0]][string index $cmd [expr $i*4+1]]"
|
set lsb "[string index $cmd [expr $i*4+0]][string index $cmd [expr $i*4+1]]"
|
set msb "[string index $cmd [expr $i*4+2]][string index $cmd [expr $i*4+3]]"
|
set msb "[string index $cmd [expr $i*4+2]][string index $cmd [expr $i*4+3]]"
|
|
} else {
|
|
set lsb "[string index $cmd [expr $i*8+0]][string index $cmd [expr $i*8+1]]"
|
|
set msb "[string index $cmd [expr $i*8+2]][string index $cmd [expr $i*8+3]]"
|
|
}
|
lappend reg_val "0x$msb$lsb"
|
lappend reg_val "0x$msb$lsb"
|
}
|
}
|
|
|
# Write registers
|
# Write registers
|
WriteRegAll $CpuNr $reg_val
|
WriteRegAll $CpuNr $reg_val
|
|
|
return "OK"
|
return "OK"
|
}
|
}
|
|
|
|
|
#-----------------------------------------------------------------------------#
|
#-----------------------------------------------------------------------------#
|
# Kill request. #
|
# Kill request. #
|
#-----------------------------------------------------------------------------#
|
#-----------------------------------------------------------------------------#
|
proc rsp_k {CpuNr cmd} {
|
proc rsp_k {CpuNr cmd} {
|
|
|