summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* stm32: add error propagation on writesØyvind Harboe2010-11-091-42/+111
| | | | | | catch problems earlier. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* stm32: sharpen error handling for timeoutsØyvind Harboe2010-11-091-108/+69
| | | | | | delete lots of crud by handling this all in one spot. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* CortexA8: Implement debug base autodetectionMarek Vasut2010-11-051-7/+12
| | | | | | | Implement autodetection of debug base. Also, implement a function solving various hardware quirks (like iMX51 ROM Table location bug). Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
* ADIv5: Implement function to lookup CoreSight componentMarek Vasut2010-11-052-0/+45
| | | | | | | This patch implements "dap_lookup_cs_component()", which allows to lookup CS component by it's identification. Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
* ADIv5: Introduce function to detect ROM Table locationMarek Vasut2010-11-052-27/+56
| | | | | | | | | | | This patch adds function called "dap_detect_debug_base()", which should be called to get location of the ROM Table. By walking ROM Table, it's possible to discover the location of DAP. Sadly, some CPUs misreport this value, therefore I had to introduce an fixup table, which will be used in case such CPU is detected. Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
* arm964e: Add support for ARM946E target.ddraskovic2010-11-044-0/+769
| | | | | | | | | | | | | | | | | So far most of the people have been using existing ARM966E in the place of ARM946E, because they have practically the same scan chains. However, ARM946E has caches, which further complicates JATG handling via scan-chain. this was preventing single-stepping for ARM946E when SW breakpoints are used. This patch thus introduces : 1) Correct cache handling on memory write 2) Possibility to flush whole cache and turn it off during debug, or just to flush affected lines (faster and better) 3) Correct SW breakpoint handling and correct single-stepping 4) Corrects the bug on CP15 read and write, so CP15 values are now correctly R/W
* jim tests: use installedØyvind Harboe2010-10-2914-14903/+79
| | | | Delete obsolete jim that comes with OpenOCD.
* src: add loader src descriptionSpencer Oliver2010-10-288-0/+17
| | | | | | - add comment where to find the various loaders src files. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
* help: help now works on configuration commandsØyvind Harboe2010-10-271-3/+0
| | | | | | | | | help would not show help for commands when the command interpreter was in the wrong mode, which means that e.g. "help newtap" didn't work, it wouldn't show the "jtag newtap" help as it was a configuration command. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* Make systesetreq typos read sysresetreq insteadPeter Stuge2010-10-251-1/+1
| | | | Signed-off-by: Peter Stuge <peter@stuge.se>
* buspirate: change handling of communication speed setting + create serial ↵Michal Demin2010-10-251-11/+16
| | | | | | port open function Signed-off-by: Michal Demin <michaldemin@gmail.com>
* buspirate: Serial port was not correctly closed.Michal Demin2010-10-251-0/+9
| | | | Signed-off-by: Michal Demin <michaldemin@gmail.com>
* TARGET: review handle_load_image_command()Antonio Borneo2010-10-121-16/+8
| | | | | | | | Collect variable definitions. Report syntax error to command dispatcher. Propagate error when unable to open file. Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
* TARGET: fix segfault in handle_dump_image_command()Antonio Borneo2010-10-121-3/+3
| | | | | | | The struct fileio is used after fileio_close(). Move fileio_close() after last usage. Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
* add JLINK protocol doc refDavid Brownell2010-10-101-0/+3
| | | | | | Provide URL for a recent version of JLINK protocol. Signed-Off-By: David Brownell <dbrownell@users.sourceforge.net>
* build: remove warn_unused_result errorsSpencer Oliver2010-10-052-2/+2
| | | | | | | Remove any build errors for strtol when building release version of openocd. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
* gdbderver: fix gdb pipe startup overflowSpencer Oliver2010-10-051-3/+5
| | | | | | | | When usng gdb pipes we need to keep openocd output at a minimum, otherwise the gdb stdin will overflow and fail. Make the calls to gdb_port and log_output synchronous to stop this. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
* gdbserver: fix gdb_port memory leakSpencer Oliver2010-10-041-1/+3
| | | | Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
* server: fix server pipe windows supportSpencer Oliver2010-10-041-10/+14
| | | | | | | | | | | | | commit 50d5441e2a615fb2c44b41a777e4373901f7a2e6 caused native windows build to fail. Firstly this patch fixes the build issue, but it also disables support for named pipes under Windows. Windows does not support posix named pipes. A cross-platfom access layer will need creating before support can be enabled again. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
* zy1000: add : port number syntax for tftp filing systemØyvind Harboe2010-10-011-1/+11
| | | | | | Allows using non-standard port number. Default to port 69. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* pipes: add documentation for pipesØyvind Harboe2010-10-013-5/+9
| | | | | | | | | Stick with the name "gdb_port" even if this command can be used for other things(disable, named pipes, anonymous stdin/out pipe). "port" is correct for probably more than 90% of use cases, if not more. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* server: add support for pipesØyvind Harboe2010-10-016-86/+79
| | | | | | | -p/--pipe is now deprecated. Use '-c "gdb_port pipe;log_output openocd.log"' instead. Warning logged. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* server: specify port as a stringØyvind Harboe2010-10-015-41/+104
| | | | | | | | | This will allow switching to using named pipes. Split this out as a seperate commit to make changes easier to follow. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* server: read/write now goes through connection fn'sØyvind Harboe2010-10-015-5/+35
| | | | | | | | | | | depending on whether the connection is over a socket or pipe, the read is done differently. pipes can return -1 when writing 0 bytes, make 0 byte writes a successful no-op. 0 byte writes falls out naturally of tcl server code. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* server: split file descriptors in in/out fd'sØyvind Harboe2010-10-015-19/+15
| | | | | | | pipes have different fd's for in/out. This makes the code more orthogonal and prepares for adding pipes. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* server: rely on ctrl-c to stop openocdØyvind Harboe2010-10-011-26/+2
| | | | | | | | there was special support to support pressing 'x' to quit openocd. ctrl-c is sufficient. The main server loop is already complicated enough. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* log: remove hack to redirect logs when pipes are in useØyvind Harboe2010-10-011-17/+2
| | | | | | | | | | | There is an explicit command "log_output" that can be used to redirect log output to a file, no need for a hack in the first place. Before enabling pipes, use "log_output foo" to redirect log output to the "foo" files. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* Update ep93xx and at91rm9200 driversLuca Bruno2010-09-302-26/+12
| | | | | | | | | | ep93xx and at91rm9200 are conditionally built only on arm and were not updated to reflect changes in command registration handler. This patch makes them properly compile again, fixing a build failure experienced on Debian armel. Signed-off-by: Luca Bruno <lucab@debian.org> Signed-off-by: Zachary T Welch <zwelch@codesourcery.com>
* fileio: fileio_size() can now failØyvind Harboe2010-09-299-20/+92
| | | | | | Part of making the fileio API more robust. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* fileio: refactor struct fileio to be an opaque structureØyvind Harboe2010-09-299-39/+64
| | | | Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* flash: fix error handlingØyvind Harboe2010-09-271-2/+11
| | | | | | memory leaks and missing check on memory allocation. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* image: fix spelling mistakeØyvind Harboe2010-09-273-19/+19
| | | | | | struct imageection => struct imagesection Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* zy1000: fix non-JTAG master buildØyvind Harboe2010-09-261-1/+1
| | | | Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* gdb: fix blank line at topØyvind Harboe2010-09-261-1/+0
| | | | | | snuck in at some point... Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* jtagdp: remove #if 0'd kludges and explain why the code is correctØyvind Harboe2010-09-211-16/+24
| | | | | | | | | short story: if the JTAG clock is too high, then the behavior will be flaky and kludging the code may seem to make things beter, but really it's just a red herring. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* flash: fix error handlingØyvind Harboe2010-09-212-40/+5
| | | | | | sensible error must be reported at failure site Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* embeddedice: fix error handlingØyvind Harboe2010-09-212-6/+4
| | | | | | error is now reported at failure site. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* startup: removed capture_catchØyvind Harboe2010-09-201-7/+0
| | | | | | not used. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* helper: fix flaky capture commandØyvind Harboe2010-09-201-0/+16
| | | | | | | | | | | capture of progress output would get polling results. This will break in the example below where polling output would override the tcl return value. capture {sleep 10000; set abc def} Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* tcl_server: switch to ctrl-zØyvind Harboe2010-09-201-11/+11
| | | | | | | | | | | | | | by using ctrl-z instead of line end, multi-line tcl scripts can be handled. Testing: send ctrl-z a couple of times to make telnet enter the mode where it sends ctrl-z unencoded. Programs that talk to the tcl_server can send ctrl-z to indicate end of tcl-let to be executed without having to worry about telnet protocols. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* logging: turn of stdout/stderr bufferingØyvind Harboe2010-09-201-0/+4
| | | | | | | with this buffering disabled fancier logging scripts will be able to process each line as it is output. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* zy1000: add support for Linux hostØyvind Harboe2010-09-202-6/+45
| | | | | | | | used /dev/mem and mmem() to memory map JTAG registers into user space and used new configure options to exclude eCos specific code. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* jtag: build jtag first because it generates header filesØyvind Harboe2010-09-201-1/+1
| | | | Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* warnings: fix alignment warningsØyvind Harboe2010-09-2013-23/+23
| | | | | | | These warnings are for architectures that do not support non-aligned word access. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* zy1000: remove obsolete debug codeØyvind Harboe2010-09-201-7/+0
| | | | | | Obsolete code clutter Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* xscale: check that wp length does not exceed addressMike Dunn2010-09-201-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hi everyone, A while back I sent in a patch that adds support for watchpoint lengths greater than four on xscale. It's been working well, until the other day, when it caused an unexpected debug exception. Looking into this I realized there is a case where it breaks: when the length arg is greater than the base address. This is a consequence of the way the hardware works. Don't see a work-around, so I added code to xscale_add_watchpoint() to check for and disallow this combination. Some more detail... xscale watchpoint hardware does not support a length directly. Instead, a mask value can be specified (not to be confused with the optional mask arg to the wp command, which xscale does not support). Any bits set in the mask are ignored when the watchpoint hardware compares the access address to the watchpoint address. So as long as the length is a power of two, setting the mask to length-1 effectively specifies the length. Or so I thought, until I realized that if the length exceeds the base address, *all* bits of the base address are ignored by the comaparator, and the watchpoint range effectively becomes 0 .. length. Questions, comments, criticisms gratefully received. Thanks, Mike Signed-off-by: Mike Dunn <mikedunn@newsguy.com>
* xscale: bp/wp: additional LOG_ERROR on failureMike Dunn2010-09-201-6/+10
| | | | | | | | | | | | | | | | | | | | | Hi everyone, Added more LOG_ERROR messsages to watchpoint and breakpoint code, given that the infrastructure no longer interprets returned error codes. Also changed existing LOG_INFO and LOG_WARNING to LOG_ERROR for cases where an error is returned. Note that the check of the target state is superflous, since the infrastruture code currently checks this before calling target code. Is this being reconsidered as well? Also, should we stop returning anything other than ERROR_OK and ERROR_FAIL? Comments gratefully received. Thanks, Mike Signed-off-by: Mike Dunn <mikedunn@newsguy.com>
* cfi: add sst39vf6401bFlemming Futtrup2010-09-152-0/+15
| | | | Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* breakpoints: fix error handlingØyvind Harboe2010-09-141-29/+7
| | | | | | | | do not try to interpret "retval" into a string, just amend a bit about the context of the already reported error. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* xscale: fix sw breakpoints for thumb; set bp immediatelyMike Dunn2010-09-131-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hi everyone, Version 2 of this patch. Code added to breakpoints.c was removed from previous patch, and item 3 added, per discussion with Øyvind regarding error reporting. Item 4 added, which I just noticed. I tried to use a software breakpoint in thumb code on the xscale for the first time recently, and was surprised to find that it didn't work. The result was this patch, which does four things: 1): fix trivial cut-n-paste error that caused thumb breakpoints to not work 2): call xscale_set_breakpoint() from xscale_add_breakpoint() 3): log error on data abort in xscale_write_memory() 4): fixed incorrect error code returned by xscale_set_breakpoint() when no breakpoint register is available; added comment Item 2 not only makes the xscale breakpoint code consistent with other targets, but also alerts the user immediately if an error occurs when writing the breakpoint instruction to target memory (previously, xscale_set_breakpoint() was not called until execution resumed). Also, calling xscale_breakpoint_set() as part of the call chain starting with handle_bp_command() and propagating the return status back up the chain avoids the situation where OpenOCD "thinks" the breakpoint is set when in reality an error ocurred. Item 3 provides a helpful message for a common reason for failure to set sw breakpoint. This was thoroughly tested, mindful of the fact that breakpoint management is somewhat dicey during single-stepping. Comments and criticisms of course gratefully received. Mike Signed-off-by: Mike Dunn <mikedunn@newsguy.com> Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>