summaryrefslogtreecommitdiff
path: root/tcl/readable.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'tcl/readable.tcl')
-rw-r--r--tcl/readable.tcl25
1 files changed, 25 insertions, 0 deletions
diff --git a/tcl/readable.tcl b/tcl/readable.tcl
new file mode 100644
index 00000000..39f43caa
--- /dev/null
+++ b/tcl/readable.tcl
@@ -0,0 +1,25 @@
+proc iswithin { ADDRESS BASE LEN } {
+ return [expr ((($ADDRESS - $BASE) > 0) && (($ADDRESS - $BASE + $LEN) > 0))]
+}
+
+proc memorytype { ADDRESS } {
+ for { set chip 0 } { $chip < $N_CHIP } { incr chip } {
+ if { iswithin $ADDRESS $FLASH($chip,BASE) $FLASH($chip,LEN) } {
+ return "flash"
+ }
+ }
+
+ for { set chip 0 } { $chip < $N_RAM } { incr chip } {
+ if { iswithin $ADDRESS $RAM($chip,BASE) $RAM($chip,LEN) } {
+ return "ram"
+ }
+ }
+}
+
+# default to 32bit reads.
+proc isreadable { ADDRESS } {
+ return isreadable32 $ADDRESS
+}
+
+proc isreadable32 { ADDRESS } {
+ \ No newline at end of file