aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-11-11ETM: update port driversDavid Brownell
Make both useful ETM port drivers (etb, etm_dummy) use the new toplevel ETM handle, instead of the to-be-removed lower level one. Do the same for the "oocd-trace" prototype too; and fix its error reporting paths: return failure codes, don't exit(), etc Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-11ETM: update arm[79]tdmi_examine()David Brownell
Make ARM7 and ARM9 cores use the new toplevel ETM handle to trigger ETM setup, not the to-be-removed lower level one. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-11ARM: start generalized base typeDavid Brownell
Rename "struct armv4_5_common_s" as "struct arm". It needs a bit more work to be properly generic, and to move out of this header, but it's the best start we have on that today. Add and initialize an optional ETM pointer, since that will be the first thing that gets generalized. The intent being: all ARMs should eventually derive from this "struct arm", so they can reuse the current ETM logic. (And later, more.) Currently the ARM cores that *don't* so derive are only ARMv7-M (and thus Cortex-M3) and ARM11. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-11fix 'jtag interface' behaviorZachary T Welch
Without this patch, running "openocd -c 'jtag interface'" segfaults. Now, it returns the string "undefined" when the interface is unset.
2009-11-11improve command registrationZachary T Welch
Eliminate duplicate code for linking commands into a list. Adds a check to ensure the command does not already exist; if it does, return that one instead of creating a duplicate.
2009-11-11add help regardless of callbackZachary T Welch
Add help for commands regardless of whether a handler is involved. With this, all sorts of new commands can be found in 'help' text. Hopefully, all of them have been documented.... Sadly, the lsort function appears to handle nested lists poorly, such that sub-commands do not group with their parents.
2009-11-11eliminate duplicate helptext managementZachary T Welch
Add helpers to manage adding entries to the helptext list. Adds support for arbitrarily nested commands.
2009-11-11add command_name helperZachary T Welch
The command_name function returns a malloced string for a given command and its parents. This can be used to display a message to the user, but it is used internally to handle registration and syntax errors. This helps permit arbitrary command nesting.
2009-11-11wrap help commandZachary T Welch
Use continuation characters to wrap the help command into 80 columns.
2009-11-11remove obsolete doxygen commentsZachary T Welch
Documenting command handler parameters is redundant and pointless.
2009-11-11remove more useless declarationsZachary T Welch
Removes forward declarations by moving command registration after defintion of the command handlers.
2009-11-11cortex_a8: remove declarations, use static keywordZachary T Welch
2009-11-11add const keyword to some APIsZachary T Welch
Add 'const' keyword to 'char *' parameters to allow command handlers to pass constant string arguments. These changes allow the 'args' command handler to be changed to 'const' in a subsequent patch.
2009-11-11change argv to args in command handlersZachary T Welch
Subsequent patches expect all command handlers to use a uniform parameter naming scheme. In the entire tree, these two files used standard 'argv' instead of our non-standard 'args'. This patch opts to reduces the noise required to unify the command handlers, using dominant 'args' form. A future patch may be used to convert us back to the standard argv, but that requires coordination with all developers to minimize disruptions.
2009-11-11script_debug(): improve typesZachary T Welch
Use unsigned type for number of arguments.
2009-11-11command.c: make private routines staticZachary T Welch
This patch also improves the signature of run_command function.
2009-11-11log: improve log_callback_fn signatureZachary T Welch
Use unsigned type for line number in log_callback_fn signature.
2009-11-11time_support: improve use of typesZachary T Welch
Update timeval_add_time to use long int; implement timeval_add with it. Update timeval_ms to check gettimeofday return value, return int64_t.
2009-11-11makefiles: improve build orderZachary T Welch
Separates various groups of files to be built in logical succession. In each layer, the core module (target.c, nand.c, etc.) is built _after_ their helper modules (e.g. image.c, nand_ecc.c) but _before_ any of their drivers (e.g. arm966e.c, mx3_nand.c). This allows problems introduced at the bottom of the stack to result in build failures as soon as possible, as the helpers and core should wrap portions of them.
2009-11-11ETM cleanupDavid Brownell
Various cleanups of ETM related code. - Saner error return paths - Simplify arm7_9 init ... no need for extra zeroing! - Shrink some lines - Tweak some diagnostics - Use shorter name for ETM struct type. - Don't exit() and similar. The diagnostics look forward to having this ETM code work with more than just ARM7/ARM9. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-10fix bug in ARM720: bugfixZachary T Welch
2009-11-10ARM720: bugfixDavid Brownell
The "ARM720 uses the new inheritance/nesting scheme" patch wrongly scrubbed a calloc() from arm720t_target_create(). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-10target: MMU-aware init for memory read/writeDavid Brownell
Start switching MMU handling over to a more sensible scheme. Having an mmu() method enables MMU-aware behaviors. Not having one kicks in simpler ones, with no distinction between virtual and physical addresses. Currently only a handful of targets have methods to read/write physical memory: just arm720, arm920, and arm926. They should all initialize OK now, but the arm*20 parts don't do the "extra" stuff arm926 does (which should arguably be target-generic). Also simplify how target_init() loops over all targets by making it be a normal "for" loop, instead of scattering its three parts to the four winds. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-10target.cfg: (re)move some bogus reset_config linesDavid Brownell
General rule, this is all board-specific and doesn't belong in target config files. Some of these were just cosmetic. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-10stm32.cfg: remove reset_configThomas Kindler
Here's a patch for the double-reset problem on STM32. I've tested downloading and debugging with GDB and Eclipse, and everything seems to work fine. This effectively sets reset_config to none. trst_only would also be ok, but that's better left to a board configuration file since not all boards wire it up. The NVIC is used to trigger reset, which at least on this chip also pulses nSRST so the whole system does get rest -- exactly once. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-10arm11: add etmr/etmw registers to access ETM via DBGTAP scan chainMichael Bruck
First cut of these commands. Øyvind tinkered a bit with the number parsing to bring it up to speed + rebased it. Ready for testing. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2009-11-10ARM11: remove old mrc/mcr commandsØyvind Harboe
Switch to new commands in config scripts Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2009-11-10telo.cfg: fix search pathsØyvind Harboe
Add the missing "target/" prefix for scripts in the target folder. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2009-11-10Target: minor cleanupDavid Brownell
- improve some names -- a "default" prefix is not descriptive - add doxygen @todo entries for some issues - avr8 isn't ever going to need those MMU hooks Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-10ARM920: implement basic MMU opsDavid Brownell
mmu() works; virt2phys() fails and logs an error. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-10ARM720: implement basic MMU opsDavid Brownell
mmu() works; virt2phys() fails and logs an error. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-10Target: fix bad error messagesDavid Brownell
And shrink a few too-long lines. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-10httpd: fix warnings, more robust error handling, improved MIME handlingØyvind Harboe
The httpd is work in progress... No mime type set by default. Let the browser guess. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2009-11-10tcl: HostOs now picks up eCos as well during compile timeØyvind Harboe
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2009-11-09svf,xsvf,arm7_9_common: trim forard declarationsZachary T Welch
Remove forward declarations by reordering command registration.
2009-11-09command.c: make commands staticZachary T Welch
Removes useless declarations, moving the handler functions to appear before their use in the (much bigger) command registriation function.
2009-11-09server: remove useless declarationsZachary T Welch
Remove server command declarations, make handler routines static.
2009-11-09jtag: remove useless declarationsZachary T Welch
Contrary to my previous assessment, some opportunities to remove forward declarations were overlooked. Remove them by moving the definitions of the command registration and interface structure to the end of files.
2009-11-09target.c: remove useless declarationsZachary T Welch
This patch removes the last batch of forward references from the tree, moving the target command registration routines to the end of the file.
2009-11-09{pic32m,stm32}x.c: remove useless declarationsZachary T Welch
Remove useless forward declarations. Moves command registrations to end of files. Moves flash structure definitions to end of files. Signed-off-by: Zachary T Welch <zw@superlucidity.net>
2009-11-09str{7,9}x*.c: remove useless forward declarationsZachary T Welch
Remove useless forward declarations. Moves command registrations to end of files. Moves flash structure definitions to end of files. Signed-off-by: Zachary T Welch <zw@superlucidity.net>
2009-11-09flash/<various>.c: remove useless declarationsZachary T Welch
Remove useless forward declarations. Moves flash structure definitions to end of files. Signed-off-by: Zachary T Welch <zw@superlucidity.net>
2009-11-09flash/<assorted>.c: remove useless declarationsZachary T Welch
Remove useless forward declarations. Moves command registrations to end of files. Moves flash structure definitions to end of files. Signed-off-by: Zachary T Welch <zw@superlucidity.net>
2009-11-09flash/at91sam[37].c: remove useless declarationsZachary T Welch
Remove useless forward declarations. Moves command registration to end of file. Moves flash structure definitions to end of files. Changes a few references to global flash structure to local refs. Signed-off-by: Zachary T Welch <zw@superlucidity.net>
2009-11-09flash/lpc2???.c: remove useless declarationsZachary T Welch
Remove useless forward declarations. Moves command registrations to end of files. Moves flash structure definitions to end of files. Signed-off-by: Zachary T Welch <zw@superlucidity.net>
2009-11-09flash/*nand*.c: remove useless declarationsZachary T Welch
Remove useless forward declarations. Moves command registration to end of files. Moves flash structure definition to end of files. Signed-off-by: Zachary T Welch <zw@superlucidity.net>
2009-11-09flash/flash.c: remove forward declarationsZachary T Welch
Remove useless forward declarations. Moves command registration to end of file. Moves flash structure definition to end of file. Signed-off-by: Zachary T Welch <zw@superlucidity.net>
2009-11-09Revert "target: add target->type->has_mmu fn"David Brownell
This patch introduced a bug preventing flash writes from working on Cortex-M3 targets like the STM32. Moreover, it's the wrong approach for handling no-MMU targets. The right way to handle no-MMU targets is to provide accessors for physical addresses, and use them everywhere; and any code which tries to work with virtual-to-physical mappings should use a identity mapping (which can be defaulted). And ... we can tell if a target has an MMU by seeing if it's got an mmu() method. No such methood means no MMU. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-09finish removing deprecated/obsolete commandsDavid Brownell
It's been about a year since these were deprecated and, in most cases, removed. There's no point in carrying that documentation, or backwards compatibility for "jtag_device" and "jtag_speed", around forever. (Or a few remnants of obsolete code...) Removed a few obsolete uses of "jtag_speed": - The Calao stuff hasn't worked since July 2008. (Those Atmel targets need to work with a 32KHz core clock after reset until board-specific init-reset code sets up the PLL and enables a faster JTAg clock.) - Parport speed controls don't actually work (tops out at about 1 MHz on typical HW). - In general, speed controls need to live in board.cfg files (or sometimes target.cfg files), not interface.cfg ... Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-09User's Guide: Flash/NAND doc tweaksDavid Brownell
Rename the "Drivers, Options, and Commands" sections to be just "Driver List" matching the earlier reference. Add an example of parallel CFI flash. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>