Commit Graph

132 Commits

Author SHA1 Message Date
oharboe 4eadb146c1 file not found SEGFAULT fix
git-svn-id: svn://svn.berlios.de/openocd/trunk@1030 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-10-08 11:06:44 +00:00
oharboe 7fd9ba22ba Centralize error handling for buggy register handling
git-svn-id: svn://svn.berlios.de/openocd/trunk@1019 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-10-06 12:09:27 +00:00
oharboe 316c9b9698 GDB alive fixes for verify_image
git-svn-id: svn://svn.berlios.de/openocd/trunk@1014 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-10-03 13:25:33 +00:00
oharboe f9a3c36cf2 fix noise in gdb console when single stepping. Remove printing of log before processing halted event.
git-svn-id: svn://svn.berlios.de/openocd/trunk@994 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-09-24 09:43:31 +00:00
ntfreak 68c598e88d - added myself to copyright on files i remember adding large contributions for over the years
- cleaned up headers to match rest of code
- added missing svn props for previously added files

git-svn-id: svn://svn.berlios.de/openocd/trunk@987 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-09-20 10:50:53 +00:00
oharboe d28931c2d4 follow up to keep_alive() fix. process target events before returning from reset procedure.
git-svn-id: svn://svn.berlios.de/openocd/trunk@986 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-09-12 10:53:10 +00:00
oharboe 9b6853bc4c - Fixed regression introduced in 890 when "fixing warnings" for target_call_timer_callbacks_now().
target_call_timer_callbacks_now() did the same as target_call_timer_callbacks().

- Reduced keep_alive()'s job to only deal with GDB keep  alive problems.

git-svn-id: svn://svn.berlios.de/openocd/trunk@985 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-09-12 07:09:38 +00:00
oharboe 0ae7f962f8 Duane Ellis: target_process_reset is now implemented in tcl. This allows better control from target configuration scripts.
git-svn-id: svn://svn.berlios.de/openocd/trunk@984 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-09-12 06:56:00 +00:00
oharboe 2ccb9ed44c fixed keep_alive fix gaffe introduce in previous commit.
git-svn-id: svn://svn.berlios.de/openocd/trunk@983 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-09-08 12:14:33 +00:00
oharboe a5c4ef92b0 Duane Ellis has made highly non-trivial changes to both the target handling and command system.
git-svn-id: svn://svn.berlios.de/openocd/trunk@977 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-09-01 21:22:20 +00:00
oharboe 5ac8036b7f Removed target->reset_mode, no longer used
git-svn-id: svn://svn.berlios.de/openocd/trunk@976 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-09-01 07:24:14 +00:00
oharboe ef1cfb2394 Duane Ellis: "target as an [tcl] object" feature.
git-svn-id: svn://svn.berlios.de/openocd/trunk@975 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-09-01 07:20:21 +00:00
oharboe 7df08fc385 fixed gaffe in last release w/target number.
git-svn-id: svn://svn.berlios.de/openocd/trunk@965 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-08-25 11:30:46 +00:00
oharboe 8d73c2a9b0 duan ellis target tcl work in progress
converts a number of 'simple string lookup tables' into NVP tables.
  These NVP tables will be used by various commands coming in the next patch.


git-svn-id: svn://svn.berlios.de/openocd/trunk@962 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-08-24 18:20:49 +00:00
drath 2feac34e3f - fix a off-by-one error in the buffer read/write code that checks for a address wrap
git-svn-id: svn://svn.berlios.de/openocd/trunk@957 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-08-22 12:08:47 +00:00
oharboe c4567145ae fix BUG: keep_alive() error messages
git-svn-id: svn://svn.berlios.de/openocd/trunk@949 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-08-20 07:14:45 +00:00
oharboe ea0270e38e make target_wait_state() usable from other places, made LOG_USER() output LOG_DEBUG() output. Avoids flooding logs in certain cases and OpenOCD will output error message if the halt fails.
git-svn-id: svn://svn.berlios.de/openocd/trunk@944 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-08-19 16:42:58 +00:00
oharboe 0960cbeedd added some alive_sleep()'s
git-svn-id: svn://svn.berlios.de/openocd/trunk@940 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-08-19 13:53:43 +00:00
oharboe c45225dd11 propagate error code in case of "reset" failing.
git-svn-id: svn://svn.berlios.de/openocd/trunk@906 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-08-11 10:31:13 +00:00
oharboe bd85f16e39 default reset in help text - run
git-svn-id: svn://svn.berlios.de/openocd/trunk@900 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-08-08 08:37:41 +00:00
ntfreak ce16ff901c - fix target_examine declaration
- remove build warnings
- added --enable-gccwarnings to docs
- update mips_m4k_examine function

git-svn-id: svn://svn.berlios.de/openocd/trunk@893 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-08-06 14:36:37 +00:00
oharboe f370d70670 Duane Ellis: fix warnings
git-svn-id: svn://svn.berlios.de/openocd/trunk@890 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-08-05 12:27:18 +00:00
oharboe 1829361253 define resetting the target into the halted or running
state as an atomic operation.

git-svn-id: svn://svn.berlios.de/openocd/trunk@888 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-08-05 07:11:12 +00:00
oharboe 3a48961820 moves handling of problems with resetting into the halted state
into the target implementation.

Also target_process_reset() is now simpler and has error handling,
e.g. if assert reset fails, then target_process_reset() will propagate
that error.

cmd_ctx was passed in to examine(), which is wrong - removed that.

git-svn-id: svn://svn.berlios.de/openocd/trunk@887 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-08-05 06:18:26 +00:00
oharboe 75ba7397b2 wait up to 1 second for halted state upon reset init/halt.
git-svn-id: svn://svn.berlios.de/openocd/trunk@884 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-31 15:52:01 +00:00
oharboe 0f18744a87 fixed gaffe mea culpa
git-svn-id: svn://svn.berlios.de/openocd/trunk@878 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-28 14:25:03 +00:00
oharboe e2b6de3d66 retired reset run_and_init/halt
git-svn-id: svn://svn.berlios.de/openocd/trunk@877 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-28 06:08:05 +00:00
oharboe b82a189c4e add check for target_read/write_buffer 32 bit wrap.
git-svn-id: svn://svn.berlios.de/openocd/trunk@875 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-26 19:12:30 +00:00
ntfreak 53590217ee - merged mips target into svn trunk
git-svn-id: svn://svn.berlios.de/openocd/trunk@874 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-26 10:32:11 +00:00
oharboe 6f0000e5ce minimum address and maximum length argument to load_image. Used in lieu of reset init script when executable w/reset init sequence is available.
git-svn-id: svn://svn.berlios.de/openocd/trunk@873 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-25 14:09:00 +00:00
oharboe 526fe3d83e added yours sincerely for files where I feel that I've made non-trivial contributions.
git-svn-id: svn://svn.berlios.de/openocd/trunk@872 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-25 06:54:17 +00:00
oharboe 06d501a192 wait 500ms for target to halt upon connect.
git-svn-id: svn://svn.berlios.de/openocd/trunk@865 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-24 06:07:55 +00:00
ntfreak bf58fe6509 - fix typo
git-svn-id: svn://svn.berlios.de/openocd/trunk@862 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-23 20:18:56 +00:00
oharboe dfbb9f3e89 - jtag_khz/speed are now single parameter only. These are used
from pre/post_reset event scripts. Adding the second parameter was
a mistake seen in retrospect. this gives precise control in post_reset
for *when* the post reset speed is set. The pre_reset event was
added *after* the second parameter to jtag_khz/speed
- the target implementations no longer gets involved in the reset mode
scheme. Either they reset a target into a halted mode or not.
target_process_reset()
detects if the reset halt failed or not.
- tcl target event names are now target_N_name.  Mainly internal
at this early stage, but best to get the naming right now.
- added hardcoded reset modes from gdb_server.c. I don't know precisely what
these defaults should be or if it should be made configurable. Perhaps some
hardcoded defaults will do for now and it can be made configurable later.
- bugfix in cortex_m3.c for reset_run_and_xxx?
- issue syntax error upon obsolete argument in target command instead of
printing message that will surely drown in the log

git-svn-id: svn://svn.berlios.de/openocd/trunk@849 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-21 15:59:41 +00:00
oharboe 6c0553c8c5 openocd@duaneellis.com fix naming confusion. Use ocd_ prefix for ocd API consistently.
git-svn-id: svn://svn.berlios.de/openocd/trunk@839 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-20 17:04:58 +00:00
oharboe 35e84a2a25 "reset" without arguments now execute a "reset run".
the reset mode argument to the target command is deprecated(ignored w/error message).

git-svn-id: svn://svn.berlios.de/openocd/trunk@832 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-18 14:43:29 +00:00
ntfreak 60ba4476df - fix incorrectly registered function openocd_array2mem
- removed unused variables
- reformatted lpc288x.[ch]
- fixed helper/Makefile.am dependencies
- add correct svn props to added files

git-svn-id: svn://svn.berlios.de/openocd/trunk@829 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-18 11:38:23 +00:00
oharboe 722fcb8d61 resume is now asynchronous
git-svn-id: svn://svn.berlios.de/openocd/trunk@828 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-18 11:18:35 +00:00
oharboe 94e75e0c06 1. GDB will print cryptic error messages if it is not fed keep-alive packets
within the last 2000ms.

To fix this, add keep_alive() if you are spending >1000ms in an algorithm
thus holding up the server loop.

target_call_timer_callbacks() invokes keep_alive().

2. post_reset script is now executed at normal JTAG speed and not
reset speed.

3. Resume is now synchronous again. Hopefully it will work this time.



git-svn-id: svn://svn.berlios.de/openocd/trunk@826 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-18 10:20:10 +00:00
oharboe 679592d42e Charles Hardin <ckhardin@gmail.com> move tcl stuff nearer to where it belongs.
git-svn-id: svn://svn.berlios.de/openocd/trunk@824 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-18 06:24:57 +00:00
ntfreak 6af107855d - reverted resume_target to old behaviour
git-svn-id: svn://svn.berlios.de/openocd/trunk@817 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-17 07:15:14 +00:00
oharboe 396d73ad0c better error messages for target event scripts.
git-svn-id: svn://svn.berlios.de/openocd/trunk@810 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-16 07:22:17 +00:00
ntfreak a6a65f17f3 - only check normal resume, not debug resume
git-svn-id: svn://svn.berlios.de/openocd/trunk@777 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-09 12:46:40 +00:00
ntfreak 876297c25c - target_resume is now synchronous with 5sec timeout
git-svn-id: svn://svn.berlios.de/openocd/trunk@775 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-09 10:33:30 +00:00
oharboe f0f5157e09 tcl regression fixes.
git-svn-id: svn://svn.berlios.de/openocd/trunk@774 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-08 16:05:59 +00:00
ntfreak 6ed75d476e - removed target_process_events as only used in handle_resume_command and events will be called anyway by poll
git-svn-id: svn://svn.berlios.de/openocd/trunk@772 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-08 11:19:03 +00:00
ntfreak 46b3e72528 - fix pre_resume script not being called
git-svn-id: svn://svn.berlios.de/openocd/trunk@771 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-08 10:49:58 +00:00
oharboe 9103bbbcb5 reset event is synonym for post_reset event.
git-svn-id: svn://svn.berlios.de/openocd/trunk@769 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-07 21:06:22 +00:00
ntfreak 655e4f88a6 - fixed build issues with win32
- fixed build warnings for last commit
- set svn props for last commit

git-svn-id: svn://svn.berlios.de/openocd/trunk@760 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2008-07-06 23:22:17 +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