summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* add overridable Tcl "init_reset"David Brownell2009-10-081-8/+22
| | | | | | | | | | | This abstracts the "jtag arp_init-reset" call into a method called from OpenOCD startup and reset processing. Platforms which have different requirements for how such hard resets must be performed can now override "init_reset" instead of needing to rebuild custom hacked versions of the server. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* minor JTAG init messaging tweaksDavid Brownell2009-10-081-2/+4
| | | | Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* prevent abort via polling during jtag_resetDavid Brownell2009-10-083-9/+51
| | | | | | | | | | | | | Observed: openocd: core.c:318: jtag_checks: Assertion `jtag_trst == 0' failed. The issue was that nothing disabled background polling during calls from the TCL shell to "jtag_reset 1 1". Fix by moving the existing poll-disable mechanism to the JTAG layer where it belongs, and then augmenting it to always pay attention to TRST and SRST. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* Stop ignoring most scan chain validation errorsDavid Brownell2009-10-082-15/+50
| | | | | | | | | | | | | | | | Among other things this causes startup errors to kick in the fallback "reset harder" logic during server startup. Comments are also updated a bit, explaining what the various error paths signify (in at least my observation). There's one class of validation error that we can still plausibly ignore: when wrong IDCODE values are observed. This change seems to have helped make an OMAP5912 behave much more reliably. There's still some post-reset flakiness, but it's unrelated to scan verification. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
* Stop GDB when polling fails, srst assert or powerdropout is detectedØyvind Harboe2009-10-083-5/+25
|
* Update copyright statements. Make it easier to sync with Jim TclØyvind Harboe2009-10-081-1/+4
|
* Change most in-tree references from SVN to GIT.dbrownell2009-10-081-1/+3
| | | | | | | | | Also, talk about "mainline" not "trunk". The release.txt and release.sh files need more updates. git-svn-id: svn://svn.berlios.de/openocd/trunk@2825 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Force sane SRST and TRST initializationdbrownell2009-10-071-3/+11
| | | | | | | | | | | At least some FT2232 based adapters don't necessarily come up in the expected state, with SRST and TRST disabled. Since other adapters could suffer the same problem, let's avoid needing to patch every driver and just force *all* adapters to initialize those values properly at server startup. git-svn-id: svn://svn.berlios.de/openocd/trunk@2824 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Better fix for TAPs violating the JTAG spec for IR-Capture.dbrownell2009-10-071-16/+18
| | | | | | | | | | Instead of just assuming all IDCODE-deprived TAPs violate the JTAG spec (they don't!), just require TAPs with such problems to be declared with proper ircapture/irmask values. Example, with mask and value of zero. git-svn-id: svn://svn.berlios.de/openocd/trunk@2823 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Remove much #ifdeffery around _DEBUG_JTAG_IO_ usage.dbrownell2009-10-073-42/+47
| | | | | | | Have DEBUG_JTAG_IO() always trigger necessary warnings. git-svn-id: svn://svn.berlios.de/openocd/trunk@2822 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* buildfixdbrownell2009-10-071-0/+1
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2821 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Updates for "reset_config":dbrownell2009-10-073-18/+106
| | | | | | | | | | | - revert to previous default: don't talk JTAG during SRST - add "srst_nogates" flag, the converse of "srst_gates_jtag" - with no args, display the current configuration And update the User's Guide text with bullet lists to be a bit more clear. git-svn-id: svn://svn.berlios.de/openocd/trunk@2818 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* add timeouts and fix syntax error handling of mrc/mcr commands.oharboe2009-10-071-1/+2
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2815 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* add timeouts and fix syntax error handling of mrc/mcr commands.oharboe2009-10-071-18/+59
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2814 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* increase pause before reboot so web interface remains responsive when ↵oharboe2009-10-071-2/+2
| | | | | | issuing a reboot of zy1000 git-svn-id: svn://svn.berlios.de/openocd/trunk@2813 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Do not check ir capture if there is no IDCODEoharboe2009-10-071-13/+16
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2812 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* 1.55 snapshotoharboe2009-10-071-1/+1
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2810 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Change version labels to work better with GITdbrownell2009-10-072-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | - The guess-rev.sh script is now a tweaked version of "setlocalversion" as seen in Linux, U-Boot, and various other projects. When it finds source control support (git, hg, svn) it uses IDs from there. Else (specific to this project) it reports itself as "-snapshot", e.g. from gitweb. I verified this new "guess-rev.sh" script runs under Cygwin. - Also update the generic version strings to be like "0.3.0-dev" (during development) instead of the very long "0.3.0-in-development". These also show up in the PDF docs. For better tracking, we might eventually change these strings to include the version IDs too. - Change the startup banner version strings so they include the guess-rev output. Development and release versions with GIT will be like Open On-Chip Debugger 0.3.0-dev-00282-g7191a4f-dirty (2009-10-05-20:57) Open On-Chip Debugger 0.3.0 (2009-10-05-20:57) instead of the previous SVN-specific (even when using git-svn!) Open On-Chip Debugger 0.3.0-in-development (2009-10-05-01:39) svn:exported Open On-Chip Debugger 0.3.0 (2009-10-05-01:39) Release git-svn-id: svn://svn.berlios.de/openocd/trunk@2809 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Dragonite has the same EICE affliction as feroceon.dbrownell2009-10-061-1/+2
| | | | | | | From: Nicolas Pitre <nico@fluxnic.net> git-svn-id: svn://svn.berlios.de/openocd/trunk@2807 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Introduced jtag_init and "jtag arp_init" to allow target scripts more ↵oharboe2009-10-064-13/+37
| | | | | | control over how OpenOCD starts up and initializes the target. git-svn-id: svn://svn.berlios.de/openocd/trunk@2805 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Improve jtag_validate_ircapture() diagnostics.dbrownell2009-10-051-8/+10
| | | | | | | | | | | Bugfix the error message so it shows the disliked value, and add a debug message showing each TAP's IR capture value, all N bits. This just changes diagnostics ... it still ignores the parameters given to us at TAP declaration time. git-svn-id: svn://svn.berlios.de/openocd/trunk@2801 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Add a new JTAG "setup" event; use for better DaVinci ICEpick support.dbrownell2009-10-053-23/+43
| | | | | | | | | | | | | | | | | The model is that this fires after scanchain verification, when it's safe to call "jtag tapenable $TAPNAME". So it will fire as part of non-error paths of "init" and "reset" command processing. However it will *NOT* trigger during "jtag_reset" processing, which skips all scan chain verification, or after verification errors. ALSO: - switch DaVinci chips to use this new mechanism - log TAP activation/deactivation, since their IDCODEs aren't verified - unify "enum jtag_event" scripted event notifications - remove duplicative JTAG_TAP_EVENT_POST_RESET git-svn-id: svn://svn.berlios.de/openocd/trunk@2800 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Minor cleanup to ARM926 debug entry:dbrownell2009-10-051-2/+6
| | | | | | | | | | | | - don't needlessly export this function - handle "case 0" debug method-of-entry better (silent by default) The "case 0" is a valid debug entry mode so it doesn't deserve the warning int now gets. But it probably means that OpenOCD confused itself somehow; or that it confused the ARM9EJS target. git-svn-id: svn://svn.berlios.de/openocd/trunk@2799 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* It is not possible to invalidate I-Cache on memory writes while the target ↵mlu2009-10-021-0/+3
| | | | | | is running git-svn-id: svn://svn.berlios.de/openocd/trunk@2795 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Make sure that DSCR_DTR_RX is not full before writingmlu2009-10-021-0/+27
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2794 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* More error reporting in Cortex_a8 execute_opcodemlu2009-10-021-0/+6
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2793 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Added asser_reset and deassert_reset for cortex_a8mlu2009-10-021-2/+2
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2792 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Added asser_reset and deassert_reset for cortex_a8mlu2009-10-021-22/+56
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2791 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Minor ETB and ETM bugfixes and doc updatesdbrownell2009-10-022-54/+82
| | | | | | | | | | | | | | | | | | | | | - ETB * report _actual_ hardware status, not just expected status * add a missing diagnostic on a potential ETB setup error * prefix any diagnostics with "ETB" - ETM * make "etm status" show ETM hardware status too, instead of just traceport status (which previously was fake, sigh) - Docs * flesh out "etm tracemode" docs a bit * clarify "etm status" ... previously it was traceport status * explain "etm trigger_percent" as a *traceport* option ETM+ETB tracing still isn't behaving, but now I can see that part of the reason is that the ETB turns itself off almost immediately after being enabled, and before collecting any data. git-svn-id: svn://svn.berlios.de/openocd/trunk@2790 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* ARMv7A: Report fault status registers when in Abort statemlu2009-10-011-0/+23
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2789 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Add DSCR_DTR_RX_FULL bit definemlu2009-09-301-0/+1
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2780 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Streamline Capture-IR validation codedbrownell2009-09-291-26/+23
| | | | | | | | | | | | | | | | | - Don't issue needless JTAG resets ... only do them after errors. Normal exit now leaves every TAP in BYPASS. - Fix an unlikely memory leak on one fault path. - Remove the oddball limitation that invalid capture LSBs trigger errors only for TAPs that support IDCODE. Re the JTAG reset: there are too many of them, and they can (and do!) change system state. So the needless ones should get removed. This one was especially pointless. git-svn-id: svn://svn.berlios.de/openocd/trunk@2777 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* ARM11 command handling fixesdbrownell2009-09-291-41/+41
| | | | | | | | | | | - Commands were supposed to have been "arm11 memwrite ..." not "memwrite ..." - Get rid of obfuscatory macros - Re-alphabetize - Add docs for "arm11 vcr" git-svn-id: svn://svn.berlios.de/openocd/trunk@2776 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Make "-expected-id 0" suppress warnings; not unlike it used to do.dbrownell2009-09-291-3/+7
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2775 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* ETM: fix build issue on MinGW.dbrownell2009-09-291-20/+21
| | | | | | | The Win32 global namespace is rather cluttered... git-svn-id: svn://svn.berlios.de/openocd/trunk@2773 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* ETB: cleanup needless symbol exports and forward decls.dbrownell2009-09-292-40/+35
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2772 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* handle single threadingoharboe2009-09-291-14/+34
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2771 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* reentry assertoharboe2009-09-291-0/+7
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2770 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* httpd smoketest infooharboe2009-09-291-4/+19
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2769 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* added t/nsrst_assert_width commandsoharboe2009-09-293-0/+72
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2768 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* if srst pulls trst, then set state to TAP_RESET. oharboe2009-09-281-3/+11
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2767 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Shrink symbols exported from arm9tdmi.c and remove a forward ref.dbrownell2009-09-281-35/+38
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2765 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Update FT2232 driver so that it reliably enters TAP_RESET.dbrownell2009-09-271-2/+10
| | | | | | | | | | | | | | | | When the OpenOCD server starts up it records its state as TAP_RESET, even though it could be anything. Then when it starts to examine the scan chain, it calls jtag_add_tlr() which sees it doesn't have any work to do, and so it does nothing. This can make the next operations fail because they start from the wrong TAP state... Instead of caring about the current recorded state, always enter TAP_RESET by forcing five clocks with TMS high. (NOTE: it seems most other JTAG adapter drivers have this same bug.) git-svn-id: svn://svn.berlios.de/openocd/trunk@2763 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Diagnostics tweaks for jtag_examine_chain() failure paths.dbrownell2009-09-261-3/+4
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@2760 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Updates to the initial scanchain validation code:dbrownell2009-09-262-13/+42
| | | | | | | | | | | - minor bug fixes - code cleanup - update comments - improve diagnostics - etc git-svn-id: svn://svn.berlios.de/openocd/trunk@2759 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Streamline Capture-IR handling and integrity test.dbrownell2009-09-261-12/+22
| | | | | | | | | | | | | | | | | | | | Change the handling of the "-ircapture" and "-irmask" parameters to be slightly more sensible, given that the JTAG spec describes what is required, and that we already require that conformance in one place. IR scan returns some bitstring with LSBs "01". - First, provide and use default values that satisfy the IEEE spec. Existing TAP configs will override the defaults, but those parms are no longer required. - Second, warn if any TAP gets set up to violate the JTAG spec. It's likely a bug, but maybe not; else this should be an error. Improve the related diagnostics to say which TAP is affected. And associated minor fixes/cleanups to comments and diagnostics. git-svn-id: svn://svn.berlios.de/openocd/trunk@2758 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Try/catch scheme. Typed up the functionality and regression tested.oharboe2009-09-252-9/+100
| | | | | | Ready for discussion and tiny patches that tries out this scheme. git-svn-id: svn://svn.berlios.de/openocd/trunk@2755 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* When attaching GDB to OpenOCD, the target state is no longer affected.oharboe2009-09-242-28/+68
| | | | | | | | | Added gdb_sync feature that allows GDB to sync up to target state. Issue "monitor gdb_sync" and the next stepi, will return immediately with updated register values to GDB. git-svn-id: svn://svn.berlios.de/openocd/trunk@2754 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Start handling the (second) SRST stage of reset better:dbrownell2009-09-231-6/+11
| | | | | | | | | | | make sure that when there are two or more targets, their various pre/post event reports are correctly ordered. Previously, only the first target always saw its "pre" method before SRST was asserted or deasserted. git-svn-id: svn://svn.berlios.de/openocd/trunk@2753 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* When setting up an ETM, cache its ETM_CONFIG register. Thendbrownell2009-09-232-51/+178
| | | | | | | | | | | | | | | | | | | | | | | | | only expose the registers which are actually present. They could be missing for two basic reasons: - This version might not support them at all; e.g. ETMv1.1 doesn't have some control/status registers. (My sample of ARM9 boards shows all with ETMv1.3 support, FWIW.) - The configuration on this chip may not populate as many registers as possible; e.g. only two data value comparators instead of eight. Includes a bugfix in the "etm info" command: only one of the two registers is missing on older silicon, so show the first one before bailing. Update ETM usage docs to explain that those registers need to be written to configure what is traced, and that some ETM configs are not yet handled. Also, give some examples of the kinds of constrained trace which could be arranged. git-svn-id: svn://svn.berlios.de/openocd/trunk@2752 b42882b7-edfa-0310-969c-e2dbd0fdcd60