Commit Graph

67 Commits (0bb7c9d10935b320ada567dc0e46f3b23eea2793)

Author SHA1 Message Date
oharboe 0bb7c9d109 fix a few compilation problems.
git-svn-id: svn://svn.berlios.de/openocd/trunk@758 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-06 19:56:15 +00:00
oharboe 2b673d0c1e Charles Hardin <ckhardin@gmail.com> - Tcl Server
git-svn-id: svn://svn.berlios.de/openocd/trunk@757 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-06 19:33:05 +00:00
oharboe dc796a2091 src/helper/configuration.h
- Log output handlers now get a "const char *line"
	- Added "const" to parameter.

src/helper/command.c
src/helper/command.h
	- New function:  'command_output_text()'
	- Log output handlers now get a "const char *line"
 
src/helper/options.c
	- Log output handlers now get a "const char *line"

src/server/telnet_server.c
	- DO not transmit NULL bytes via TELNET.
	- Log output handlers now get a "const char *line"
	
src/server/gdb_server.c
	- Log output handlers now get a "const char *line"
	
	*** THIS INCLUDES PORTIONS OF A PATCH FROM Oyvind sent 
	previously to the mailing list for TCL users try

src/target/target.c
	*** THIS INCLUDES PORTIONS OF A PATCH FROM Oyvind sent 
	previously to the mailing list for TCL users try
	
src/target/target.h
	*** THIS INCLUDES PORTIONS OF A PATCH FROM Oyvind sent 
	previously to the mailing list for TCL users try

src/openocd.c
    - **MAJOR** Work: New TCL/Jim function: mem2array
	- **MAJOR** Work: Redirect Tcl/Jim stdio output to remote users.
	- Previously: TCL output did not go to GDB.
	- Previously: TCL output did not go to TELNET
	- Previously: TCL output only goes to control console.
	- This fixes that problem.
	+ Created callbacks:
		+openocd_jim_fwrite()	
		+openocd_jim_fread()
		+openocd_jim_vfprintf()
		+openocd_jim_fflush()
		+openocd_jim_fgets()

src/Makefile.am
	- New TCL files.
	- Future note: This should be more automated.  As the list of
	  'tcl' files grows maintaning this list will suck.

src/Jim.c
	- ** THIS INCLUDES A PREVIOUS PATCH I SENT EARLIER **
	- that impliments many [format] specifies JIM did not support.
	- Jim_FormatString() - **MAJOR** work.
	- Previously only supported "%s" "%d" and "%c"
	- And what support existed had bugs.
	- NEW: *MANY* formating parameters are now supported.
	- TODO: The "precision" specifier is not supported.

	** NEW ** This patch.
	
	- Jim_StringToWide() test if no conversion occured.
	- Jim_StringToIndex() test if no conversion occured.
	- Jim_StringToDouble() test if no conversion occured.

	** NEW ** This Patch. Major Work.
	- Previously output from JIM did not get sent to GDB
	- Ditto: Output to Telnet session.
	- Above items are now fixed - By introducing callbacks
	  new function pointers in the "interp" structure.

	- Helpers that call the callbacks.
	
	- New function: Jim_fprintf()
	- New function: Jim_vfprintf()
	- New function: Jim_fwrite()
	- New function: Jim_fread()
	- New function: Jim_fflush()
	- New function: Jim_fgets()

	By default: the output is to STDIO as previous.
	The "openocd.c" - redirects the output as needed.
	
	- Jim_Panic() - Send panic to both STDERR and the interps
	specified STDERR output as a 2nd choice.

	- Now JIM's "stdin/stdout/stderr" paramters are "void *"
	and are no longer "FILE *".

src/Jim.h
	- **MAJOR**
	-  New JIM STDIO callbacks in the "interp" structure.
	-  change: "stdin/stdout/stderr" are now "void *" cookies.
	-  New JIM stdio helper functions.



git-svn-id: svn://svn.berlios.de/openocd/trunk@755 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-06 19:17:43 +00:00
oharboe 002e3fcbdb added echo command in tcl. Issues a LOG_USER() for the single argument.
git-svn-id: svn://svn.berlios.de/openocd/trunk@746 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-04 13:37:34 +00:00
oharboe ef268c96bb tcl config script example
git-svn-id: svn://svn.berlios.de/openocd/trunk@744 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-04 08:08:29 +00:00
oharboe a521e674cf Jim Tcl support added
git-svn-id: svn://svn.berlios.de/openocd/trunk@739 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-04 06:31:43 +00:00
oharboe b754eac35a hooks to enable experimentation with scripting language support. Reduces patch size, but has no effect on OpenOCD otherwise.
git-svn-id: svn://svn.berlios.de/openocd/trunk@733 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-06-27 06:58:45 +00:00
oharboe a197e759ff Edgar Grimberg plugged a leak found w/Valgrind.
git-svn-id: svn://svn.berlios.de/openocd/trunk@646 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-05-07 12:15:19 +00:00
oharboe 7de51ceef9 allows launching OpenOCD w/telnet+gdb server w/the
target powered down.

git-svn-id: svn://svn.berlios.de/openocd/trunk@570 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-04-13 11:42:49 +00:00
oharboe 7805be1b3a added target->type->examine(). Eventually this will allow for bringing up telnet/gdb *before* jtag chain has been validated + it might fix some reset halt problems seen as examine() needs to run after TRST has been asserted.
git-svn-id: svn://svn.berlios.de/openocd/trunk@563 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-04-11 06:52:52 +00:00
oharboe a064722743 - added "init" command. "init" and "reset" at end of startup script is 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
2008-04-09 05:50:34 +00:00
oharboe 769fa69b9a avoid patch trouble by isolating troublesome line...
git-svn-id: svn://svn.berlios.de/openocd/trunk@542 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-04-06 19:59:32 +00:00
oharboe 2df3ca97a7 hooks for multithreading. Disable nagle
git-svn-id: svn://svn.berlios.de/openocd/trunk@524 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-03-26 13:18:23 +00:00
ntfreak d47e1b8f36 - rename log functions to stop conflicts under win32 (wingdi)
git-svn-id: svn://svn.berlios.de/openocd/trunk@523 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-03-25 15:45:17 +00:00
mifi 542df34411 - removed warnings "xxxxx" might be used uninitialized in this function (arm_simulator.c)
- some cosmetic changes

git-svn-id: svn://svn.berlios.de/openocd/trunk@423 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-03-01 19:13:05 +00:00
oharboe 0d2b289048 Pavel Chromy: add missing newlines.
git-svn-id: svn://svn.berlios.de/openocd/trunk@395 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-02-29 12:31:29 +00:00
oharboe fb2c709166 lingering patch from Pavel Chromy.
git-svn-id: svn://svn.berlios.de/openocd/trunk@393 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-02-29 12:20:30 +00:00
drath 3d6bcf0792 - convert all files to unix line-ending
git-svn-id: svn://svn.berlios.de/openocd/trunk@347 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-02-25 17:48:04 +00:00
oharboe 7f1944a478 Pavel Chromy
- multiple log listeners
- added OUTPUT() to replace printf
- fix formatting

git-svn-id: svn://svn.berlios.de/openocd/trunk@346 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-02-25 17:32:53 +00:00
mifi 8603019609 - added a test document as a starting point
- corrected URL information for the repro

git-svn-id: svn://svn.berlios.de/openocd/trunk@322 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-02-23 12:02:15 +00:00
mifi 34424b4bb5 - cosmetic changes to print out version without line number/time
git-svn-id: svn://svn.berlios.de/openocd/trunk@319 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-02-22 16:49:07 +00:00
ntfreak da2bbc90fc - added synchronous reset patch, Thanks Øyvind Harboe
- added target_init_reset which calls target_process_reset after all drivers have been initialised

git-svn-id: svn://svn.berlios.de/openocd/trunk@284 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-02-07 20:20:11 +00:00
ntfreak 0160320060 - rename flash_init and flash_erase to flash_init_drivers and flash_erase_address_range - stops conflicts with redboot. Thanks Øyvind Harboe
- gdb connection not dropped if we fail to allocate memory in query packets



git-svn-id: svn://svn.berlios.de/openocd/trunk@249 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-01-09 15:58:01 +00:00
bodylove cec738e651 - Enabled URL keyword expansion for enhanced version
tracking of binary openocd images


git-svn-id: svn://svn.berlios.de/openocd/trunk@224 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2007-12-10 18:41:10 +00:00
bodylove 78d58dd16a Changed openocd version info creation to be more useful.
- Now displays subversion revision and svn URL

  
  

git-svn-id: svn://svn.berlios.de/openocd/trunk@220 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2007-12-10 16:55:14 +00:00
drath 6ae83f5cf8 Patch by Michael Schwingen that
- adds support for the Altium universal JTAG cable
 - adds support for "wiggler2" cable (basically a wiggler with added LED, documentation coming soon)
 - adds LED support. The LED is turned on during data transfer - works fine on Altium and wiggler2.
 - adds PORT_EXIT pattern that is written to port when exiting, in order to turn off power on cables that get their power from parallel port data lines
 - move port writes (with the system-specific ifdefs) to one central function

- increased image cache size to 2KB (might require more adaptive cache handling, e.g. LRU)



git-svn-id: svn://svn.berlios.de/openocd/trunk@204 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2007-09-05 06:22:37 +00:00
drath b930514e2f - added support for setting JTAG frequency on ASIX PRESTO (thanks to Pavel Chromy)
- usbprog update (thanks to Benedikt Sauter)
- added embeddedice_send and _handshake functions (thanks to Pavel Chromy)
- added support for 4, 8 and 16 bit ports to etb.c



git-svn-id: svn://svn.berlios.de/openocd/trunk@203 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2007-08-25 09:59:42 +00:00
drath ecfc1e39a2 - correctly initialize start address for XScale trace buffer decodes in fill-once mode
git-svn-id: svn://svn.berlios.de/openocd/trunk@202 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2007-08-21 16:21:05 +00:00
drath 0eb8621bf2 - renamed "xscale dump_trace_buffer" to "xscale dump_trace" and added code for it
git-svn-id: svn://svn.berlios.de/openocd/trunk@198 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2007-08-17 08:58:40 +00:00
drath cb6ebced3d - update jtag_speed setting when changing it during runtime with a FT2232 based interface
- use 'etm trigger_percent' setting when programming ETB trigger count
- fixed some small bugs in ETM trace analysis
- fixed minor bug in flash writing (thanks to Pavel Chromy)


git-svn-id: svn://svn.berlios.de/openocd/trunk@197 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2007-08-16 13:12:48 +00:00
drath 708535960c - corrected automake script
git-svn-id: svn://svn.berlios.de/openocd/trunk@195 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2007-08-14 10:05:40 +00:00
drath 29000b204d - reworked presto.c to allow use of either FTD2XX or libftdi (libftdi not 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
2007-08-14 09:48:54 +00:00
drath 54b76e98af - bumped version information
git-svn-id: svn://svn.berlios.de/openocd/trunk@192 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2007-08-10 20:25:59 +00:00
drath 9061c08aa7 - cleaned up cycle counting in ETM analysis
- fixed broken OpenOCD version string



git-svn-id: svn://svn.berlios.de/openocd/trunk@188 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2007-07-31 16:39:06 +00:00
drath 91d21d22ca - add missing configure.in change from last checkin
- add usbprog example config file
- update version string


git-svn-id: svn://svn.berlios.de/openocd/trunk@187 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2007-07-31 10:09:00 +00:00
drath df4b030df7 - documentation fixes (thanks to Uwe Hermann)
- bootstrapping changes to accomodate packaging (thanks to Uwe Hermann)


git-svn-id: svn://svn.berlios.de/openocd/trunk@182 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2007-07-26 09:34:49 +00:00
drath 290e01c62a - reformat src/jtag/bitq.c (thanks to Pavel Chromy)
- 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
2007-07-25 10:06:57 +00:00
drath 1429d2c659 - added support for Asix Presto JTAG interface (thanks to Pavel Chromy and 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
2007-07-15 11:19:33 +00:00
drath 32c6d70f6a - fixed endianness helper macros (thanks to obilix and wiml for finding and fixing this bug)
- added declarations for 32bit fileio access functions (network byte order)
- fixed bug in etm trace dump file handling
- added XScale trace buffer decoding
- fixed arm_simulator ERROR numbers (-7xx used twice)
- fixed minor bug in debug output in stellaris.c


git-svn-id: svn://svn.berlios.de/openocd/trunk@178 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2007-06-28 10:32:58 +00:00
drath 3d026ce943 - added support for pseudo image type "mem", currently only used for etm analysis: "etm image <target#> <dummy base address> mem"
git-svn-id: svn://svn.berlios.de/openocd/trunk@173 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2007-06-15 14:10:23 +00:00
drath 53d1f9b2ca - added manpage for OpenOCD (thanks to Uwe Hermann)
- fixed bug in ARM926EJ-S cache handling that caused cache linefills to be disabled after first debug entry
- added support for auto image type detection (thanks to Vincent Palatin)
- further work on ETM trace decoding (tested with a ETB interface using an ETM in normal 16-bit port mode, still experimental)



git-svn-id: svn://svn.berlios.de/openocd/trunk@169 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2007-06-14 09:47:00 +00:00
drath f94d66d7c5 - reworked image handling to support multiple sections (tested with ihex file containing gaps)
This checkin is still experimental, not recommended for general use



git-svn-id: svn://svn.berlios.de/openocd/trunk@159 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2007-05-30 15:47:18 +00:00
drath 237e894805 - split fileio handling into fileio part and image handling
- 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
2007-05-29 11:23:42 +00:00
drath 2f7eca4707 - improved ETB trace output
- 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
2007-04-26 14:41:27 +00:00
drath 22bc5194ae - added support for error handlers to JTAG scan commands (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
2007-04-25 20:15:59 +00:00
drath a48a5e6d94 - disabled excessive debug output in jtag.h
- output all of EmbeddedICE version register in error message
- update OpenOCD's idea of the current core mode, and immediately change core mode, on CPSR changes
- added support for CFI cmdset 0002 (patch by Andrew Dyer, thanks a lot)
- enhanced CFI cmdset 0002 support to Atmel AT49 flashes (thanks to Joerg Krein for providing test hardware)


git-svn-id: svn://svn.berlios.de/openocd/trunk@138 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2007-04-11 14:25:12 +00:00
drath 98da554bbd - added support for Turtelizer 2 (USB JTAG interface) (Thanks to Michael Fischer for this patch)
- fixed description of arm9tdmi vector_catch command


git-svn-id: svn://svn.berlios.de/openocd/trunk@137 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2007-03-30 09:56:31 +00:00
drath 4a5f45e87d - merged XScale branch back into trunk
- fixed some compiler warnigns in amt_jtagaccel.c, bitbang.c, parport.c
- free working area and register stuff if str7x block write algorithm failed
- check PC after exiting a target algorithm in armv4_5.c


git-svn-id: svn://svn.berlios.de/openocd/trunk@135 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2007-03-28 16:31:55 +00:00
drath 5ed126c4f9 - fixed arm926 cp15 command bug (thanks to Vincent Palatin for this patch)
- 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
2007-03-26 21:47:26 +00:00
drath cb58279653 - reworked file i/o. every fileaccess (target, flash, nand, in future 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
2007-03-15 13:36:44 +00:00