I've committed the attached patch to get the ball rolling on how
we can make it easier to figure out what targets OpenOCD supports.

The general idea is that there should be a command which
will print in tabular form the supported CPUs and what options that should
be used so as to get the user started on the right track.

The user will have some string of numbers and letters that describe his
particular type of CPU.

Vendor specific names is going to far, but hopefully CPU families can
be covered....

Thoughts?

Patches? :-)



-- 
Øyvind Harboe
http://www.zylin.com/zy1000.html
ARM7 ARM9 XScale Cortex
JTAG debugger and flash programmer
### Eclipse Workspace Patch 1.0
#P openocd
Index: src/helper/startup.tcl
===================================================================
--- src/helper/startup.tcl      (revision 1117)
+++ src/helper/startup.tcl      (working copy)
@@ -315,4 +315,43 @@
        } else {
                return -code error "Illegal option $state"              
        }
-}
\ No newline at end of file
+}
+
+
+add_help_text cpu "<name> - prints out target options and a comment on CPU 
which matches name"
+
+# A list of names of CPU and options required
+set ocd_cpu_list {
+       {
+               name IXP42x 
+               options {xscale -variant IXP42x} 
+               comment {IXP42x cpu}
+       }
+       {
+               name arm7 
+               options {arm7tdmi -variant arm7tdmi} 
+               comment {vanilla ARM7}
+       }
+}
+
+# Invoked from Tcl code
+proc ocd_cpu {args} {
+       set name $args
+       set result ""
+       global ocd_cpu_list
+       foreach a [lsort $ocd_cpu_list] {
+               if {[string length $args]==0||[string first [string toupper 
$name] [string toupper "$a(name)$a(options)$a(comment)"]]!=-1} {
+                       lappend result $a 
+               }
+       }
+       return $result
+}
+
+proc cpu {args} {
+    #     
0123456789012345678901234567890123456789012345678901234567890123456789
+       puts "CPU                 Options                                 
Comment"
+       foreach a [lsort [ocd_cpu $args]] {
+               puts [format "%-20s%-40s%s" $a(name) $a(options) $a(comment)]
+       }
+}
+
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to