Commit Graph

1902 Commits

Author SHA1 Message Date
zwelch b11a5b07c6 Submitted by Magnus Lundin <lundin@mlu.mine.nu>:
Updates to the J-Link interface driver to support more device versions:
- Add capability detection:
  - if capable, detect protocol version; otherwise, assume v2 protocol.
  - if capable, detect buffer size; otherwise, assume minimal.
- Disable command result queries for devices using v2 protocol.
- Defined and use JTAG2 command with v2 protocol; JTAG3 is v3 protocol.
- Add TCL command to allow explicit setting of J-Link protocol version.

With approval, I revised the patch to make the following changes:
- add static keywords to new jlink-specific variables
- factor calculation of major_version to be more readable
- remove braces around simple one-line statements in if/else clauses
- remove (rather than #if 0) duplicate reset code; it is in SVN
- use &function to be clearer when passing function pointers
- add symbols for EMU_CMD_GET_CAPS bits; do not hard-code constants!
- almost renamed jlink_handle_jlink_hw_jtag_command  (seriously?!?!)
  - rewrote that function using a switch statement.
  - made version request processing easier to understand and modify
- improve alternate endpoint detection:
  - make code easier to read by using temporary variables
  - eliminate extra level of indentation and redundant logging
- use ternary conditional to select JTAG2 or JTAG3 command
- reverse version test in jlink_usb_message to reduce indentation
  - this had the biggest effect in cleaning up this patch
- use C99's ability to declare new/changed variables with less scope
- add spaces around binary operators in new/changed code
- revert other superfluous whitespace/comment style changes


git-svn-id: svn://svn.berlios.de/openocd/trunk@1889 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-23 03:42:13 +00:00
zwelch 96d3de002d More printf fixes stemming from format string change in r1882.
git-svn-id: svn://svn.berlios.de/openocd/trunk@1888 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-23 01:25:39 +00:00
zwelch 7d96440435 Change doxygen configuration to show code comments in documentation.
git-svn-id: svn://svn.berlios.de/openocd/trunk@1887 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-23 00:51:13 +00:00
kc8apf aaa6dd927f Author: Raúl Sánchez Siles <rsanchezs@infoglobal.es>
- Fix multi-byte reads on x16 devices used as x8


git-svn-id: svn://svn.berlios.de/openocd/trunk@1886 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-22 17:49:28 +00:00
kc8apf c48ad46aa3 Author: Raúl Sánchez Siles <rsanchezs@infoglobal.es>
- Fix calculation of flash_address for x16 devices used as x8


git-svn-id: svn://svn.berlios.de/openocd/trunk@1885 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-22 17:48:26 +00:00
kc8apf da5c37517a Author: Raúl Sánchez Siles <rsanchezs@infoglobal.es>
- Consistently use flash_address


git-svn-id: svn://svn.berlios.de/openocd/trunk@1884 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-22 17:47:07 +00:00
kc8apf c78ad57bb7 Author: David Brownell <david-b@pacbell.net>
Remove un-implemented and dubious "nand copy" command.

Doing this efficiently would mean doing the copying on
the target CPU, instead of back and forth through JTAG.
If anyone ever needs this functionality, that's what
they should implement.

Also, update on-line "help" for "nand dump" to display
its two optional flags; and for "nand write" to display
a recently added flag.



git-svn-id: svn://svn.berlios.de/openocd/trunk@1883 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-22 17:44:04 +00:00
kc8apf 1be7374c28 Author: Rick Altherr <kc8apf@kc8apf.net>
- printf conversion fixes for variably-sized types


git-svn-id: svn://svn.berlios.de/openocd/trunk@1882 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-22 17:41:54 +00:00
zwelch 3d0b474da9 Submitted by David Brownell <david-b@pacbell.net>:
Improve support for the DM355 EVM board, and eventually other boards based
on DaVinci chips:

 - Provide generic "davinci.cfg" to hold utilities that can be reused by
   different chips in this family.  Start with PINMUX, PSC, and PLL setup.

 - DM355 chip support updates:  provide a dictionary with chip-specific
   symbols, load those utilities.

 - Create a new dm355evm board file, with a reset-init event handler
   which uses those utilities to set up PLLs and clocks, configure the
   pins, and improve the JTAG speed limit.

Also a minor tweak:  provide a virtual address for the work area, matching
what the very latest kernels do.  It's probably unwise to use OpenOCD while
the MMU is active though.

The DRAM isn't yet accessible, but NAND access is mostly ready.


git-svn-id: svn://svn.berlios.de/openocd/trunk@1881 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-22 02:32:31 +00:00
zwelch ebd3f88798 Submitted by Dean Glazeski <dnglaze@gmail.com>:
Add doxygen comments in arm7_9_common source and header files.


git-svn-id: svn://svn.berlios.de/openocd/trunk@1880 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-22 02:27:30 +00:00
zwelch 61c77af0ab Submitted by David Brownell <david-b@pacbell.net>:
Add a "NAND Commands" section to to the TEXI docs, covering the basic
commands except for those previously discussed as being due for removal
("nand copy") or switching to use byte offsets not block numbers.

This uses the "@deffn..." syntax for defining commands, as somewhat
suggested by the TEXI documentation, and adds a new "Command Index".
We might prefer to merge those indexes for the near term, but I think
the "@deffn" approch is probably worth switching to.

Updates a few other bits to clarify that "flash" doesn't just mean NOR.  
And to fix one niggling falsity:  the "reset-init" event *is* used, and
in fact it's quite important.


git-svn-id: svn://svn.berlios.de/openocd/trunk@1879 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-22 02:25:18 +00:00
oharboe 2f8c6015ba delete unused code
git-svn-id: svn://svn.berlios.de/openocd/trunk@1878 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-21 17:44:04 +00:00
oharboe 576b8a8a48 fix warning. Use %p for pointers
git-svn-id: svn://svn.berlios.de/openocd/trunk@1877 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-21 17:42:19 +00:00
kc8apf 0ce234491a Author: Michael Bruck <mbruck@digenius.de>
-jtag.c, interface_jtag_add_ir_scan() [2/2] (version without goto):
    	- change 'found' to bool
    	- add comments on loops



git-svn-id: svn://svn.berlios.de/openocd/trunk@1876 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-21 17:20:05 +00:00
oharboe e2abb325df Dirk Behme <dirk.behme@googlemail.com> Minor updates for OMAP3 scripts
git-svn-id: svn://svn.berlios.de/openocd/trunk@1875 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-21 16:15:41 +00:00
zwelch 08c11a4c70 Additional format warning fixes in ioutil, required by r1873 changes.
git-svn-id: svn://svn.berlios.de/openocd/trunk@1874 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-21 09:49:19 +00:00
zwelch 570631454d David Brownell <david-b@pacbell.net>: This patch adds annotations to
the key command_*() helper functions, fixng the bugs that turned up.

Several of these bugs were from misuse of PRIi64; that's for 64-bit
integers, NOT for "long long" or "u64" (which work best with %lld).


git-svn-id: svn://svn.berlios.de/openocd/trunk@1873 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-21 09:28:57 +00:00
kc8apf 5982d4eca8 Author: David Brownell <david-b@pacbell.net>
- Update PATCHES to better describe the policies in place


git-svn-id: svn://svn.berlios.de/openocd/trunk@1872 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-21 05:46:29 +00:00
kc8apf 988d6a49a9 Author: Thomas Kindler <mail@t-kindler.de>
- Increase DTC status retry count to avoid problems with STM Primer


git-svn-id: svn://svn.berlios.de/openocd/trunk@1871 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-21 05:33:36 +00:00
kc8apf 4b992717b5 Author: Øyvind Harboe <oyvind.harboe@zylin.com>
- Allow target_read/write_buffer of size 0


git-svn-id: svn://svn.berlios.de/openocd/trunk@1870 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-21 05:12:32 +00:00
kc8apf 869ef01f3c Author: Holger Schurig <hs4233@mail.mn-solutions.de>
-Prevent freezing of target when doing a 'shutdown'.


git-svn-id: svn://svn.berlios.de/openocd/trunk@1869 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-21 05:07:06 +00:00
kc8apf 788cad7244 Author: Michael Bruck <mbruck@digenius.de>
-jtag.c, interface_jtag_add_ir_scan() [1/2]:
    	- remove temporary scan_size and use tap->ir_length instead
    	- slight loop restructuring to reduce indentation level




git-svn-id: svn://svn.berlios.de/openocd/trunk@1868 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-21 04:54:38 +00:00
kc8apf 73e31653fc Author: Michael Bruck <mbruck@digenius.de>
-jtag.c, interface_jtag_add_dr_out():
        - use pointer 'field' instead of scan->fields[field_count]
        - restructure the main loop to clearly separate the two cases: TAP is not bypassed / TAP is bypassed
          (this is to keep the function similar to interface_jtag_add_dr_scan())
        - fix bug where only the first output field has its tap field set
        - add asserts to verify that target_tap points to the one not bypassed TAP



git-svn-id: svn://svn.berlios.de/openocd/trunk@1867 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-21 04:53:07 +00:00
kc8apf e007342669 Author: Michael Bruck <mbruck@digenius.de>
-jtag.c, interface_jtag_add_dr_scan():
            - use pointer 'field' instead of scan->fields[field_count]
            - restructure the main loop to clearly separate the two cases: TAP is not bypassed / TAP is bypassed
            - add an assert that each non-bypassed TAP receives at least one field
            - add an assert that checks that no superfluous input fields were passed



git-svn-id: svn://svn.berlios.de/openocd/trunk@1866 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-21 04:50:00 +00:00
kc8apf 7e3fd48b6a Author: Michael Bruck <mbruck@digenius.de>
-jtag.c, interface_jtag_add_ir_scan():
        - use pointer 'field' instead of scan->fields[nth_tap]
        - add assertion to ensure that input data has correct size for TAP's IR



git-svn-id: svn://svn.berlios.de/openocd/trunk@1865 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-21 04:48:15 +00:00
kc8apf d7dccfbf82 Author: Michael Bruck <mbruck@digenius.de>
- jtag.c: consolidate output scan field initialization in scan functions
    - jtag.c: add cmd_queue_scan_field_clone() to handle 1:1 field copies
    - jtag.c: fix bug where only the first output field in a dr scan has its tap field set



git-svn-id: svn://svn.berlios.de/openocd/trunk@1864 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-21 04:45:57 +00:00
kc8apf 2783a940e2 Author: Michael Bruck <mbruck@digenius.de>
- jtag.c: remove unused variable 'nth_tap' from DR scan functions



git-svn-id: svn://svn.berlios.de/openocd/trunk@1863 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-21 04:43:48 +00:00
kc8apf 8cb3e95b39 Author: Michael Bruck <mbruck@digenius.de>
- jtag.c: Use single 'for' statement to iterate over list of TAPs in scan functions



git-svn-id: svn://svn.berlios.de/openocd/trunk@1862 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-21 04:43:01 +00:00
kc8apf 3bc0997e28 Author: Michael Bruck <mbruck@digenius.de>
- jtag.c: consolidate all memory allocations in scan functions in one block, add out_fields pointer to set stage for further changes



git-svn-id: svn://svn.berlios.de/openocd/trunk@1861 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-21 04:41:50 +00:00
kc8apf f96077ec8d Author: Michael Bruck <mbruck@digenius.de>
- add 'const' qualifier to function parameters in jtag.c that are not to be modified or freed by the function



git-svn-id: svn://svn.berlios.de/openocd/trunk@1860 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-21 04:39:41 +00:00
kc8apf d14b6ca015 Author: Michael Bruck <mbruck@digenius.de>
- add doxygen comments to scan commands in jtag.c
    - move jtag_add_dr_scan next to interface_jtag_add_dr_scan to keep these function pairs together




git-svn-id: svn://svn.berlios.de/openocd/trunk@1859 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-21 04:37:31 +00:00
zwelch e666807a6f Add 'docs' and 'doxygen' targets to top-level Makefile.
git-svn-id: svn://svn.berlios.de/openocd/trunk@1858 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-20 20:52:14 +00:00
zwelch 8686a33807 Add initial OpenOCD server documentation (Duane Ellis and myself).
git-svn-id: svn://svn.berlios.de/openocd/trunk@1857 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-20 09:01:01 +00:00
zwelch 5a080c8f6e Add new TCL Primer under the main Technical Primer page.
git-svn-id: svn://svn.berlios.de/openocd/trunk@1856 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-20 08:58:09 +00:00
zwelch c46dc5ba2d Move TCL overview from source tree to doxygen manual.
git-svn-id: svn://svn.berlios.de/openocd/trunk@1855 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-20 08:48:19 +00:00
zwelch 5545aca4d7 Fix doc/Makefile.am dist-hook to include all sections of manual.
git-svn-id: svn://svn.berlios.de/openocd/trunk@1854 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-20 08:44:37 +00:00
zwelch ed294121ef Move non-arm target overview from source tree to doxygen manual.
git-svn-id: svn://svn.berlios.de/openocd/trunk@1853 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-20 08:43:18 +00:00
zwelch 2cca6fcb8b Move scripting overview from source tree to doxygen manual.
git-svn-id: svn://svn.berlios.de/openocd/trunk@1852 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-20 08:16:50 +00:00
oharboe 64faff8f9c Spencer Oliver <spen@spen-soft.co.uk> use 7 tms out of reset
git-svn-id: svn://svn.berlios.de/openocd/trunk@1851 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-20 06:18:40 +00:00
kc8apf 30268bc40f Author: Spencer Oliver <spen@spen-soft.co.uk>
- Bring the mips step/resume interrupt handling inline with the
rest of openocd.


git-svn-id: svn://svn.berlios.de/openocd/trunk@1850 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-20 05:07:34 +00:00
kc8apf b7b0452517 Author: Michael Bruck <mbruck@digenius.de>
- simplify code in interface_jtag_add_plain_dr_scan() by adding a local variable 'scan' to hold the scan_command_t



git-svn-id: svn://svn.berlios.de/openocd/trunk@1849 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-20 04:55:01 +00:00
kc8apf 1ed16c57bc Author: Michael Bruck <mbruck@digenius.de>
- move scan_size in interface_jtag_add_dr_out() into the scope of the inner loop and change it to unsigned
    - move loop variable j into for scope



git-svn-id: svn://svn.berlios.de/openocd/trunk@1848 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-20 04:54:15 +00:00
kc8apf 955d6af47a Author: Michael Bruck <mbruck@digenius.de>
- simplify code in interface_jtag_add_dr_out() by adding a local variable 'scan' to hold the scan_command_t



git-svn-id: svn://svn.berlios.de/openocd/trunk@1847 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-20 04:53:34 +00:00
kc8apf 645bde6e57 Author: Michael Bruck <mbruck@digenius.de>
- move scan_size in interface_jtag_add_dr_scan() into the scope of the inner loop and change it to unsigned



git-svn-id: svn://svn.berlios.de/openocd/trunk@1846 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-20 04:53:00 +00:00
kc8apf fe54d5f5e6 Author: Michael Bruck <mbruck@digenius.de>
- simplify code in interface_jtag_add_dr_scan() by adding a local variable 'scan' to hold the scan_command_t



git-svn-id: svn://svn.berlios.de/openocd/trunk@1845 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-20 04:52:26 +00:00
kc8apf 044e3a4904 Author: Michael Bruck <mbruck@digenius.de>
- simplify code in interface_jtag_add_plain_ir_scan() by adding a local variable 'scan' to hold the scan_command_t



git-svn-id: svn://svn.berlios.de/openocd/trunk@1844 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-20 04:51:46 +00:00
kc8apf c1b397e48c Author: Michael Bruck <mbruck@digenius.de>
- move scan_size in interface_jtag_add_ir_scan() into the scope of the inner loop and change it to unsigned



git-svn-id: svn://svn.berlios.de/openocd/trunk@1843 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-20 04:51:08 +00:00
kc8apf 8632901e7d Author: Michael Bruck <mbruck@digenius.de>
- simplify code in interface_jtag_add_ir_scan() by adding a local variable 'scan' to hold the scan_command_t




git-svn-id: svn://svn.berlios.de/openocd/trunk@1842 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-20 04:49:53 +00:00
kc8apf 98e3541333 Author: Michael Bruck <mbruck@digenius.de>
- rename local variable x to num_taps in interface_jtag_add_ir_scan



git-svn-id: svn://svn.berlios.de/openocd/trunk@1841 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-20 04:48:11 +00:00
kc8apf 5c9c7af198 Author: Michael Bruck <mbruck@digenius.de>
- rename input parameters 'num_fields' and 'fields' to 'in_num_fields' and 'in_fields' in all jtag.c interface functions



git-svn-id: svn://svn.berlios.de/openocd/trunk@1840 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-20 04:47:20 +00:00