SparkFun Forums 

Where electronics enthusiasts find answers.

Open source ARM Debugger
#106113
Good day,
The new A2F-EVAL-KIT of Actel contains the new SmartFusion FPGA (A2F200M3F), which has a hardware ARM Cortex-M3 in it. The evaluation board has a 20 PIN header, specifically for JTAG access to the Cortex-M3.

What will the steps be to figure out how the jtag chain looks like, in order to setup a configuration file for OpenOCD to be albe to access it?
Regards,
Frikkie Thirion
#165598
Apologies for resurrecting this old thread - and also if I am doing anything obviously wrong below - but I was wondering if anybody got anywhere with this or can offer any advice to me when trying (so far unsuccessfully :( ) to do the same thing...?

I have the following hardware:

- Actel/Microsemi SmartFusion eval kit board (A2F-EVAL-KIT Rev 2/Rev F)
- IAR (Segger) J-Link-ARM-KS v6.0
- Olimex ARM-USB-TINY-H

I am using Linux Mint 15 (32 bit) as a virtual machine on Windows 7 SP1 64 bit.
I have the relevant jumpers on the A2F-EVAL-KIT board configured to allow RVI connector access to the Cortex-M3.
I have the J-Link drivers installed and when I run J-Link Commander it detects the SmartFusion Cortex-M3 processor using JTAG (not SWD) so that level of communication with the SmartFusion Cortex-M3 works.

I have built and installed the latest OpenOCD 0.7.0 - and also libusb 1.0.9 (http://www.intra2net.com/en/developer/l ... wnload.php) and libftdi1 1.0 (http://www.intra2net.com/en/developer/l ... wnload.php) along the way. I also copied /usr/local/share/openocd/contrib/openocd.udev to /etc/udev/rules.d/99-openocd-udev.rules and ran udevadm control reload-rules and udevadm trigger. In case it matters I configured/built OpenOCD with --configure-jlink and --configure-ft2232-libftdi.

Based on boards/kwikstik.cfg and target/k40.cfg I created boards/microsemi_a2f_eval_kit.cfg and target/microsemi_a2fxxx.cfg:
Code: Select all
#
# Microsemi SmartFusion Eval Kit board (A2F-EVAL-KIT)
#

jtag_rclk 100

source [find target/microsemi_a2fxxx.cfg]

reset_config trst_and_srst
Code: Select all
#
# Microsemi SmartFusion A2FXXX devices
#

if { [info exists CHIPNAME] } {
    set _CHIPNAME $CHIPNAME
} else {
    set _CHIPNAME a2fxxx
}

if { [info exists ENDIAN] } {
    set _ENDIAN $ENDIAN
} else {
    set _ENDIAN little
}

if { [info exists CPUTAPID] } {
    set _CPUTAPID $CPUTAPID
} else {
    set _CPUTAPID 0x3ba00477
}

set _TARGETNAME $_CHIPNAME.cpu

jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID

target create $_TARGETNAME cortex_m -chain-position $_CHIPNAME.cpu

$_CHIPNAME.cpu configure -event examine-start { puts "START..." ; }
$_CHIPNAME.cpu configure -event examine-end { puts "END..." ; }

# if srst is not fitted use SYSRESETREQ to
# perform a soft reset
cortex_m reset_config sysresetreq
However I cannot seem to get connectivity using either the Olimex or Jlink JTAG devices:
Code: Select all
openocd -d3 -f interface/olimex-arm-usb-tiny-h.cfg -f board/microsemi_a2f_eval_kit.cfg 2>&1 | tee log

Open On-Chip Debugger 0.7.0 (2013-11-15-06:26)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.sourceforge.net/doc/doxygen/bugs.html
User : 13 14 command.c:549 command_print(): debug_level: 3
Debug: 14 21 configuration.c:45 add_script_search_dir(): adding /home/user/.openocd
Debug: 15 22 configuration.c:45 add_script_search_dir(): adding /usr/local/share/openocd/site
Debug: 16 22 configuration.c:45 add_script_search_dir(): adding /usr/local/share/openocd/scripts
Debug: 17 22 configuration.c:86 find_file(): found /usr/local/share/openocd/scripts/interface/ftdi/olimex-arm-usb-tiny-h.cfg
Debug: 18 22 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_echo WARNING!
Debug: 19 22 command.c:145 script_debug(): command - echo ocd_echo WARNING!
User : 21 22 command.c:766 jim_echo(): WARNING!
Debug: 22 22 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_echo This file was not tested with real interface, but is assumed to work as this
Debug: 23 23 command.c:145 script_debug(): command - echo ocd_echo This file was not tested with real interface, but is assumed to work as this
User : 25 23 command.c:766 jim_echo(): This file was not tested with real interface, but is assumed to work as this
Debug: 26 23 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_echo interface uses the same layout as configs that were verified. Please report your
Debug: 27 23 command.c:145 script_debug(): command - echo ocd_echo interface uses the same layout as configs that were verified. Please report your
User : 29 23 command.c:766 jim_echo(): interface uses the same layout as configs that were verified. Please report your
Debug: 30 23 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_echo experience with this file to openocd-devel mailing list, so it could be marked
Debug: 31 23 command.c:145 script_debug(): command - echo ocd_echo experience with this file to openocd-devel mailing list, so it could be marked
User : 33 23 command.c:766 jim_echo(): experience with this file to openocd-devel mailing list, so it could be marked
Debug: 34 23 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_echo as working or fixed.
Debug: 35 24 command.c:145 script_debug(): command - echo ocd_echo as working or fixed.
User : 37 24 command.c:766 jim_echo(): as working or fixed.
Debug: 38 24 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_interface ftdi
Debug: 39 24 command.c:145 script_debug(): command - interface ocd_interface ftdi
Debug: 41 24 command.c:369 register_command_handler(): registering 'ocd_ftdi_device_desc'...
Debug: 42 24 command.c:369 register_command_handler(): registering 'ocd_ftdi_serial'...
Debug: 43 24 command.c:369 register_command_handler(): registering 'ocd_ftdi_channel'...
Debug: 44 24 command.c:369 register_command_handler(): registering 'ocd_ftdi_layout_init'...
Debug: 45 24 command.c:369 register_command_handler(): registering 'ocd_ftdi_layout_signal'...
Debug: 46 25 command.c:369 register_command_handler(): registering 'ocd_ftdi_set_signal'...
Debug: 47 25 command.c:369 register_command_handler(): registering 'ocd_ftdi_vid_pid'...
Info : 48 25 transport.c:118 allow_transports(): only one transport option; autoselect 'jtag'
Debug: 49 25 command.c:369 register_command_handler(): registering 'ocd_jtag_flush_queue_sleep'...
Debug: 50 25 command.c:369 register_command_handler(): registering 'ocd_jtag_rclk'...
Debug: 51 25 command.c:369 register_command_handler(): registering 'ocd_jtag_ntrst_delay'...
Debug: 52 25 command.c:369 register_command_handler(): registering 'ocd_jtag_ntrst_assert_width'...
Debug: 53 25 command.c:369 register_command_handler(): registering 'ocd_scan_chain'...
Debug: 54 25 command.c:369 register_command_handler(): registering 'ocd_jtag_reset'...
Debug: 55 26 command.c:369 register_command_handler(): registering 'ocd_runtest'...
Debug: 56 26 command.c:369 register_command_handler(): registering 'ocd_irscan'...
Debug: 57 26 command.c:369 register_command_handler(): registering 'ocd_verify_ircapture'...
Debug: 58 26 command.c:369 register_command_handler(): registering 'ocd_verify_jtag'...
Debug: 59 26 command.c:369 register_command_handler(): registering 'ocd_tms_sequence'...
Debug: 60 26 command.c:369 register_command_handler(): registering 'ocd_wait_srst_deassert'...
Debug: 61 26 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 62 26 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 63 26 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 64 26 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 65 26 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 66 26 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 67 26 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 68 26 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 69 26 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 70 26 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 71 26 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 72 26 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 73 26 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 74 26 command.c:369 register_command_handler(): registering 'ocd_svf'...
Debug: 75 27 command.c:369 register_command_handler(): registering 'ocd_xsvf'...
Debug: 76 27 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_ftdi_device_desc Olimex OpenOCD JTAG ARM-USB-TINY-H
Debug: 77 27 command.c:145 script_debug(): command - ftdi_device_desc ocd_ftdi_device_desc Olimex OpenOCD JTAG ARM-USB-TINY-H
Debug: 79 27 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_ftdi_vid_pid 0x15ba 0x002a
Debug: 80 27 command.c:145 script_debug(): command - ftdi_vid_pid ocd_ftdi_vid_pid 0x15ba 0x002a
Debug: 82 27 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_ftdi_layout_init 0x0c08 0x0f1b
Debug: 83 27 command.c:145 script_debug(): command - ftdi_layout_init ocd_ftdi_layout_init 0x0c08 0x0f1b
Debug: 85 27 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_ftdi_layout_signal nSRST -oe 0x0200
Debug: 86 27 command.c:145 script_debug(): command - ftdi_layout_signal ocd_ftdi_layout_signal nSRST -oe 0x0200
Debug: 88 27 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_ftdi_layout_signal nTRST -data 0x0100 -noe 0x0400
Debug: 89 27 command.c:145 script_debug(): command - ftdi_layout_signal ocd_ftdi_layout_signal nTRST -data 0x0100 -noe 0x0400
Debug: 91 27 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_ftdi_layout_signal LED -data 0x0800
Debug: 92 27 command.c:145 script_debug(): command - ftdi_layout_signal ocd_ftdi_layout_signal LED -data 0x0800
Debug: 94 27 configuration.c:86 find_file(): found /usr/local/share/openocd/scripts/board/microsemi_a2f_eval_kit.cfg
Debug: 95 27 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_jtag_rclk 100
Debug: 96 27 command.c:145 script_debug(): command - jtag_rclk ocd_jtag_rclk 100
Debug: 98 27 core.c:1657 jtag_config_rclk(): handle jtag rclk
Debug: 99 27 core.c:1615 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 100 27 core.c:1615 adapter_khz_to_speed(): convert khz to interface specific speed value
User : 101 28 command.c:549 command_print(): RCLK - adaptive
Debug: 102 28 configuration.c:86 find_file(): found /usr/local/share/openocd/scripts/target/microsemi_a2fxxx.cfg
Debug: 103 28 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_jtag newtap a2fxxx cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id 0x3ba00477
Debug: 104 28 command.c:145 script_debug(): command - ocd_jtag ocd_jtag newtap a2fxxx cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id 0x3ba00477
Debug: 105 28 tcl.c:554 jim_newtap_cmd(): Creating New Tap, Chip: a2fxxx, Tap: cpu, Dotted: a2fxxx.cpu, 8 params
Debug: 106 28 tcl.c:571 jim_newtap_cmd(): Processing option: -irlen
Debug: 107 28 tcl.c:571 jim_newtap_cmd(): Processing option: -ircapture
Debug: 108 28 tcl.c:571 jim_newtap_cmd(): Processing option: -irmask
Debug: 109 28 tcl.c:571 jim_newtap_cmd(): Processing option: -expected-id
Debug: 110 28 core.c:1323 jtag_tap_init(): Created Tap: a2fxxx.cpu @ abs position 0, irlen 4, capture: 0x1 mask: 0xf
Debug: 111 28 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_target create a2fxxx.cpu cortex_m -chain-position a2fxxx.cpu
Debug: 112 28 command.c:145 script_debug(): command - ocd_target ocd_target create a2fxxx.cpu cortex_m -chain-position a2fxxx.cpu
Debug: 113 28 target.c:1615 target_free_all_working_areas_restore(): freeing all working areas
Debug: 114 28 command.c:369 register_command_handler(): registering 'ocd_arm'...
Debug: 115 28 command.c:369 register_command_handler(): registering 'ocd_arm'...
Debug: 116 28 command.c:369 register_command_handler(): registering 'ocd_arm'...
Debug: 117 28 command.c:369 register_command_handler(): registering 'ocd_arm'...
Debug: 118 28 command.c:369 register_command_handler(): registering 'ocd_arm'...
Debug: 119 28 command.c:369 register_command_handler(): registering 'ocd_arm'...
Debug: 120 29 command.c:369 register_command_handler(): registering 'ocd_dap'...
Debug: 121 29 command.c:369 register_command_handler(): registering 'ocd_dap'...
Debug: 122 29 command.c:369 register_command_handler(): registering 'ocd_dap'...
Debug: 123 29 command.c:369 register_command_handler(): registering 'ocd_dap'...
Debug: 124 29 command.c:369 register_command_handler(): registering 'ocd_dap'...
Debug: 125 29 command.c:369 register_command_handler(): registering 'ocd_dap'...
Debug: 126 29 command.c:369 register_command_handler(): registering 'ocd_cortex_m'...
Debug: 127 29 command.c:369 register_command_handler(): registering 'ocd_cortex_m'...
Debug: 128 29 command.c:369 register_command_handler(): registering 'ocd_cortex_m'...
Debug: 129 29 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 130 29 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 131 29 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 132 29 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 133 29 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 134 29 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 135 29 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 136 29 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 137 29 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 138 29 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 139 29 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 140 29 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 141 29 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 142 29 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 143 29 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 144 29 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 145 30 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 146 30 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 147 30 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 148 30 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 149 30 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 150 30 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 151 30 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 152 30 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 153 30 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 154 30 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 155 30 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 156 30 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 157 30 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 158 30 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 159 30 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 160 30 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 161 30 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 162 30 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 163 30 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 164 30 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 165 30 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 166 30 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_a2fxxx.cpu configure -event examine-start  puts "START..." ; 
Debug: 167 30 command.c:145 script_debug(): command - ocd_a2fxxx.cpu ocd_a2fxxx.cpu configure -event examine-start  puts "START..." ; 
Debug: 168 30 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_a2fxxx.cpu configure -event examine-end  puts "END..." ; 
Debug: 169 31 command.c:145 script_debug(): command - ocd_a2fxxx.cpu ocd_a2fxxx.cpu configure -event examine-end  puts "END..." ; 
Debug: 170 31 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_cortex_m reset_config sysresetreq
Debug: 171 31 command.c:145 script_debug(): command - ocd_cortex_m ocd_cortex_m reset_config sysresetreq
User : 173 31 command.c:549 command_print(): cortex_m3 reset_config sysresetreq
Debug: 174 31 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_reset_config trst_and_srst
Debug: 175 31 command.c:145 script_debug(): command - reset_config ocd_reset_config trst_and_srst
User : 177 31 command.c:549 command_print(): trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain connect_deassert_srst
Debug: 178 31 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_init
Debug: 179 31 command.c:145 script_debug(): command - init ocd_init
Debug: 181 31 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_target init
Debug: 182 31 command.c:145 script_debug(): command - ocd_target ocd_target init
Debug: 184 31 target.c:1178 handle_target_init_command(): Initializing targets...
Debug: 185 31 command.c:369 register_command_handler(): registering 'ocd_target_request'...
Debug: 186 31 command.c:369 register_command_handler(): registering 'ocd_trace'...
Debug: 187 31 command.c:369 register_command_handler(): registering 'ocd_trace'...
Debug: 188 31 command.c:369 register_command_handler(): registering 'ocd_fast_load_image'...
Debug: 189 31 command.c:369 register_command_handler(): registering 'ocd_fast_load'...
Debug: 190 31 command.c:369 register_command_handler(): registering 'ocd_profile'...
Debug: 191 31 command.c:369 register_command_handler(): registering 'ocd_virt2phys'...
Debug: 192 31 command.c:369 register_command_handler(): registering 'ocd_reg'...
Debug: 193 31 command.c:369 register_command_handler(): registering 'ocd_poll'...
Debug: 194 31 command.c:369 register_command_handler(): registering 'ocd_wait_halt'...
Debug: 195 31 command.c:369 register_command_handler(): registering 'ocd_halt'...
Debug: 196 31 command.c:369 register_command_handler(): registering 'ocd_resume'...
Debug: 197 31 command.c:369 register_command_handler(): registering 'ocd_reset'...
Debug: 198 31 command.c:369 register_command_handler(): registering 'ocd_soft_reset_halt'...
Debug: 199 31 command.c:369 register_command_handler(): registering 'ocd_step'...
Debug: 200 31 command.c:369 register_command_handler(): registering 'ocd_mdw'...
Debug: 201 31 command.c:369 register_command_handler(): registering 'ocd_mdh'...
Debug: 202 31 command.c:369 register_command_handler(): registering 'ocd_mdb'...
Debug: 203 31 command.c:369 register_command_handler(): registering 'ocd_mww'...
Debug: 204 31 command.c:369 register_command_handler(): registering 'ocd_mwh'...
Debug: 205 31 command.c:369 register_command_handler(): registering 'ocd_mwb'...
Debug: 206 31 command.c:369 register_command_handler(): registering 'ocd_bp'...
Debug: 207 31 command.c:369 register_command_handler(): registering 'ocd_rbp'...
Debug: 208 31 command.c:369 register_command_handler(): registering 'ocd_wp'...
Debug: 209 31 command.c:369 register_command_handler(): registering 'ocd_rwp'...
Debug: 210 31 command.c:369 register_command_handler(): registering 'ocd_load_image'...
Debug: 211 31 command.c:369 register_command_handler(): registering 'ocd_dump_image'...
Debug: 212 31 command.c:369 register_command_handler(): registering 'ocd_verify_image'...
Debug: 213 31 command.c:369 register_command_handler(): registering 'ocd_test_image'...
Debug: 214 31 command.c:369 register_command_handler(): registering 'ocd_reset_nag'...
Debug: 215 31 command.c:369 register_command_handler(): registering 'ocd_ps'...
Debug: 216 31 ftdi.c:630 ftdi_initialize(): ftdi interface using shortest path jtag state transitions
Debug: 217 181 mpsse.c:361 mpsse_purge(): -
Debug: 218 185 mpsse.c:626 mpsse_loopback_config(): off
Debug: 219 187 core.c:1615 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 220 187 core.c:1618 adapter_khz_to_speed(): have interface set up
Debug: 221 187 mpsse.c:667 mpsse_set_frequency(): target 0 Hz
Debug: 222 187 mpsse.c:660 mpsse_rtck_config(): on
Debug: 223 187 core.c:1615 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 224 187 core.c:1618 adapter_khz_to_speed(): have interface set up
Info : 225 187 core.c:1406 adapter_init(): RCLK (adaptive clock speed)
Debug: 226 188 openocd.c:132 handle_init_command(): Debug Adapter init complete
Debug: 227 188 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_transport init
Debug: 228 188 command.c:145 script_debug(): command - ocd_transport ocd_transport init
Debug: 230 188 transport.c:240 handle_transport_init(): handle_transport_init
Debug: 231 189 core.c:719 jtag_add_reset(): SRST line released
Debug: 232 189 core.c:743 jtag_add_reset(): TRST line released
Debug: 233 190 core.c:323 jtag_call_event_callbacks(): jtag event: TAP reset
Debug: 234 191 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_jtag arp_init
Debug: 235 192 command.c:145 script_debug(): command - ocd_jtag ocd_jtag arp_init
Debug: 236 192 core.c:1417 jtag_init_inner(): Init JTAG chain
Debug: 237 192 core.c:323 jtag_call_event_callbacks(): jtag event: TAP reset
Debug: 238 193 core.c:1048 jtag_examine_chain(): DR scan interrogation for IDCODE/BYPASS
Debug: 239 194 core.c:323 jtag_call_event_callbacks(): jtag event: TAP reset
Code: Select all
openocd -d3 -f interface/jlink.cfg -f board/microsemi_a2f_eval_kit.cfg 2>&1 | tee log

Open On-Chip Debugger 0.7.0 (2013-11-15-06:26)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.sourceforge.net/doc/doxygen/bugs.html
User : 13 10 command.c:549 command_print(): debug_level: 3
Debug: 14 10 configuration.c:45 add_script_search_dir(): adding /home/user/.openocd
Debug: 15 11 configuration.c:45 add_script_search_dir(): adding /usr/local/share/openocd/site
Debug: 16 12 configuration.c:45 add_script_search_dir(): adding /usr/local/share/openocd/scripts
Debug: 17 12 configuration.c:86 find_file(): found /usr/local/share/openocd/scripts/interface/jlink.cfg
Debug: 18 12 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_interface jlink
Debug: 19 13 command.c:145 script_debug(): command - interface ocd_interface jlink
Debug: 21 13 command.c:328 command_new(): BUG: command 'jlink' does not have the '.usage' field filled out
Debug: 22 13 command.c:328 command_new(): BUG: command 'jlink caps' does not have the '.usage' field filled out
Debug: 23 13 command.c:369 register_command_handler(): registering 'ocd_jlink'...
Debug: 24 13 command.c:328 command_new(): BUG: command 'jlink info' does not have the '.usage' field filled out
Debug: 25 14 command.c:369 register_command_handler(): registering 'ocd_jlink'...
Debug: 26 14 command.c:369 register_command_handler(): registering 'ocd_jlink'...
Debug: 27 14 command.c:328 command_new(): BUG: command 'jlink config' does not have the '.usage' field filled out
Debug: 28 14 command.c:369 register_command_handler(): registering 'ocd_jlink'...
Debug: 29 14 command.c:369 register_command_handler(): registering 'ocd_jlink'...
Debug: 30 15 command.c:369 register_command_handler(): registering 'ocd_jlink'...
Debug: 31 15 command.c:369 register_command_handler(): registering 'ocd_jlink'...
Debug: 32 15 command.c:328 command_new(): BUG: command 'config reset' does not have the '.usage' field filled out
Debug: 33 15 command.c:369 register_command_handler(): registering 'ocd_jlink'...
Debug: 34 16 command.c:328 command_new(): BUG: command 'config save' does not have the '.usage' field filled out
Debug: 35 16 command.c:369 register_command_handler(): registering 'ocd_jlink'...
Debug: 36 16 command.c:369 register_command_handler(): registering 'ocd_jlink'...
Debug: 37 16 command.c:328 command_new(): BUG: command 'jlink pid' does not have the '.usage' field filled out
Debug: 38 16 command.c:369 register_command_handler(): registering 'ocd_jlink'...
Info : 39 17 transport.c:118 allow_transports(): only one transport option; autoselect 'jtag'
Debug: 40 17 command.c:369 register_command_handler(): registering 'ocd_jtag_flush_queue_sleep'...
Debug: 41 17 command.c:369 register_command_handler(): registering 'ocd_jtag_rclk'...
Debug: 42 17 command.c:369 register_command_handler(): registering 'ocd_jtag_ntrst_delay'...
Debug: 43 17 command.c:369 register_command_handler(): registering 'ocd_jtag_ntrst_assert_width'...
Debug: 44 18 command.c:369 register_command_handler(): registering 'ocd_scan_chain'...
Debug: 45 18 command.c:369 register_command_handler(): registering 'ocd_jtag_reset'...
Debug: 46 18 command.c:369 register_command_handler(): registering 'ocd_runtest'...
Debug: 47 18 command.c:369 register_command_handler(): registering 'ocd_irscan'...
Debug: 48 19 command.c:369 register_command_handler(): registering 'ocd_verify_ircapture'...
Debug: 49 19 command.c:369 register_command_handler(): registering 'ocd_verify_jtag'...
Debug: 50 19 command.c:369 register_command_handler(): registering 'ocd_tms_sequence'...
Debug: 51 19 command.c:369 register_command_handler(): registering 'ocd_wait_srst_deassert'...
Debug: 52 19 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 53 25 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 54 25 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 55 26 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 56 26 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 57 26 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 58 26 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 59 26 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 60 26 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 61 26 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 62 26 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 63 27 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 64 27 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 65 27 command.c:369 register_command_handler(): registering 'ocd_svf'...
Debug: 66 27 command.c:369 register_command_handler(): registering 'ocd_xsvf'...
Debug: 67 27 configuration.c:86 find_file(): found /usr/local/share/openocd/scripts/board/microsemi_a2f_eval_kit.cfg
Debug: 68 27 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_jtag_rclk 100
Debug: 69 27 command.c:145 script_debug(): command - jtag_rclk ocd_jtag_rclk 100
Debug: 71 28 core.c:1657 jtag_config_rclk(): handle jtag rclk
Debug: 72 28 core.c:1615 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 73 28 core.c:1615 adapter_khz_to_speed(): convert khz to interface specific speed value
User : 74 28 command.c:549 command_print(): RCLK - adaptive
Debug: 75 29 configuration.c:86 find_file(): found /usr/local/share/openocd/scripts/target/microsemi_a2fxxx.cfg
Debug: 76 30 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_jtag newtap a2fxxx cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id 0x3ba00477
Debug: 77 30 command.c:145 script_debug(): command - ocd_jtag ocd_jtag newtap a2fxxx cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id 0x3ba00477
Debug: 78 30 tcl.c:554 jim_newtap_cmd(): Creating New Tap, Chip: a2fxxx, Tap: cpu, Dotted: a2fxxx.cpu, 8 params
Debug: 79 30 tcl.c:571 jim_newtap_cmd(): Processing option: -irlen
Debug: 80 30 tcl.c:571 jim_newtap_cmd(): Processing option: -ircapture
Debug: 81 30 tcl.c:571 jim_newtap_cmd(): Processing option: -irmask
Debug: 82 30 tcl.c:571 jim_newtap_cmd(): Processing option: -expected-id
Debug: 83 30 core.c:1323 jtag_tap_init(): Created Tap: a2fxxx.cpu @ abs position 0, irlen 4, capture: 0x1 mask: 0xf
Debug: 84 31 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_target create a2fxxx.cpu cortex_m -chain-position a2fxxx.cpu
Debug: 85 31 command.c:145 script_debug(): command - ocd_target ocd_target create a2fxxx.cpu cortex_m -chain-position a2fxxx.cpu
Debug: 86 33 target.c:1615 target_free_all_working_areas_restore(): freeing all working areas
Debug: 87 33 command.c:369 register_command_handler(): registering 'ocd_arm'...
Debug: 88 33 command.c:369 register_command_handler(): registering 'ocd_arm'...
Debug: 89 34 command.c:369 register_command_handler(): registering 'ocd_arm'...
Debug: 90 34 command.c:369 register_command_handler(): registering 'ocd_arm'...
Debug: 91 34 command.c:369 register_command_handler(): registering 'ocd_arm'...
Debug: 92 34 command.c:369 register_command_handler(): registering 'ocd_arm'...
Debug: 93 34 command.c:369 register_command_handler(): registering 'ocd_dap'...
Debug: 94 34 command.c:369 register_command_handler(): registering 'ocd_dap'...
Debug: 95 34 command.c:369 register_command_handler(): registering 'ocd_dap'...
Debug: 96 34 command.c:369 register_command_handler(): registering 'ocd_dap'...
Debug: 97 35 command.c:369 register_command_handler(): registering 'ocd_dap'...
Debug: 98 35 command.c:369 register_command_handler(): registering 'ocd_dap'...
Debug: 99 35 command.c:369 register_command_handler(): registering 'ocd_cortex_m'...
Debug: 100 35 command.c:369 register_command_handler(): registering 'ocd_cortex_m'...
Debug: 101 35 command.c:369 register_command_handler(): registering 'ocd_cortex_m'...
Debug: 102 35 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 103 35 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 104 35 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 105 35 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 106 35 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 107 35 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 108 35 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 109 35 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 110 35 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 111 35 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 112 35 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 113 35 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 114 35 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 115 35 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 116 36 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 117 36 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 118 36 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 119 36 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 120 36 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 121 36 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 122 36 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 123 36 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 124 36 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 125 36 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 126 36 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 127 36 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 128 36 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 129 36 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 130 36 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 131 36 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 132 36 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 133 36 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 134 36 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 135 36 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 136 37 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 137 37 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 138 37 command.c:369 register_command_handler(): registering 'ocd_a2fxxx.cpu'...
Debug: 139 37 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_a2fxxx.cpu configure -event examine-start  puts "START..." ; 
Debug: 140 37 command.c:145 script_debug(): command - ocd_a2fxxx.cpu ocd_a2fxxx.cpu configure -event examine-start  puts "START..." ; 
Debug: 141 37 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_a2fxxx.cpu configure -event examine-end  puts "END..." ; 
Debug: 142 37 command.c:145 script_debug(): command - ocd_a2fxxx.cpu ocd_a2fxxx.cpu configure -event examine-end  puts "END..." ; 
Debug: 143 37 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_cortex_m reset_config sysresetreq
Debug: 144 38 command.c:145 script_debug(): command - ocd_cortex_m ocd_cortex_m reset_config sysresetreq
User : 146 38 command.c:549 command_print(): cortex_m3 reset_config sysresetreq
Debug: 147 38 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_reset_config trst_and_srst
Debug: 148 38 command.c:145 script_debug(): command - reset_config ocd_reset_config trst_and_srst
User : 150 41 command.c:549 command_print(): trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain connect_deassert_srst
Debug: 151 41 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_init
Debug: 152 41 command.c:145 script_debug(): command - init ocd_init
Debug: 154 41 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_target init
Debug: 155 41 command.c:145 script_debug(): command - ocd_target ocd_target init
Debug: 157 41 target.c:1178 handle_target_init_command(): Initializing targets...
Debug: 158 41 command.c:369 register_command_handler(): registering 'ocd_target_request'...
Debug: 159 42 command.c:369 register_command_handler(): registering 'ocd_trace'...
Debug: 160 42 command.c:369 register_command_handler(): registering 'ocd_trace'...
Debug: 161 42 command.c:369 register_command_handler(): registering 'ocd_fast_load_image'...
Debug: 162 42 command.c:369 register_command_handler(): registering 'ocd_fast_load'...
Debug: 163 42 command.c:369 register_command_handler(): registering 'ocd_profile'...
Debug: 164 42 command.c:369 register_command_handler(): registering 'ocd_virt2phys'...
Debug: 165 42 command.c:369 register_command_handler(): registering 'ocd_reg'...
Debug: 166 42 command.c:369 register_command_handler(): registering 'ocd_poll'...
Debug: 167 42 command.c:369 register_command_handler(): registering 'ocd_wait_halt'...
Debug: 168 42 command.c:369 register_command_handler(): registering 'ocd_halt'...
Debug: 169 42 command.c:369 register_command_handler(): registering 'ocd_resume'...
Debug: 170 42 command.c:369 register_command_handler(): registering 'ocd_reset'...
Debug: 171 42 command.c:369 register_command_handler(): registering 'ocd_soft_reset_halt'...
Debug: 172 42 command.c:369 register_command_handler(): registering 'ocd_step'...
Debug: 173 42 command.c:369 register_command_handler(): registering 'ocd_mdw'...
Debug: 174 42 command.c:369 register_command_handler(): registering 'ocd_mdh'...
Debug: 175 42 command.c:369 register_command_handler(): registering 'ocd_mdb'...
Debug: 176 42 command.c:369 register_command_handler(): registering 'ocd_mww'...
Debug: 177 42 command.c:369 register_command_handler(): registering 'ocd_mwh'...
Debug: 178 42 command.c:369 register_command_handler(): registering 'ocd_mwb'...
Debug: 179 43 command.c:369 register_command_handler(): registering 'ocd_bp'...
Debug: 180 43 command.c:369 register_command_handler(): registering 'ocd_rbp'...
Debug: 181 43 command.c:369 register_command_handler(): registering 'ocd_wp'...
Debug: 182 43 command.c:369 register_command_handler(): registering 'ocd_rwp'...
Debug: 183 43 command.c:369 register_command_handler(): registering 'ocd_load_image'...
Debug: 184 43 command.c:369 register_command_handler(): registering 'ocd_dump_image'...
Debug: 185 43 command.c:369 register_command_handler(): registering 'ocd_verify_image'...
Debug: 186 43 command.c:369 register_command_handler(): registering 'ocd_test_image'...
Debug: 187 43 command.c:369 register_command_handler(): registering 'ocd_reset_nag'...
Debug: 188 43 command.c:369 register_command_handler(): registering 'ocd_ps'...
Debug: 189 777 libusb1_common.c:153 jtag_libusb_get_endpoints(): usb ep in 81
Debug: 190 777 libusb1_common.c:153 jtag_libusb_get_endpoints(): usb ep out 02
Info : 191 777 jlink.c:516 jlink_init(): J-Link initialization started / target CPU reset initiated
Info : 192 787 jlink.c:892 jlink_get_version_info(): J-Link ARM V6 compiled Jun 20 2012 19:43:26
Info : 193 796 jlink.c:905 jlink_get_version_info(): J-Link caps 0x99ff7bbf
Info : 194 801 jlink.c:923 jlink_get_version_info(): J-Link hw version 60000
Info : 195 801 jlink.c:928 jlink_get_version_info(): J-Link hw type J-Link
Info : 196 805 jlink.c:942 jlink_get_version_info(): J-Link max mem block 8864
Info : 197 810 jlink.c:785 jlink_config_dump(): J-Link configuration
Info : 198 810 jlink.c:744 jlink_config_usb_address_dump(): USB-Address: 0x0
Info : 199 810 jlink.c:753 jlink_config_kickstart_dump(): Kickstart power on JTAG-pin 19: 0xffffffff
Info : 200 815 jlink.c:712 jlink_get_status(): Vref = 3.306 TCK = 1 TDI = 0 TDO = 0 TMS = 0 SRST = 0 TRST = 0
Info : 201 822 jlink.c:539 jlink_init(): J-Link JTAG Interface ready
Debug: 202 822 jlink.c:667 jlink_reset(): trst: 0, srst: 0
Debug: 204 834 core.c:1615 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 205 835 core.c:1618 adapter_khz_to_speed(): have interface set up
Debug: 206 838 core.c:1615 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 207 838 core.c:1618 adapter_khz_to_speed(): have interface set up
Info : 208 838 core.c:1406 adapter_init(): RCLK (adaptive clock speed)
Debug: 209 838 openocd.c:132 handle_init_command(): Debug Adapter init complete
Debug: 210 838 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_transport init
Debug: 211 839 command.c:145 script_debug(): command - ocd_transport ocd_transport init
Debug: 213 839 transport.c:240 handle_transport_init(): handle_transport_init
Debug: 214 839 jlink.c:667 jlink_reset(): trst: 0, srst: 0
Debug: 215 842 core.c:719 jtag_add_reset(): SRST line released
Debug: 216 842 core.c:743 jtag_add_reset(): TRST line released
Debug: 217 843 core.c:323 jtag_call_event_callbacks(): jtag event: TAP reset
Debug: 218 843 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_jtag arp_init
Debug: 219 843 command.c:145 script_debug(): command - ocd_jtag ocd_jtag arp_init
Debug: 220 843 core.c:1417 jtag_init_inner(): Init JTAG chain
Debug: 221 843 core.c:323 jtag_call_event_callbacks(): jtag event: TAP reset
Error: 222 873 jlink.c:1579 jlink_usb_message(): jlink_usb_message failed with result=1)
Error: 223 873 jlink.c:1431 jlink_tap_execute(): jlink_tap_execute, wrong result -107 (expected 1)
Debug: 224 873 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_jtag arp_init-reset
Debug: 225 873 command.c:145 script_debug(): command - ocd_jtag ocd_jtag arp_init-reset
Debug: 226 874 core.c:1525 jtag_init_reset(): Initializing with hard TRST+SRST reset
Debug: 227 874 jlink.c:667 jlink_reset(): trst: 1, srst: 0
Debug: 228 877 core.c:738 jtag_add_reset(): TRST line asserted
Debug: 229 877 jlink.c:667 jlink_reset(): trst: 1, srst: 1
Debug: 230 881 core.c:715 jtag_add_reset(): SRST line asserted
Debug: 231 881 jlink.c:667 jlink_reset(): trst: 0, srst: 1
Debug: 232 885 core.c:743 jtag_add_reset(): TRST line released
Debug: 233 885 core.c:323 jtag_call_event_callbacks(): jtag event: TAP reset
Debug: 234 885 jlink.c:667 jlink_reset(): trst: 0, srst: 0
Debug: 235 890 core.c:719 jtag_add_reset(): SRST line released
Debug: 236 890 core.c:1417 jtag_init_inner(): Init JTAG chain
Debug: 237 890 core.c:323 jtag_call_event_callbacks(): jtag event: TAP reset
Error: 238 920 jlink.c:1579 jlink_usb_message(): jlink_usb_message failed with result=1)
Error: 239 920 jlink.c:1431 jlink_tap_execute(): jlink_tap_execute, wrong result -107 (expected 1)
Debug: 240 920 command.c:631 run_command(): Command failed with error code -4
User : 241 920 command.c:669 command_run_line(): in procedure 'transport'
Debug: 242 920 command.c:631 run_command(): Command failed with error code -4
User : 243 920 command.c:669 command_run_line(): in procedure 'init'
Is there something obvious that I am doing or not doing here that needs to be addressed?
Any advice would be greatly appreciated.

Thanks a lot.
:)
#165630
Ok - I made some progress on this - at least using the J-Link-ARM-KS probe.
For some reason with jtag_rclk 100 it doesn't work but if I use adapter_khz 1000 then it does - i.e. it sees the target and I can do some basic debugging using the OpenOCD telnet port and even using Eclipse/CDT/Hardware debugging plugin etc.
These are the links that I found which made me look at jtag_rclk versus adapter_khz again:

http://www.mail-archive.com/openocd-dev ... 05192.html
https://lists.berlios.de/pipermail/open ... 07513.html

I assumed that all Cortex-M3 CPUs (or all CoreSight debugging based CPUs?) supported adaptive clocking but maybe not here?
Anyway I can make progress with this and maybe it will help somebody else...

:)
#167311
Microsemi M3 based FPGA SoCs don't support adaptive clocking after all.
I managed to get J-Link and Olimex ARM-USB-TINY-H working with the Microsemi SmartFusion A2F-EVAL-KIT board.
If anybody else needs info post back or PM me and I'll post here.
#175908
Hi dayler,

I am interested in learning your solution to using openocd/jtag on A2F-EVAL-KIT. It is disappointing how little information there is using open source solution for working with microsemi. Other than their own web presence there's practically no other information.

Thanks in advance,

Hipcat