oharboe [Fri, 29 Feb 2008 11:16:38 +0000 (11:16 +0000)]
Summary: passing of variable argument list reduced, strings sent to logging are now formatted just once - more efficient.
As a result, ugly string malloc+strcpy are not needed anymore.
oharboe [Fri, 29 Feb 2008 07:03:28 +0000 (07:03 +0000)]
Michael Bruck:
arm11
--- Added burst memory transfer mode
This does not explicitly query command execution but rather uses a small
delay produced by the FT2232 on certain TAP commands.
A potential failure of this process is detected afterwards and the
program terminates with an error.
'arm11 memwrite burst disable'
can be used to switch this feature off.
'arm11 memwrite error_fatal disable'
can be used to prevent the program to exit on an memory write error
--- Added support for interrupt breaking via VCR register
Use 'arm11 vcr' command to set.
--- Cleaned up the handling of
halt/resume/step/poll, target->state, target->debug_reason,
target_call_event_callbacks() at least as far as I could guess the
intended behaviour from other targets.
Did some overall positive tests with GDB.
--- Added support for breakpoints
Hardware breakpoints only. All breakpoints will be treated as hardware
breakpoints.
All ARM11's seem to have at least 6 hardware breakpoints.
--- Stepping over BKPT added
Modification to PC without touching the target.
--- Stepping over a B or BL to self will do nothing
oharboe [Thu, 28 Feb 2008 13:04:49 +0000 (13:04 +0000)]
Uwe Hermann: Simplify the manpage by removing lots of redundant information which is
already in the README or texinfo (and which needs to be updated
relatively often -- list of authors, list of supported JTAG devices etc).
oharboe [Thu, 28 Feb 2008 10:24:46 +0000 (10:24 +0000)]
fix from Pavel Chromy
this patch fixes an issue in jtag_init - shall not reset jtag to NULL.
This causes jtag interface (USB device) not to be closed properly if jtag chain validation fails.
Once the underlaying jtag interface is initialized, jtag pointer shall be left untouched,
even in case of an error, so that proper cleanup can be done, see exit_handler in openocd.c
oharboe [Thu, 28 Feb 2008 08:11:18 +0000 (08:11 +0000)]
- Added TARGET_REQ_DEBUGCHAR target_request debugmsg. This
provides a better impeadance match for debug output char fn's, e.g. eCos.
- Line endings are now added at the caller site of command_print*(). command_print()
still adds a line ending
- echo of commands in scripts are now available via debug_level instead of
forced echo
- Added a USER_SAMELINE() for printing without a lineend.
oharboe [Thu, 28 Feb 2008 07:26:14 +0000 (07:26 +0000)]
Uwe Hermann Add @dircategory and @direntry to the info page -- they're used to add the openocd info page to the global index of info pages in the system (usually /usr/share/info/dir).
oharboe [Mon, 25 Feb 2008 08:22:18 +0000 (08:22 +0000)]
From Michael Bruck
- bugfix in server.c
- removed unused parameter from jtag_add_ir_scan et al. This
wasn't necessary in hindsight but anyway.
- arm11 source committed but not not in Makefile.am/target.c for now.
oharboe [Mon, 25 Feb 2008 07:50:03 +0000 (07:50 +0000)]
- using ERROR_COMMAND_SYNTAX_ERROR to print syntax in a couple of places
- some more flash cleanup of checking halted state
- moved output handler into options.c
- very slightly tweaked server.c to make it a bit more compatible with eCos
- retired arch_state. Not quite sure how I managed to leave that out last time.
oharboe [Mon, 25 Feb 2008 07:32:52 +0000 (07:32 +0000)]
- "flash write_binary" is now "flash write_bank" to clarify the focus of the
command and reduce confusion with "flash write_image".
- retired deprecated "flash erase" & "flash write".
- added flash_driver_protect/write/erase() that are wafer thin frontend
functions to low level driver functions. They implement checks
that were inconsistently handled by the drivers, e.g. check for
target halted was done in a spotty fashion.
- use return ERROR_COMMAND_SYNTAX_ERROR to print out
syntax of command instead of having lots of inlined replicas of
the command line syntax(some of which were wrong).
- use logging instead of dubious translation of error values to
human understandable explanations of why things failed.
The lower levels log the precise reason and the higher
levels can ammend context as the error propagates up
the call stack.
- simplified flash API slightly with logging instead of
allocating and returning information that the caller then
has to translate into print statements.
oharboe [Sun, 24 Feb 2008 21:54:09 +0000 (21:54 +0000)]
- added "xscale fast_memory_access" which speeds up memory
access by disabling "unecessary" checks.
- arm926ejs. Added missing type->mmu and type->virt2phys fn's.
for now these are used by working_area when specifying
mmu enabled and mmu not enabled address
oharboe [Sun, 24 Feb 2008 18:52:45 +0000 (18:52 +0000)]
- fixed target->type->poll() return value
- added arch_state to show status of currently selected target
- simplified target->type->arch_state() api.
- clean up telnet output a bit
- fixed GDB output for arch_state
- removed a couple of unecessary exit()'s
- cleaned up error propagation a bit in a few places
drath [Sun, 24 Feb 2008 12:30:45 +0000 (12:30 +0000)]
- fixes possible crash when GDB connection is closed while target is running due to log callback sending messages to connection which does not
exist anymore (thanks to Pavel Chromy for this patch)
mifi [Tue, 19 Feb 2008 21:44:19 +0000 (21:44 +0000)]
- added patch which fixed big/small endian problems on non-x86 host CPUs.
https://lists.berlios.de/pipermail/openocd-development/2008-February/000846.html
(thanks to Øyvind for the patch)
ntfreak [Tue, 19 Feb 2008 19:26:17 +0000 (19:26 +0000)]
- Fixed bug in pathmove for XScale
- added virtual address to working_area.
- Improved error messages in a number of places
- Added ERROR_COMMAND_SYNTAX_ERROR that commands can return to have syntax printed
- Added help for some config commands
- Added verification of sw breakpoints with ERROR() message
- Removed a couple of exit()'s and replaced with error message
- cosmetic fix to armv4_5.c, easier to read
- added polymorphic(with default) virt2phys and mmu enable query function to target.h
- added virt2phys command that uses target->type->virt2phys() fn
Thanks to Øyvind Harboe
drath [Mon, 18 Feb 2008 17:59:06 +0000 (17:59 +0000)]
- ignore data aborts during gdb memory read packets by default, and return 0x0 instead
- add configuration option "gdb_report_data_abort <enable|disable> to enable reporting of data aborts during gdb memory read packets
- thanks to Øyvind Harboe for identifying the problem with GDB and data aborts
- fix some warnings in gdb_server.c
ntfreak [Mon, 18 Feb 2008 15:41:38 +0000 (15:41 +0000)]
- fix broken JTAG error handling
- Allow all commands to be executed during config stage
- Help now works for config commands
- make var args handling follow the rules more closely
Thanks Øyvind Harboe
ntfreak [Mon, 18 Feb 2008 15:11:01 +0000 (15:11 +0000)]
- removed a raft of unecessary exit() calls. Issuing a reset will solve these ails.
- now uses jtag_state_pathmove() instead of making assumptions about implementation of jtag_statemove().
- fixed a couple of bugs in timeout handling
- removed megabytes of log output when communication is failing.
- sleep is now 300ms as documented instead of 3000ms
- fixed error path of bulk write
- debug_handler can now be issued during normal operation + has help text.
Thanks Øyvind Harboe
ntfreak [Mon, 18 Feb 2008 14:32:43 +0000 (14:32 +0000)]
- Added a "User:" debug level. These are messages that are intended for the user and are part of normal operation.
- Faster DEBUG/INFO() when they are disabled
- target_read/write_buffer() now uses 16 and 32 bit access for single word aligned requests. Other requests are serviced as quickly as possible.
- *much* faster read/write GDB packets, removing timeout problems.
- GDB read/write packets w/single word aligned 32/16 bit access now use 32/16 bit word access.
- working area can now be changed on the fly. Provides a way to move working area about as MMU is enabled/disabled.
- cleaned up error messages for verify_image.
Thanks Øyvind Harboe
ntfreak [Sat, 16 Feb 2008 15:21:13 +0000 (15:21 +0000)]
- solve lots of problems with stuck GDB connections, making it impossible to connect to GDB, handle timeout of acknowledgement, etc.
- "monitor halt/resume" now works correctly
- "monitor sleep 10000" no longer makes the GDB protocol lock up. There is an error message and the protocol recovers nicely afterwards.
- it's now possible to connect to a target which needs a reset before halt works.
- handle failed memory access more gracefully. Connection is now closed instead of OpenOCD quitting.
- *much* improved handling of 2 second timeout on memory read packets. Especially important w/mouseover evaluation of variables in Eclipse.
- fixed memory leak upon failed memory packet reply.
- 'O' packets w/progress info is no longer sent out randomly.
- faster packet reply code.
- Thanks to Øyvind Harboe for this patch