From: oharboe Date: Tue, 4 Nov 2008 11:08:19 +0000 (+0000) Subject: cpu help command wip X-Git-Tag: v0.1.0~186 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=c7e9d09e966b582731b4c2036e83092cb3555fc8;p=openocd cpu help command wip git-svn-id: svn://svn.berlios.de/openocd/trunk@1131 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- diff --git a/src/helper/startup.tcl b/src/helper/startup.tcl index 0ac1ebd7..794654c6 100644 --- a/src/helper/startup.tcl +++ b/src/helper/startup.tcl @@ -315,4 +315,43 @@ proc telnet_async {state} { } else { return -code error "Illegal option $state" } -} \ No newline at end of file +} + + +add_help_text cpu " - 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)] + } +} +