summaryrefslogtreecommitdiff
path: root/src/jtag
Commit message (Collapse)AuthorAgeFilesLines
* Submitted by Magnus Lundin <lundin@mlu.mine.nu>:zwelch2009-05-231-4/+0
| | | | | | | - Remove FTDI driver tap_set_state call; performed by jtag_add_reset. git-svn-id: svn://svn.berlios.de/openocd/trunk@1893 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Submitted by Magnus Lundin <lundin@mlu.mine.nu>:zwelch2009-05-231-1/+2
| | | | | | | | | - Add jtag_execute_queue in jtag_add_reset after interface_jtag_add_reset. - Use tap_set_state to demark TAP_RESET, instead of cmd_queue_cur_state - cmd_queue_cur_state needs to be retired. git-svn-id: svn://svn.berlios.de/openocd/trunk@1892 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Submitted by Magnus Lundin <lundin@mlu.mine.nu>:zwelch2009-05-231-21/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Author: Michael Bruck <mbruck@digenius.de>kc8apf2009-05-211-2/+7
| | | | | | | | | | -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
* Author: Thomas Kindler <mail@t-kindler.de>kc8apf2009-05-211-1/+1
| | | | | | | - 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
* Author: Holger Schurig <hs4233@mail.mn-solutions.de>kc8apf2009-05-211-2/+0
| | | | | | | -Prevent freezing of target when doing a 'shutdown'. git-svn-id: svn://svn.berlios.de/openocd/trunk@1869 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Author: Michael Bruck <mbruck@digenius.de>kc8apf2009-05-211-15/+12
| | | | | | | | | | | -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
* Author: Michael Bruck <mbruck@digenius.de>kc8apf2009-05-211-30/+33
| | | | | | | | | | | | | -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
* Author: Michael Bruck <mbruck@digenius.de>kc8apf2009-05-211-37/+27
| | | | | | | | | | | | -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
* Author: Michael Bruck <mbruck@digenius.de>kc8apf2009-05-211-16/+17
| | | | | | | | | | -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
* Author: Michael Bruck <mbruck@digenius.de>kc8apf2009-05-211-27/+28
| | | | | | | | | | - 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
* Author: Michael Bruck <mbruck@digenius.de>kc8apf2009-05-211-9/+0
| | | | | | | | - 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
* Author: Michael Bruck <mbruck@digenius.de>kc8apf2009-05-211-44/+23
| | | | | | | | - 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
* Author: Michael Bruck <mbruck@digenius.de>kc8apf2009-05-211-15/+20
| | | | | | | | - 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
* Author: Michael Bruck <mbruck@digenius.de>kc8apf2009-05-212-31/+31
| | | | | | | | - 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
* Author: Michael Bruck <mbruck@digenius.de>kc8apf2009-05-211-14/+76
| | | | | | | | | | - 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
* Spencer Oliver <spen@spen-soft.co.uk> use 7 tms out of resetoharboe2009-05-201-3/+3
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1851 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Author: Michael Bruck <mbruck@digenius.de>kc8apf2009-05-201-13/+12
| | | | | | | | - 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
* Author: Michael Bruck <mbruck@digenius.de>kc8apf2009-05-201-4/+2
| | | | | | | | | - 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
* Author: Michael Bruck <mbruck@digenius.de>kc8apf2009-05-201-16/+15
| | | | | | | | - 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
* Author: Michael Bruck <mbruck@digenius.de>kc8apf2009-05-201-2/+1
| | | | | | | | - 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
* Author: Michael Bruck <mbruck@digenius.de>kc8apf2009-05-201-18/+16
| | | | | | | | - 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
* Author: Michael Bruck <mbruck@digenius.de>kc8apf2009-05-201-13/+12
| | | | | | | | - 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
* Author: Michael Bruck <mbruck@digenius.de>kc8apf2009-05-201-2/+1
| | | | | | | | - 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
* Author: Michael Bruck <mbruck@digenius.de>kc8apf2009-05-201-19/+25
| | | | | | | | | - 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
* Author: Michael Bruck <mbruck@digenius.de>kc8apf2009-05-201-6/+7
| | | | | | | | - 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
* Author: Michael Bruck <mbruck@digenius.de>kc8apf2009-05-201-78/+80
| | | | | | | | - 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
* added tms_sequence command to allow switching between old/new tms sequenceoharboe2009-05-191-34/+60
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1834 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* use tap_get_tms_path_len() instead of fix # of 7. Not tested if this builds, ↵oharboe2009-05-186-6/+12
| | | | | | but at least we're looking at a build error instead of a runtime error. git-svn-id: svn://svn.berlios.de/openocd/trunk@1833 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* use tap_get_tms_path_len() instead of fix # of 7.oharboe2009-05-181-2/+3
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1831 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Enable non-7-cycle state table for FT2232 and JLinkkc8apf2009-05-181-1/+1
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1827 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* JLink support for non-7-cycle state moves by Dick Hollenbeck <dick@softplc.com>kc8apf2009-05-181-4/+10
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1826 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* FT2232 support for non-7-cycle state moves by Dick Hollenbeck <dick@softplc.com>kc8apf2009-05-181-239/+393
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1825 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Fix fallout from r1818kc8apf2009-05-181-1/+1
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1824 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Change last_comand_pointer to last_command_pointer by Michael Bruck ↵kc8apf2009-05-181-4/+4
| | | | | | <mbruck@digenius.de> git-svn-id: svn://svn.berlios.de/openocd/trunk@1823 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Add jtag_queue_command() by Michael Bruck <mbruck@digenius.de> [7/8]kc8apf2009-05-181-53/+48
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1821 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Add jtag_queue_command() by Michael Bruck <mbruck@digenius.de> [6/8]kc8apf2009-05-181-17/+15
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1820 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Add jtag_queue_command() by Michael Bruck <mbruck@digenius.de> [5/8]kc8apf2009-05-181-17/+17
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1819 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Add jtag_queue_command() by Michael Bruck <mbruck@digenius.de> [4/8]kc8apf2009-05-181-17/+18
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1818 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Add jtag_queue_command() by Michael Bruck <mbruck@digenius.de> [3/8]kc8apf2009-05-181-18/+17
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1817 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Add jtag_queue_command() by Michael Bruck <mbruck@digenius.de> [2/8]kc8apf2009-05-181-19/+17
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1816 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Add jtag_queue_command() by Michael Bruck <mbruck@digenius.de>kc8apf2009-05-181-0/+15
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1815 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* ftdi_set_interface correctness by Strontium <strntydog@gmail.com>kc8apf2009-05-181-6/+6
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1814 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* JTAG state table updates (short table still disabled). Provided by Dick ↵kc8apf2009-05-181-11/+14
| | | | | | Hollenbeck <dick@softplc.com> git-svn-id: svn://svn.berlios.de/openocd/trunk@1812 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* Michael Bruck <mbruck@digenius.de> change 'ir_scan' from 'int' to 'bool' to ↵oharboe2009-05-1611-22/+22
| | | | | | document its semantics git-svn-id: svn://svn.berlios.de/openocd/trunk@1800 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* fix broken ir/drscan -endstate option. The statemachine now actually ends up ↵oharboe2009-05-141-11/+6
| | | | | | in said state. git-svn-id: svn://svn.berlios.de/openocd/trunk@1784 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* zy1000 1.52 snapshotoharboe2009-05-131-1/+1
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1777 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* added verify_jtag commandoharboe2009-05-131-15/+49
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1774 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* shuffled comments about for jtag_add_dr_out() fn.oharboe2009-05-131-7/+14
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1772 b42882b7-edfa-0310-969c-e2dbd0fdcd60
* irscan now also works correctly in addition to not crashing :-)oharboe2009-05-121-1/+1
| | | | git-svn-id: svn://svn.berlios.de/openocd/trunk@1770 b42882b7-edfa-0310-969c-e2dbd0fdcd60