summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* command: capture command now handles both types commandsØyvind Harboe2010-09-111-2/+24
| | | | | | | | | | | | | | | | | | | | | | Commands that output progress output and no return value will have the progress output captured. Commands that do not output progress output(tcl commands) will return the tcl return value instead. The advantage here is that it is no longer necessary to consider which command one is capturing, it works for either. Example #1: capture progress output: set foo [capture help] Example #2: capture tcl return value set foo [capture {set abc def}] Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* cfi: random crash in cfi_probe() fixedØyvind Harboe2010-09-111-1/+5
| | | | | | | | for non_cfi cfi chips free() was invoked on rodata. The mystery is why this bug has survived for so long. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* cfi: tighten up type usage a bitØyvind Harboe2010-09-111-2/+3
| | | | | | | | | | sizeof() is a bit less scary than seing assumption about size of type, no bug as such. Use NULL instead of 0 for pointers. More obvious that it is a pointer from code inspection. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* xscale: mark xscale registers invalid on debug entryMike Dunn2010-09-091-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Hi everyone, This simple patch fixes a problem I noticed on the xscale where incorrect values are sometimes reported by the reg command. The problem can occur when requesting the value of registers in the xscale-specific register cache. With a couple of exceptions, none of the registers in the xscale register cache are automatically retrieved on debug entry. This is probably fine, as they are unlikely to be needed on a regular basis during a typical debug session, and they can be retrieved when explicitly requested by name using the reg command. The problem is that once this is done, the register remains marked as valid for the remainder of the OpenOCD session, and the reg command will henceforth always report the same value because it is obtained from the cache and is never again retrieved from the debug handler on the target. The fix is to mark all registers in the xscale register cache as invalid on debug entry (before the two exceptions are retrieved), thus forcing retrieval (when requested) from the target across resumptions in execution, and avoiding the reporting of stale values. Small addition change by Øyvind: change 'i' to unsigned to fix compiler warning for xscale_debug_entry() fn. Signed-off-by: Mike Dunn <mikedunn@newsguy.com> Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* Remove duplicated initializationAlexander Stein2010-09-081-1/+0
| | | | | | | | | | | I a mail conversation with Øyvind we stated that speed may not be set at all on case CLOCK_MODE_KHZ and CLOCK_MODE_RCLK. Also there isn't proper error propagation adapter_khz_to_speed or jtag_rclk_to_speed. So jtag_get_speed may need some rewrite for error propagation. CC: Øyvind Harboe <oyvind.harboe@zylin.com> Signed-off-by: Alexander Stein <alexander.stein@informatik.tu-chemnitz.de> Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* warning: fix silly -O3 warningØyvind Harboe2010-09-071-1/+1
| | | | | | | Some versions of GCC don't pick up that local variables are set in all code paths. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* jtag: fix regression with dummy driver and when starting OpenOCD with target ↵Øyvind Harboe2010-09-031-5/+13
| | | | | | | | | | | | | | | | powered down Do not fail startup if communication with target is not possible. OpenOCD supports launching without a target connected or the target powered down. The user will typically power up the target and issue a "reset init" + load his application after OpenOCD is started then. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* Numonyx M29W160ET patchWookey2010-09-031-3/+4
| | | | | | | | | Someone called David Carne popped up on IRC and offered a fix (as he's not on this list so can;t post here). I am just passing it on. (thanx David) 10:54 < davidc__> Basically; the Numonyx M29W160ET has an incorrect CFI PRI block; it describes the erase blocks backwards 10:54 < davidc__> the linked patch has a fixup for that part [really trivial]:
* cortex m3: add cortex_m3 reset_config cmdSpencer Oliver2010-08-312-51/+84
| | | | | | | | | | | | This new cmd adds the ability to choose the Cortex-M3 reset method used. It defaults to using SRST for reset if available otherwise it falls back to using NVIC VECTRESET. This is known to work on all cores. Move any luminary specific reset handling to the stellaris cfg file. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
* flash: increase stellaris flash loader bufferSpencer Oliver2010-08-311-1/+1
| | | | | | This speeds up programming for targets with more working area, Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
* bitq: unshadow pause()David Brownell2010-08-271-4/+4
| | | | | | | | bitq.c: In function ‘bitq_scan_field’: bitq.c:224: error: declaration of ‘pause’ shadows a global declaration /usr/include/unistd.h:429: error: shadowed declaration is here Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* avr32: work-in-progressOleksandr Tymoshenko2010-08-1510-0/+1769
| | | | | | | | | | | | | committed so as to ease cooperation and to let it be improved over time. So far it supports: - halt/resume - registers inspection - memory inspection/modification I'm still getting up to speed with OpenOCD internals and AVR32 so code is a little bit messy and I'd appreciate any feedback.
* Fix typo in usb_blaster_vid_pid error messageCatalin Patulea2010-08-141-1/+1
|
* Added support for the Lisa/L jtag LEDs.Piotr Esden-Tempski2010-08-131-1/+56
|
* Added support for Lisa/L builtin JTAG interface.Piotr Esden-Tempski2010-08-131-0/+5
|
* jtag: fix handling of 'tap enable' errorThomas Koeller2010-08-121-2/+2
| | | | | | | | if a tap could not be _enabled_, the error message was 'failed to disable tap'. Fixed that. Also, display the failing tap's name. Signed-off-by: Thomas Koeller <thomas.koeller@baslerweb.com>
* str9x: faster flash erase of entire chipFredrik Hederstierna2010-08-121-6/+23
| | | | | | | The patch improves flash erase for STR9x in case of a full bank erase. Then the chip erase command is used instead which improves speed significantly. Also I think it might help if e.g. STR912 enters some state where flash banks are locked, and a chip erase command is the key for unlocking the flash.
* tcl: remove silly ocd_ prefix to array2mem and mem2arrayØyvind Harboe2010-08-111-2/+2
| | | | | | | | ocd_ prefix is used internally in OpenOCD as a kludge more or less to deal with the two kinds of commands that OpenOCD has. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* debug: use assert's when approperiateØyvind Harboe2010-08-112-4/+2
| | | | | | error was returned instead of using assert. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* arm: add missing error reportingØyvind Harboe2010-08-113-1/+28
| | | | | | | when an unknown core mode is read from the target, report error. Can be communication failure. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* arm7/9: fix "reset run + halt"Øyvind Harboe2010-08-092-11/+27
| | | | | | | | | | | | | | | | if polling is off, then "reset run + halt" would fail since halt incorrectly assumed the target was in the reset state as it is the internal poll implementation that moves the sw tracking of the target state out of the reset state. To reproduce: > reset run; halt JTAG tap: zy1000.cpu tap/device found: 0x1f0f0f0f (mfg: 0x787, part: 0xf0f0, ver: 0x1) BUG: arm7/9 does not support halt during reset. This is handled in arm7_9_assert_reset() Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* target: if polling fails, back offØyvind Harboe2010-08-091-8/+29
| | | | | | | | | | | | back-off algorithm for polling. Double polling interval up to 5000ms when it fails. when polling succeeds, reset backoff. This avoids flooding logs(as much) when working with conditions where the target polling will fail. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* verify_image: print out a statement that there are no further errorsØyvind Harboe2010-08-021-1/+10
| | | | | | | | | It is useful to know that the printed errors are *all* the errors there were. Added missing error handling(found by inspection). Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* zy1000: use correct base clock when calculating speed divisorØyvind Harboe2010-08-021-4/+11
| | | | | | revc uses 60MHz and revb 64MHz, use this in calculations. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* zy1000: print out khz correctly in response to setting JTAG speedØyvind Harboe2010-08-021-4/+33
| | | | | | Calculate printout based on same core routines. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* ioutil: fix internal fn namesØyvind Harboe2010-08-021-15/+11
| | | | | | prefix w/ioutil_ Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* jtag: measure_clk debug procØyvind Harboe2010-08-021-0/+9
| | | | | | | It can be useful to get an approximate measurement of rtck frequency for debugging purposes. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* jtag: add jtag_flush_queue_sleep debug commandØyvind Harboe2010-08-023-0/+45
| | | | | | | | it can be useful to throttle performance: test differences in behavior, test performance effect of long roundtrips. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* util: ms command to calculate length of operationsØyvind Harboe2010-08-015-2/+101
| | | | | | | This can be used to calculate approximate RTCK frequency for instance. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* stellaris flash comment updateDavid Brownell2010-08-011-1/+1
| | | | | | | | This flash driver works on more than just two chips. (Though it does need work still, e.g. to protect more than 64K. (On non-'3748-A0 chips where errata allow that.)) Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* "transport select" returns Jim valueDavid Brownell2010-07-241-41/+30
| | | | | | | Make it scriptable, so code can be conditionalized based on what transport is in use for the session. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* Buspirate: fix shadowMichal Demin2010-07-231-14/+14
|
* flash: remove algorithm exit_point address for supported targetsSpencer Oliver2010-07-204-5/+4
| | | | | | | | | For the above targets the exit_point is optional when used with run_algorithm, so remove it. This makes updating the algorithm less error prone. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
* mips32: exit_point optional for mips32_run_algorithmSpencer Oliver2010-07-201-1/+1
| | | | | | | | | As the mips32 uses instruction breakpoints for algorithms we do not really need to check the pc on exit. This now matches the behaviour of the arm codebase. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
* armv7m: exit_point optional for armv7m_run_algorithmSpencer Oliver2010-07-201-1/+1
| | | | | | | | | As the armv7m uses instruction breakpoints for algorithms we do not really need to check the pc on exit. This now matches the behaviour of the arm4_5 codebase. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
* armv4_5: add algorithms instruction breakpoint supportSpencer Oliver2010-07-201-6/+16
| | | | | | | Update the arm_checksum_memory and arm_blank_check_memory algorithms to use a breakpoint instruction on v5 arch. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
* arm11 error propagation fixesØyvind Harboe2010-07-203-29/+32
| | | | Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* arm_jtag_scann error propagation fixesØyvind Harboe2010-07-205-12/+34
| | | | Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* arm_dpm: error propagation fixesØyvind Harboe2010-07-191-2/+26
| | | | | | found by inspection Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* adi_jtag_ error propagationØyvind Harboe2010-07-191-4/+12
| | | | Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* arm: error propagation of arm_jtag_set_instrØyvind Harboe2010-07-1910-32/+108
| | | | Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* arm_adi_v5: dap_run() error propagationØyvind Harboe2010-07-191-15/+28
| | | | Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* arm_adi_v5: mem_ap_write error propagationØyvind Harboe2010-07-192-25/+78
| | | | Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* arm_adi_v5: error propagation of mem_ap_read_atomic_u32 failureØyvind Harboe2010-07-192-26/+73
| | | | Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* mem_ap_read_u32 error propagationØyvind Harboe2010-07-192-16/+48
| | | | Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* arm_adi_v5: add error propagation for dap_setup_accessportØyvind Harboe2010-07-192-15/+45
| | | | Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* debug: debug entry error propagationØyvind Harboe2010-07-1911-41/+116
| | | | Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* cortex a8: added timeout handlingØyvind Harboe2010-07-191-5/+28
| | | | Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* arm: add error propagation for enable/disable mmu cachesØyvind Harboe2010-07-198-65/+162
| | | | Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
* arm: add error propagation to generic get_ttb fnØyvind Harboe2010-07-198-18/+46
| | | | Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>