aboutsummaryrefslogtreecommitdiff
path: root/src/helper/startup.tcl
AgeCommit message (Collapse)Author
2009-11-30make syntax errors respond with 'usage'Zachary T Welch
The 'help' text will become more verbose, so its entire text will be far more than desired when you only borked your syntax. The usage still allows the commands to be looked up for more help.
2009-11-28remove unknown handlerZachary T Welch
Updates command registration to provide top-level handlers for all commands, rather than falling back onto the 'unknown' command. Instead, that same handler is registered for placeholders, providing the same functionality under the root verb command name instead. This permits users to implement their own 'unknown' function, and it resolves some mind-bending breakage related to function object lookup while recursing. Changes 'ocd_bounce' to call 'ocd_command' and 'ocd_help' from the wrapper directly, rather than bouncing through their wrappers. This prevents endless recursion caused by the above changes, whereby the 'command' wrapper's type check would blow the stack to hell and gone.
2009-11-28improve command handler wrapper scriptZachary T Welch
Adds 'ocd_bouncer' in startup.tcl that is called as a helper for all command handlers, shrinking the embedded C wrapper to a mere stub. Jim handlers are called directly, simple handlers get called with the wrapper to capture and discard their output on error, and placeholders call help directly (though the unknown handler still does this too). It attempts to improve the quality of the error messages as well.
2009-11-24improve usage and help command outputZachary T Welch
Rewrite formatting code in C, removing last remenants of TCL help code. Sinificantly improves the readability by using smarter indent and wrap.
2009-11-24allow scripts to update usage informationZachary T Welch
The add_usage_text command uses the same C handler, which was updated to support its new polymorphic role. This patch updates the two script commands that needed this support: 'find' and 'script'.
2009-11-24rewrite 'unknown' command dispatching in CZachary T Welch
Rewrite the magical 'unknown' command in C as a Jim handler, allowing it to dispatch commands to any level in the tree.
2009-11-24improve startup tcl scriptsZachary T Welch
Fix a couple of layering violations missed in the last round. Add missing comment headers.
2009-11-20add add_help_text command handlerZachary T Welch
Rewrite means for scripts to register help text for commands. These cause the new commands to be stored in the command heirarchy, with built-in commands; however, they will never be invoked there because they do not receive a command handler. The same trick is used for the Jim commands. Remove the old helpers that were used to register commands.
2009-11-20improve 'help' commandZachary T Welch
Rewrites 'help' command in C, using new 'cmd_help' for display. Adds the built-in 'help' COMMAND_HANDLER to provide better output than the TCL-based script command (e.g. heirarchical listing of commands). The help string is stored in the command structure, though it conitnues to be pushed into the Jim environment. The current idiomatic usage suggests the addition of a usage field as well, to provide two levels of detail for users to consume (i.e. terse usage list, or verbose help).
2009-11-20factor help script command into partsZachary T Welch
Creates a helper function, cmd_help, which displays the help string for a single command. Presently, it is called from the loop in help. The routine has been extended to allow indentation of command groups, so an improved help command can improve the display of information.
2009-11-18split startup.tcl file across modulesZachary T Welch
Moves definitions for each layer into their own file, eliminating layering violations in the built-in TCL code. Updates src/Makefile.am rules to include all files in the final startup.tcl input file, and others Makefile.am rules to distribute the new files in our packages.
2009-11-16ARM: "armv4_5" command prefix becomes "arm"David Brownell
Rename the "armv4_5" command prefix to straight "arm" so it makes more sense for newer cores. Add a simple compatibility script. Make sure all the commands give the same "not an ARM" diagnostic message (and fail properly) when called against non-ARM targets. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-11wrap help commandZachary T Welch
Use continuation characters to wrap the help command into 80 columns.
2009-10-14doc updates to match "help" betterDavid Brownell
This makes the documentation a closer match to "help" output: - "pathmove" somehow was not documented in the User's Guide - "jtag_nsrst_assert_width" and "jtag_ntrst_assert_width" are new; both needed descriptions. - Removed two undocumented and fairly useless script mechanisms: * production/production_info/production_test ... using it, requires replacing everything; so having it adds no value. * cpu ... way out of date; hopeless to keep that current Note that anyone using that "production" stuff already defines their own procedures, and can keep using them with no change. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-10-08add overridable Tcl "init_reset"David Brownell
This abstracts the "jtag arp_init-reset" call into a method called from OpenOCD startup and reset processing. Platforms which have different requirements for how such hard resets must be performed can now override "init_reset" instead of needing to rebuild custom hacked versions of the server. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-10-06Introduced jtag_init and "jtag arp_init" to allow target scripts more ↵oharboe
control over how OpenOCD starts up and initializes the target. git-svn-id: svn://svn.berlios.de/openocd/trunk@2805 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-09-23Start handling the (second) SRST stage of reset better:dbrownell
make sure that when there are two or more targets, their various pre/post event reports are correctly ordered. Previously, only the first target always saw its "pre" method before SRST was asserted or deasserted. git-svn-id: svn://svn.berlios.de/openocd/trunk@2753 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-09-21Remove annoying end-of-line whitespace from most src/*dbrownell
files; omitted src/httpd git-svn-id: svn://svn.berlios.de/openocd/trunk@2742 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-09-18Tweak TCL reset script ... mostly improving descriptions ofdbrownell
the various steps, but also calling [target names] only once. git-svn-id: svn://svn.berlios.de/openocd/trunk@2726 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-09-14error message upon recursive invocation of reset from reset event handlersoharboe
git-svn-id: svn://svn.berlios.de/openocd/trunk@2707 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-08-30Dirk Behme <dirk.behme@googlemail.com> Fix typo in help text. It has to be ↵oharboe
'production_test' instead of 'production' here. git-svn-id: svn://svn.berlios.de/openocd/trunk@2654 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-08-30David Brownell <david-b@pacbell.net> start phasing out integers as target IDsoharboe
git-svn-id: svn://svn.berlios.de/openocd/trunk@2650 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-08-18Jonas Horberg [jhorberg@sauer-danfoss.com]ntfreak
Change jtag_rclk behaviour so it can be called before the interface init function git-svn-id: svn://svn.berlios.de/openocd/trunk@2590 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-07-07delete long retired commented out code (daemon_startup)oharboe
git-svn-id: svn://svn.berlios.de/openocd/trunk@2487 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-06-07David Brownell <david-b@pacbell.net>:zwelch
Let disabled targets be ignored during normal operation: - In target_examine(), ignore disabled TAPs - Reset handling must not poke at them either: * fail $target_name arp_* operations on disabled TAPs * in startup.tcl, don't even issue the arp_* wait ops ZW: removed superfluous braces from the patch to target.c. git-svn-id: svn://svn.berlios.de/openocd/trunk@2100 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-18less weird error messages for unknown commands. Check if command exists ↵oharboe
before trying it. git-svn-id: svn://svn.berlios.de/openocd/trunk@1810 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-02-17zy1000 1.49 snapshotoharboe
git-svn-id: svn://svn.berlios.de/openocd/trunk@1374 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-11-27Rick Altherr <kc8apf@kc8apf.net> retire obsolete syntaxoharboe
git-svn-id: svn://svn.berlios.de/openocd/trunk@1190 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-11-10execute reset init upon power restore / srst deassertoharboe
git-svn-id: svn://svn.berlios.de/openocd/trunk@1150 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-11-10minor cleanupoharboe
git-svn-id: svn://svn.berlios.de/openocd/trunk@1149 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-11-05fix telnet async messages. retired telnet_async command - no user ↵oharboe
serviceable parts inside. git-svn-id: svn://svn.berlios.de/openocd/trunk@1135 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-11-04cpu help command wipoharboe
git-svn-id: svn://svn.berlios.de/openocd/trunk@1131 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-10-31Added telnet_async command to enable/disable asynchronousoharboe
messages. git-svn-id: svn://svn.berlios.de/openocd/trunk@1117 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-10-27Kees Jongenburger <kees.jongenburger@gmail.com> - fix typooharboe
git-svn-id: svn://svn.berlios.de/openocd/trunk@1106 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-10-24- fix native mingw build if gettimeofday not defined.ntfreak
- reformat whitespace in startup.tcl git-svn-id: svn://svn.berlios.de/openocd/trunk@1101 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-10-24gdb_report_data_abort now ignores all target read errors, including address ↵oharboe
space wraps. Hopefully works around problems in 6.8 git-svn-id: svn://svn.berlios.de/openocd/trunk@1099 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-10-22load and verify are now synonymous to load/verify_imageoharboe
git-svn-id: svn://svn.berlios.de/openocd/trunk@1092 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-10-16added help on production proc'soharboe
git-svn-id: svn://svn.berlios.de/openocd/trunk@1072 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-10-14reset cleanup. Remove obsolete events that are not needed for compatibility.oharboe
git-svn-id: svn://svn.berlios.de/openocd/trunk@1053 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-10-13Fixed gaffes in reset script handling + improved erroroharboe
messages a bit. The file and line # of the syntax error in a reset script is now printed. git-svn-id: svn://svn.berlios.de/openocd/trunk@1042 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-10-01Duane Ellis: added missing invocation of reset-initoharboe
git-svn-id: svn://svn.berlios.de/openocd/trunk@1013 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-09-12Duane Ellis: target_process_reset is now implemented in tcl. This allows ↵oharboe
better control from target configuration scripts. git-svn-id: svn://svn.berlios.de/openocd/trunk@984 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-09-01Duane Ellis: "target as an [tcl] object" feature.oharboe
git-svn-id: svn://svn.berlios.de/openocd/trunk@975 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-08-25STR912 uses RCLK if availableoharboe
git-svn-id: svn://svn.berlios.de/openocd/trunk@967 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-22very slightly improved error message for not being able to find scriptsoharboe
git-svn-id: svn://svn.berlios.de/openocd/trunk@854 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-21restart is a per-target actionoharboe
git-svn-id: svn://svn.berlios.de/openocd/trunk@853 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-21Allows config scripts to override handling of 'R'(restart) GDB packet.oharboe
git-svn-id: svn://svn.berlios.de/openocd/trunk@852 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-21- jtag_khz/speed are now single parameter only. These are usedoharboe
from pre/post_reset event scripts. Adding the second parameter was a mistake seen in retrospect. this gives precise control in post_reset for *when* the post reset speed is set. The pre_reset event was added *after* the second parameter to jtag_khz/speed - the target implementations no longer gets involved in the reset mode scheme. Either they reset a target into a halted mode or not. target_process_reset() detects if the reset halt failed or not. - tcl target event names are now target_N_name. Mainly internal at this early stage, but best to get the naming right now. - added hardcoded reset modes from gdb_server.c. I don't know precisely what these defaults should be or if it should be made configurable. Perhaps some hardcoded defaults will do for now and it can be made configurable later. - bugfix in cortex_m3.c for reset_run_and_xxx? - issue syntax error upon obsolete argument in target command instead of printing message that will surely drown in the log git-svn-id: svn://svn.berlios.de/openocd/trunk@849 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-20openocd@duaneellis.com fix naming confusion. Use ocd_ prefix for ocd API ↵oharboe
consistently. git-svn-id: svn://svn.berlios.de/openocd/trunk@839 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-19throw exception upon syntax error.oharboe
git-svn-id: svn://svn.berlios.de/openocd/trunk@838 b42882b7-edfa-0310-969c-e2dbd0fdcd60