summaryrefslogtreecommitdiff
path: root/src/jtag/jtag.c
Commit message (Collapse)AuthorAgeFilesLines
...
* This moves common code into functions so as to make it clear oharboe2008-03-121-87/+23
| | | | | | | that all the jtag_add_xxx() are indeed intended to do the same thing. git-svn-id: svn://svn.berlios.de/openocd/trunk@504 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - retired unused jtag events. The code was incorrectoharboe2008-03-111-28/+7
| | | | | | | | | | - hopefully clarified the difference between TRST and TMS reset. - added DEBUG() statements w.r.t. state changes - TRST released and moving out of TAP_TLR are completely different events. Only TRST released has a DEBUG() statement git-svn-id: svn://svn.berlios.de/openocd/trunk@496 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* JTAG_END_STATE is now retired. It is no longer queued.oharboe2008-03-111-22/+10
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@493 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - fixed jtag_add_reset(). It no longer causes jtag_execute_queue() tooharboe2008-03-111-70/+74
| | | | | | | | | | | fail for two of it's return codes. A little bit weird, but compatible with existing codebase. - tightend up error handling. Since the jtag_xxx() is a queue that is either executed as things are added(hw queue) or a software queue, then errors can only be caught during jtag_execute_queue(). No error code is therefore returned from the queuing fn's. git-svn-id: svn://svn.berlios.de/openocd/trunk@492 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* backed out changes from 483.oharboe2008-03-101-93/+14
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@490 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - the jtag chain is examined and validated after GDB & telnet serversoharboe2008-03-101-17/+95
| | | | | | | | | | | | | | | | | | are up and running. The examination and validation is actually "optional" from the point of view of GDB + telnet servers. Multiple targets should work fine with this. - jtag_speed is dropped(divisor is increased), if jtag examination and validation fails. - the chain is validated 10x to catch the worst jtag_speed offences - added LOG_SILENT that can be used to shut up log. Feeble ersatz for try+catch. - GDB register packets are now always replied in order to make sure that GDB connect works. If the target is not halted, then these packets contain dummy values. git-svn-id: svn://svn.berlios.de/openocd/trunk@483 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Michael Bruck: fixed warningsoharboe2008-03-071-1/+1
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@471 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* make debug code w.r.t. incorrect args for bypass stricter.oharboe2008-03-061-2/+3
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@450 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - This speeds up dcc arm7_9 bulk write a little bit and exercises the ↵oharboe2008-03-051-1/+18
| | | | | | | | | | | 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
* added jtag_add_dr_out(). Better for hw fifo, same for software fifo.oharboe2008-03-051-49/+96
| | | | | | | | Passes 94kBytes/s regression test. Works with str912, which relies on bypass git-svn-id: svn://svn.berlios.de/openocd/trunk@447 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* wip. fixed gaffe in jtag_add_shift()oharboe2008-03-011-1/+1
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@409 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* error handling fix.oharboe2008-03-011-5/+4
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@405 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* fix from Pavel Chromy oharboe2008-02-281-1/+0
| | | | | | | | | | | 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 git-svn-id: svn://svn.berlios.de/openocd/trunk@372 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* jtag_add_shift() fn - minidriver work in progress.oharboe2008-02-281-0/+37
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@367 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* fix naming conflict under Windows.oharboe2008-02-261-13/+13
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@353 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* oopss.. another jtag minidriver reset gaffe.oharboe2008-02-261-3/+3
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@352 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* jtag_add_reset() minidriver gaffe fixed.oharboe2008-02-261-23/+20
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@351 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Next step in the JTAG minidriver. This should be fairly close to the final ↵oharboe2008-02-261-65/+97
| | | | | | | | | thing, but I'm not calling it "done" quite yet. git-svn-id: svn://svn.berlios.de/openocd/trunk@350 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - jtag minidriver work in progressoharboe2008-02-261-62/+116
| | | | | | | - svn:eol-style=native. Let's see how that works out :-) git-svn-id: svn://svn.berlios.de/openocd/trunk@349 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - remove build warningsntfreak2008-02-251-1/+1
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@348 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - convert all files to unix line-endingdrath2008-02-251-1841/+1841
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@347 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* formatting.oharboe2008-02-251-1841/+1841
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@345 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Fix from Pavel Chromy.oharboe2008-02-251-1833/+1837
| | | | | | https://lists.berlios.de/pipermail/openocd-development/2008-February/001018.html git-svn-id: svn://svn.berlios.de/openocd/trunk@343 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* From Michael Bruckoharboe2008-02-251-1818/+1819
| | | | | | | | | - 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. git-svn-id: svn://svn.berlios.de/openocd/trunk@341 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - using ERROR_COMMAND_SYNTAX_ERROR to print syntax in a couple of placesoharboe2008-02-251-27/+26
| | | | | | | | | - 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. git-svn-id: svn://svn.berlios.de/openocd/trunk@338 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* sharpend JTAG docs w.r.t. hw fifo implementations and retired ↵oharboe2008-02-241-9/+0
| | | | | | jtag_cancel_queue() which is inheritely incompatible with a hw fifo concept. git-svn-id: svn://svn.berlios.de/openocd/trunk@328 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - fix broken JTAG error handlingntfreak2008-02-181-1/+3
| | | | | | | | | - 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 git-svn-id: svn://svn.berlios.de/openocd/trunk@305 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - added patch to change pathmove handlingmifi2008-02-101-45/+11
| | | | | | | | https://lists.berlios.de/pipermail/openocd-development/2008-January/000678.html (thanks to Øyvind for the patch) git-svn-id: svn://svn.berlios.de/openocd/trunk@286 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Added patch to stop SEGFAULT with missing jtag config lines. Thanks Øyvind ↵ntfreak2008-02-041-2/+3
| | | | | | | | Harboe https://lists.berlios.de/pipermail/openocd-development/2008-January/000731.html git-svn-id: svn://svn.berlios.de/openocd/trunk@280 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - added patch to fix brocken STR9 linemifi2008-01-221-10/+15
| | | | | | (thanks to oyvind Harboe for the patch) git-svn-id: svn://svn.berlios.de/openocd/trunk@273 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - added patch "remove error handler as planned"mifi2008-01-201-45/+12
| | | | | | | https://lists.berlios.de/pipermail/openocd-development/2008-January/000665.html (thanks to oyvind Harboe for the patch) git-svn-id: svn://svn.berlios.de/openocd/trunk@260 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - debug handler file not closed - (thanks to oyvind harboe for the patch)ntfreak2008-01-111-24/+24
| | | | | | - arm_simulate_step called incorrect arm_evaluate_opcode when in thumb mode git-svn-id: svn://svn.berlios.de/openocd/trunk@254 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - added gdb flash fixes patch mifi2008-01-071-116/+114
| | | | | | | | | | 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
* - added patch for new flash functionality like:mifi2007-12-181-0/+2
| | | | | | | | | | flash verify_image and flash erase_address. - added patch for new parport_write_on_exit command. Even this patch will fix some memory leaks. (thanks too oyvind and Spen for these patches) git-svn-id: svn://svn.berlios.de/openocd/trunk@240 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - Fixing two compiler warningsmifi2007-12-101-9/+14
| | | | | | | | | - Reducing stack usage for recursive scripts - Do not exit on bogus arguments to reset_config. No longer exit the application upon bogus arguments to reset_config, but return errors. thanks to Øyvind Harboe for these patches. git-svn-id: svn://svn.berlios.de/openocd/trunk@226 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - added patch to display device information as INFO toomifi2007-12-091-1/+1
| | | | | | | | | | - added patch which fixes a crash upon flash write error - added patch which will improve the reset handling when SRST is tied to TRST (thanks to Oyvind Harboe for these patches) git-svn-id: svn://svn.berlios.de/openocd/trunk@218 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - reworked presto.c to allow use of either FTD2XX or libftdi (libftdi not ↵drath2007-08-141-2/+2
| | | | | | | | | | | | | | | | functional yet). Configure option changed from --enable-presto to --enable-presto_ftd2xx and --enable-presto_libftdi - completed trace point support for use with ARM7/9 DCC - completed debug message output with support for HEX dumps (1, 2 or 4 byte quantities) - fixed bug in delete_debug_msg_receiver (thanks to Pavel Chromy) - fixed bug in image_add_section (thanks to Pavel Chromy) - at91sam7 sector erase reworked (thanks to Pavel Chromy) - merge consecutive sections during flash image write to work around possible section alignment issues with LPC2000 targets git-svn-id: svn://svn.berlios.de/openocd/trunk@194 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - renamed M5960 USB JTAG to "flyswatter"drath2007-08-101-4/+8
| | | | | | | | | | | | | | | | | | | | - 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
* - reformat src/jtag/bitq.c (thanks to Pavel Chromy)drath2007-07-251-6/+15
| | | | | | | | | | | - fix multiple reads from FT2232 into same buffer location (thanks to Magnus Lundin) - retry JTAG chain validation (thanks to Magnus Lundin) - reworked GDB packet input handling (thanks to Pavel Chromy) - output error message when setting a watchpoint failed - removed duplicate out-of-bounds check in at91sam7.c (thanks to Pavel Chromy) git-svn-id: svn://svn.berlios.de/openocd/trunk@181 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - added support for Asix Presto JTAG interface (thanks to Pavel Chromy and ↵drath2007-07-151-0/+14
| | | | | | | | | | | | Asix for making this addition possible) - added support for usbprog (thanks to Benedikt Sauter) - make OpenOCD listen for WM_QUIT messages on windows (thanks to Pavel Chromy) - register at_exit handler to do necessary unregistering (thanks to Pavel Chromy) - added dummy ETM capture driver to allow ETM to be registered without a capture driver git-svn-id: svn://svn.berlios.de/openocd/trunk@180 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - added support for Intel/Marvel PXA27x (XScale) targetsdrath2007-06-211-5/+8
| | | | | | | | | | - 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-0/+1
| | | | | | | | | | | - 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
* - further work on ETB decoding (not yet functional)drath2007-05-051-1/+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
* - added support for error handlers to JTAG scan commands ↵drath2007-04-251-56/+111
| | | | | | | | | | (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
* - fixed arm926 cp15 command bug (thanks to Vincent Palatin for this patch)drath2007-03-261-2/+2
| | | | | | | | - 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/+6
| | | | | | | | | | | | | | | | 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
* - merged several changes from XScaledrath2007-01-311-5/+27
| | | | | | | | - complain about identify_chain scan with all bits one (jtag communication problem) - add 0x80000 as a valid size for lpc2000_v2 flash banks (previously only the user accessible 0x7d000 were valid) git-svn-id: svn://svn.berlios.de/openocd/trunk@129 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - fix incorrect parsing of whitespace in command.c (thanks to Magnus Lundin)drath2007-01-221-2/+94
| | | | | | | | | | | - 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
* - disabled FT2232 debug output (that code should be fairly stable)drath2007-01-091-1/+1
| | | | | | | | | | | | | - fixed bug in jtag.c where JTAG command type was wrong for PATHMOVE commands - added lattice ISP cable (experimental) - properly initialize parallel port (clear tristate bit) - fixed jtag/Makefile.am that failed with some versions of autotools - print error number if read() in gdbserver.c failed on Windows - fixed handling of opcodes with bits 27-25 b011 (comment was correct, code had a bug) - added support for AT91SAM7SE internal flash git-svn-id: svn://svn.berlios.de/openocd/trunk@122 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - added a PLD (programmable logic device) subsystem for FPGA, CPLD etc. ↵drath2006-11-221-5/+12
| | | | | | | | | | | | configuration - added support for loading .bit files into Xilinx Virtex-II devices - added support for the Gateworks GW16012 JTAG dongle - merged CFI fixes from XScale branch - a few minor fixes git-svn-id: svn://svn.berlios.de/openocd/trunk@116 b42882b7-edfa-0310-969c-e2dbd0fdcd60