summaryrefslogtreecommitdiff
path: root/src/target/arm7_9_common.c
Commit message (Collapse)AuthorAgeFilesLines
* This matters for embedded devices, but is probably not observably better for ↵oharboe2008-05-071-16/+8
| | | | | | PC hosted OpenOCD. git-svn-id: svn://svn.berlios.de/openocd/trunk@647 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* make debug_level 3 useful again... the log just drowns. perhaps introduce ↵oharboe2008-04-251-1/+1
| | | | | | debug_level 4? git-svn-id: svn://svn.berlios.de/openocd/trunk@617 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* added fast option.oharboe2008-04-231-2/+2
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@604 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Update Embedded ICE registers explicitly during target->type->examine() insteadoharboe2008-04-161-23/+4
| | | | | | | of as a side effect of target->type->poll(). This makes it clearer when things happen during reset/examine. git-svn-id: svn://svn.berlios.de/openocd/trunk@585 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - sw_bkpts fails if the target is not halted. The side effect is oharboe2008-04-151-0/+6
| | | | | | | | | | that sw_bkpts also fails if the target is an unknown state(i.e. not examined yet). - feroceon embedded ICE registers are now set up after TRST has been deasserted(not tested, but it was broken as is anyway). git-svn-id: svn://svn.berlios.de/openocd/trunk@582 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* allows launching OpenOCD w/telnet+gdb server w/theoharboe2008-04-131-0/+3
| | | | | | target powered down. git-svn-id: svn://svn.berlios.de/openocd/trunk@571 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Reset wip. Just adding hooks. This is just to reduce the size of the actual ↵oharboe2008-04-111-11/+3
| | | | | | change, no change in behaviour. git-svn-id: svn://svn.berlios.de/openocd/trunk@565 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - added "init" command. "init" and "reset" at end of startup script is ↵oharboe2008-04-091-10/+17
| | | | | | | | | | | | | | | equivalent to daemon_startup(still supported). - print warning if srst and trst change state at the same time when srst_and_trst is seperate - reset now performs a trst, examines and validates the jtag chain before targets assert reset - if startup fails to examine and validate the jtag chain, try a reset before trying again git-svn-id: svn://svn.berlios.de/openocd/trunk@552 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - only if "reset halt" or "reset init" are issued will the reset vector be ↵oharboe2008-04-071-20/+22
| | | | | | | | | | | set up - If communication fails during assert between assert/deassert and during assert, warnings are printed. The warning suggests using srst_only if the clock locks up as that would allow the reset vector to be set up before asserting reset. git-svn-id: svn://svn.berlios.de/openocd/trunk@544 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - reverted some of the changes that possibly broke arm926ejs. Waitingoharboe2008-04-041-14/+33
| | | | | | | | for a bit more info before I can tell with confidence whether or not this would have any effect. - worked on error propagation and output for flash git-svn-id: svn://svn.berlios.de/openocd/trunk@539 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - Work on fixing erase check. Many implementations are plain broken.oharboe2008-04-031-44/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | Wrote a default flash erase check fn which uses CFI's target algorithm w/fallback to memory reads. - "flash info" no longer prints erase status as it is stale. - "flash erase_check" now prints erase status. erase check can take a *long* time. Work in progress - arm7/9 with seperate srst & trst now supports reset init/halt after a power outage. arm7/9 no longer makes any assumptions about state of target when reset is asserted. - fixes for srst & trst capable arm7/9 with reset init/halt - prepare_reset_halt retired. This code needs to be inside assert_reset anyway - haven't been able to get stm32 write algorithm to work. Fallback flash write does work. Haven't found a version of openocd trunk where this works. - added target_free_all_working_areas_restore() which can let be of restoring backups. This is needed when asserting reset as the target must be assumed to be an unknown state. Added some comments to working areas API - str9 reset script fixes - some guidelines - fixed dangling callbacks upon reset timeout git-svn-id: svn://svn.berlios.de/openocd/trunk@536 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Removed exit()'s. A reset is usually enough to work around these, reducing ↵oharboe2008-03-311-15/+8
| | | | | | | | | cycle times to get config scripts right. git-svn-id: svn://svn.berlios.de/openocd/trunk@528 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* TAP_SD/SI are now forbidden end states.oharboe2008-03-261-39/+15
| | | | | | jtag_add_reset() now returns void streamlining the API git-svn-id: svn://svn.berlios.de/openocd/trunk@525 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - rename log functions to stop conflicts under win32 (wingdi)ntfreak2008-03-251-91/+91
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@523 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - changed jtag_add_reset errors to warningsntfreak2008-03-221-2/+0
| | | | | | - removed extra jtag reset warnings from arm7_9 and cortex_m3 git-svn-id: svn://svn.berlios.de/openocd/trunk@520 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - adds two speeds to jtag_speed. reset and post reset speed. Defaultoharboe2008-03-131-12/+14
| | | | | | | | | | is post reset = reset speed. - removed infinite loop's and exit()'s upon poor arm7/9 communication - cleaned up error messages a bit. Push ERROR() up into fn's that fail and can say something meaningful about what failed. git-svn-id: svn://svn.berlios.de/openocd/trunk@511 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - Improves error handling upon GDB connectoharboe2008-03-071-7/+17
| | | | | | | | | | | | | | | | | | - switch to synchronous halt during connect. This fixes the bug where poll() was not invoked between halt() and servicing the 'g' register packet - halt() no longer returns error code when target is already halted, just logs a warning. Only the halt() implementation can say anything meaningful about why a halt() failed, so error messages are pushed up to halt() - fixed soft_reset_halt infinite loop bug in arm7_9_common.c. The rest of the implementations are still busted. - by using USER() instead of command_print() the log gets the source + line #. Nice. - no longer invoke exit() if soft_reset_halt fails. A reset can often fix the problem. git-svn-id: svn://svn.berlios.de/openocd/trunk@475 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* use jtag_execute_queue() instead of jtag->execute_queue()oharboe2008-03-061-1/+1
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@457 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - This speeds up dcc arm7_9 bulk write a little bit and exercises the ↵oharboe2008-03-051-3/+37
| | | | | | | | | | | jtag_add_dr_out() codepath - added a check to jtag_add_pathmove() for legal path transitions - tweaked jtag.h docs a little bit - made some jtag bypass tests _DEBUG_JTAG_IO_ git-svn-id: svn://svn.berlios.de/openocd/trunk@448 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* backed out jtag_add_shift()oharboe2008-03-011-21/+4
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@421 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* improve DCC bulk write performance by using jtag_add_shift() + tweaked ↵oharboe2008-03-011-4/+21
| | | | | | embedded ICE communication. git-svn-id: svn://svn.berlios.de/openocd/trunk@416 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - image.c and fileio.c now uses logging to propagate error strings.oharboe2008-02-291-2/+0
| | | | | | | | More precise, less code. - removed unused code in fileio.c - Windows should now find debug_handler.bin git-svn-id: svn://svn.berlios.de/openocd/trunk@390 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - fix issue when target is already haltedntfreak2008-02-261-0/+1
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@355 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - convert all files to unix line-endingdrath2008-02-251-9/+9
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@347 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - fixed target->type->poll() return valueoharboe2008-02-241-16/+10
| | | | | | | | | | | - 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 git-svn-id: svn://svn.berlios.de/openocd/trunk@332 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - added patch to make single-stepping more resilientmifi2008-02-221-10/+22
| | | | | | (thanks to Nicolas Pitre for the patch) git-svn-id: svn://svn.berlios.de/openocd/trunk@316 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - Fixed bug in pathmove for XScalentfreak2008-02-191-2/+20
| | | | | | | | | | | | | | | - 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 git-svn-id: svn://svn.berlios.de/openocd/trunk@310 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - added patch to solve problem with AT91SAM9260 (dirty register)mifi2008-02-061-4/+4
| | | | | | (thanks to Øyvind Harboe for the patch) git-svn-id: svn://svn.berlios.de/openocd/trunk@282 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - add support for cortex_m3 target_request debugmsgsntfreak2008-01-171-0/+3
| | | | | | - target request handler disabled by default until a target has been registered git-svn-id: svn://svn.berlios.de/openocd/trunk@259 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - added gdb flash fixes patch mifi2008-01-071-4/+14
| | | | | | | | | | https://lists.berlios.de/pipermail/openocd-development/2007-December/000548.html - added synthesize in_check_mask/value and error handler patch https://lists.berlios.de/pipermail/openocd-development/2008-January/000554.html (thanks to oyvind harboe for these patches) git-svn-id: svn://svn.berlios.de/openocd/trunk@248 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Do not overwrite code when removing software breakpoint if it no longer ↵vpalatin2007-12-041-2/+10
| | | | | | | | | contains bkpt instruction. (thanks to oyvind harboe for bug report and test) git-svn-id: svn://svn.berlios.de/openocd/trunk@214 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - add verify_image commandntfreak2007-10-221-0/+76
| | | | | | - add support for gdb qCRC packet (compare-sections command) git-svn-id: svn://svn.berlios.de/openocd/trunk@210 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - renamed M5960 USB JTAG to "flyswatter"drath2007-08-101-0/+52
| | | | | | | | | | | | | | | | | | | | - make ep93xx and at91rm9200 bitbang JTAG interfaces dependant on ARM host (thanks to Vincent Palatin) - various whitespace fixes - removed various warnings - add support for Debian GNU/kFreeBSD (thanks to Uwe Hermann) - fix OpenOCD compilation for various platforms (thanks to Uwe Hermann and Vincent Palatin) - switched order of JTAG chain examination and validation (examine first, then multiple validation tries even if examination failed) - added target_request subsystem to handle requests from the target (debug messages and tracepoints implemented, future enhancements might include semihosting, all ARM7/9 only for now) - added support for GDB vFlashXXX packets (thanks to Pavel Chromy) - added support for receiving data via ARM7/9 DCC - reworked flash writing. the 'flash write' command is now deprecated and replaced by 'flash write_binary' (old syntax and behaviour) and 'flash write_image' (write image files (bin, hex, elf, s19) to a target). - added support for AMD/ST/SST 29F400B non-cfi flashes git-svn-id: svn://svn.berlios.de/openocd/trunk@190 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - added support for Intel/Marvel PXA27x (XScale) targetsdrath2007-06-211-0/+7
| | | | | | | | | | - added support for scans coming from or ending in Shift-DR or Shift-IR to bitbang code (required for XScale debugging) - cleaned up errror handlers. only use when there's a catchable error - fix segfault when etm was configured without a valid driver git-svn-id: svn://svn.berlios.de/openocd/trunk@176 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - split fileio handling into fileio part and image handlingdrath2007-05-291-82/+3
| | | | | | | | | | | - reworked etm/etb into a generic etm part with trace capture drivers (currently only etb supported) - added XScale debug handler binary to repository - added Thumb disassembling (thanks to Vincent Palatin for this patch) - added support for non-CFI compatible flashes to cfi driver (currently only SST39VFxxx devices supported) This checkin is experimental, not suitable for general use git-svn-id: svn://svn.berlios.de/openocd/trunk@155 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* -- corrected embedded ice definitionsntfreak2007-05-101-1/+1
| | | | | | -- changed arm966e to use standard arm9_7 reset handling git-svn-id: svn://svn.berlios.de/openocd/trunk@146 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - further work on ETB decoding (not yet functional)drath2007-05-051-0/+2
| | | | | | | - fixed several uses of uninitialized bits (Thanks to Vincent Palatin for finding and fixing these bugs) git-svn-id: svn://svn.berlios.de/openocd/trunk@145 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - improved ETB trace outputdrath2007-04-261-3/+3
| | | | | | | | - use BKPT instruction on cores supporting it (ARM926EJ-S, ARM966E-S) - correctly handle endianness of software breakpoint instruction git-svn-id: svn://svn.berlios.de/openocd/trunk@143 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - added support for error handlers to JTAG scan commands ↵drath2007-04-251-5/+4
| | | | | | | | | | (jtag_[plain_][ir|dr]_scan) - catch apparently broken JTAG IR scan after ARM926EJ-S CP15 operations - added "arm7_9 dump_etb" command git-svn-id: svn://svn.berlios.de/openocd/trunk@142 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - explicitly disable monitor mode on ARM7/9 targetsdrath2007-04-161-17/+64
| | | | | | | | - added "prepare_reset_halt()" to target_type_t, which allows reset_halt to be prepared before a reset is asserted, possibly preventing communication with the target - arm7/9 devices now use a breakpoint at 0x0 or reset vector catching for debug out of reset git-svn-id: svn://svn.berlios.de/openocd/trunk@141 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - fixed arm926 cp15 command bug (thanks to Vincent Palatin for this patch)drath2007-03-261-4/+51
| | | | | | | | - fixed compiler warnings throughout the code (thanks to Vincent Palatin for this patch) - added support for accessing ETB (embedded trace buffer) registers git-svn-id: svn://svn.berlios.de/openocd/trunk@134 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - reworked file i/o. every fileaccess (target, flash, nand, in future ↵drath2007-03-151-0/+34
| | | | | | | | | | | | | | | | configuration, too) should now go through the fileio subsystem - added support for reading IHEX files (through fileio) - load/dump_binary renamed to the more generic load/dump_image <file> <address> ['bin'|'ihex'] - added NAND framework (preliminary) - added support for the LPC3180 SLC and MLC NAND controllers (preliminary) - fix initialization for parport - gw16012 fixes/cleanups - added EmbeddedICE version 7 (preliminary, reported on two LPC23xx devices so far) - added 'arm7_9 etm <target#>' configuration command to enable access to the ETM registers git-svn-id: svn://svn.berlios.de/openocd/trunk@132 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - fix incorrect parsing of whitespace in command.c (thanks to Magnus Lundin)drath2007-01-221-0/+4
| | | | | | | | | | | - fix infinite recursion in target_init_handler (thanks to jw and Magnus Lundin) - fix CFI flash handlign with buswidth < 32bit (thanks to Daniele Orio for reporting this) - add support for reading JTAG device id (currently only as debug output on startup) - cleaned up handling of EmbeddedICE registers. Supported functionality and register size now determined by EmbeddedICE version number. - small cleanups/fixes git-svn-id: svn://svn.berlios.de/openocd/trunk@124 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - added support for the oocd-link ↵drath2006-11-071-8/+9
| | | | | | | | | (http://www.joernonline.de/dw/doku.php?id=en:projects:oocdlink) - fixed breakpoint handling (this changes the target_t interface) git-svn-id: svn://svn.berlios.de/openocd/trunk@113 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - correctly enter debug state on a "soft_reset_halt" commanddrath2006-11-051-32/+56
| | | | | | | | - several small fixes - retry reading from a FT2232 device on incomplete reads git-svn-id: svn://svn.berlios.de/openocd/trunk@110 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - several small fixes (thanks to Magnus Lundin and Spencer Oliver)drath2006-10-231-4/+4
| | | | | | | - added support for using Luminary Micro development board 'evb_lm3s811' as a JTAG interface (thanks to Magnus Lundin) git-svn-id: svn://svn.berlios.de/openocd/trunk@106 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - fixed endianness handling in arm7_9_read_core_reg (thanks to Magnus Lundin ↵drath2006-10-191-10/+12
| | | | | | | | | for reporting this) - correctly handle ft2232_device_desc and ft2232_serial when both are given at the same time git-svn-id: svn://svn.berlios.de/openocd/trunk@104 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - allow FT2232 devices to be opened by serial number instead of device ↵drath2006-10-121-2/+2
| | | | | | | | | | description ('ft2232_serial <serial>' command) - redirect output from target event scripts (currently only reset) to the daemon output (INFO:) - some minor fixes and enhancements git-svn-id: svn://svn.berlios.de/openocd/trunk@103 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - set the T bit in the CPSR when the core was executing in Thumb state. Mask ↵drath2006-09-091-17/+36
| | | | | | the T bit from the CPSR for all CPSR-writing operations git-svn-id: svn://svn.berlios.de/openocd/trunk@97 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - endianess fixes everywhere but in the flash code. flashing might still be ↵drath2006-08-311-55/+76
| | | | | | | | | | | | | | | | | broken on big-endian targets and/or hosts - added access to ARM920T vector catch register (via generic register mechanism) - don't disable linefills on ARM920T cores - this lead to lockups when accessing lines already contained in cache - read content of ARM920T cache and tlb into file (arm920t read_flash/read_mmu commands) - memory reading improved on ARM7/9, can be further accelerated with new "arm7_9 fast_memory_access enable" command (renamed from fast_writes) - made in_handler independent from in field (makes the handler more flexible) - added timeout to ft2232 when using D2XX library - fixed STR7x protection bit handling on second bank (thanks to Bernard) - added support for using the OpenOCD on AT91RM9200 systems (thanks to Anders Larsen) - fixed AT91SAM7 flash handling when not running from 32kHz clock (thanks to Anders Larsen) git-svn-id: svn://svn.berlios.de/openocd/trunk@90 b42882b7-edfa-0310-969c-e2dbd0fdcd60