summaryrefslogtreecommitdiff
path: root/src/target/arm7_9_common.c
Commit message (Collapse)AuthorAgeFilesLines
* Hongtao Zheng - add simulation because previous functions could not halt for ↵oharboe2008-10-271-16/+62
| | | | | | instructions that next pc equal to the current pc. git-svn-id: svn://svn.berlios.de/openocd/trunk@1105 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* more robust error reporting for DCCoharboe2008-10-161-0/+4
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1068 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Laurentiu Cocanu - memory read/write and exit() error path fixesoharboe2008-10-151-10/+37
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1064 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Laurentiu Cocanu - add error handlingoharboe2008-10-141-56/+198
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1057 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Fix problems with DCC downloads routine crashing silently.oharboe2008-10-121-62/+66
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1040 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* abort writing algorithm to target upon failureoharboe2008-10-091-1/+6
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1037 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* GDB alive fixes for verify_imageoharboe2008-10-031-18/+35
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1014 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - added myself to copyright on files i remember adding large contributions ↵ntfreak2008-09-201-1/+4
| | | | | | | | | 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
* duan ellis target tcl work in progressoharboe2008-08-241-3/+7
| | | | | | | | 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
* fix BUG: keep_alive() error messagesoharboe2008-08-201-12/+34
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@949 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* added some alive_sleep()'soharboe2008-08-191-1/+1
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@940 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* feroceon updated w.r.t. latest arm7/9 changesoharboe2008-08-141-4/+5
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@921 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* arm7/9 breakpoint cleanup. arm7_9 sw/hw commands retired. openocd.texi is ↵oharboe2008-08-141-268/+117
| | | | | | alerady updated. git-svn-id: svn://svn.berlios.de/openocd/trunk@920 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* gaffe in previous commit fixed. "reset run" now works again for arm7/9oharboe2008-08-051-1/+1
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@891 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* halting srst_pulls_trst targets is now snappier and has explicit warning.oharboe2008-08-051-0/+12
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@889 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* define resetting the target into the halted or runningoharboe2008-08-051-27/+8
| | | | | | state as an atomic operation. git-svn-id: svn://svn.berlios.de/openocd/trunk@888 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* moves handling of problems with resetting into the halted stateoharboe2008-08-051-1/+21
| | | | | | | | | | | | 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
* allow minidrivers to implement inner loop of dcc memory writesoharboe2008-07-281-362/+348
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@879 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* added yours sincerely for files where I feel that I've made non-trivial ↵oharboe2008-07-251-0/+3
| | | | | | contributions. git-svn-id: svn://svn.berlios.de/openocd/trunk@872 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - jtag_khz/speed are now single parameter only. These are usedoharboe2008-07-211-2/+2
| | | | | | | | | | | | | | | | | | | | | 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
* clarify error message w.r.t. not being able to set breakpointoharboe2008-07-191-2/+2
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@836 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - fix reset_halt issue with certain arm cores - address not set in embedded ↵ntfreak2008-06-251-9/+14
| | | | | | | | | ice reg - Thanks Jonas Hörberg git-svn-id: svn://svn.berlios.de/openocd/trunk@727 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Spen spotted a bug in warning for missing srst_pulls_trstoharboe2008-06-181-3/+3
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@714 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Nicolas Pitre: Feroceon fixesoharboe2008-06-061-3/+21
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@705 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* - moved flash erase_check target code to target.cntfreak2008-05-271-0/+63
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@694 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* moved srst_pulls_trst check into arm7_9_common.c. Not tested yet, if it is ↵oharboe2008-05-211-0/+23
| | | | | | broken it should "only" print bogus warnings or not print a warning when it should have. git-svn-id: svn://svn.berlios.de/openocd/trunk@670 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Edgar Grimberg fixes some memory handling issues andoharboe2008-05-201-1/+1
| | | | | | a problem with arm7_9_debug_entry not executing a code path upon crashes. git-svn-id: svn://svn.berlios.de/openocd/trunk@669 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Fix crash when mode number fetched from the target is invalid.oharboe2008-05-191-0/+28
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@667 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* 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