Hi!
I have a taunting issue using a J-Link and J-Flash, regarding targeting a specific device in a chain.
While using the IDE (EWARM 7.80.4) there are no issues, the IDE can correctly select TAP 0 or 1.
However, for production loading, either via J-link or J-Flash, only TAP 0 (the same as auto detection selects) gets selected.
I've tried all kinds of remedies and tips from this forum and others with no real success.
Using J-Flash:
All devices are correctly detected, however, selecting device 1 and flashing, results in device 0 getting flashed.
J-flash log:
J-Link firmware: J-Link ARM-Pro V1.x compiled Dec 3 2013 14:20:30
Device "MK66FN2M0XXX18" selected.
InitTarget()
TotalIRLen = 8, IRPrint = 0x0011
JTAG chain detection found 2 devices:
#0 Id: 0x4BA00477, IRLen: 04, CoreSight JTAG-DP
#1 Id: 0x4BA00477, IRLen: 04, CoreSight JTAG-DP
TotalIRLen = 8, IRPrint = 0x0011
JTAG chain detection found 2 devices:
#0 Id: 0x4BA00477, IRLen: 04, CoreSight JTAG-DP
#1 Id: 0x4BA00477, IRLen: 04, CoreSight JTAG-DP
Scanning AP map to find all available APs
AP[2]: Stopped AP scan as end of AP map has been reached
AP[0]: AHB-AP (IDR: 0x24770011)
AP[1]: JTAG-AP (IDR: 0x001C0000)
Iterating through AP map to find AHB-AP to use
AP[0]: Core found
AP[0]: AHB-AP ROM base: 0xE00FF000
CPUID register: 0x410FC241. Implementer code: 0x41 (ARM)
Found Cortex-M4 r0p1, Little endian.
FPUnit: 6 code (BP) slots and 2 literal slots
CoreSight components:
ROMTbl[0] @ E00FF000
ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB00C SCS-M7
ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 003BB002 DWT
ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 002BB003 FPB
ROMTbl[0][3]: E0000000, CID: B105E00D, PID: 003BB001 ITM
ROMTbl[0][4]: E0040000, CID: B105900D, PID: 000BB9A1 TPIU
ROMTbl[0][5]: E0041000, CID: B105900D, PID: 000BB925 ETM
ROMTbl[0][6]: E0042000, CID: B105900D, PID: 003BB907 ETB
ROMTbl[0][7]: E0043000, CID: B105900D, PID: 001BB908 CSTF
See jflash_tap1 for the j-flash device configuration.
J-link:
I've also tried to target a specific device with the jtagconf command, and had no success there either.
jlink -if jtag -jtagconf 4,1 -autoconnect 0 -device MK66FN2M0XXX18 -speed auto
SEGGER J-Link Commander V6.46g (Compiled Jun 14 2019 19:34:42)
DLL version V6.46g, compiled Jun 14 2019 19:33:33
Connecting to J-Link via USB...O.K.
Firmware: J-Link ARM-Pro V1.x compiled Dec 3 2013 14:20:30
Hardware version: V1.10
S/N: 171100199
License(s): RDI, FlashBP, FlashDL, JFlash, GDB
IP-Addr: DHCP (no addr. received yet)
VTref=3.332V
Type "connect" to establish a target connection, '?' for help
J-Link>h
Target connection not established yet but required for command.
Device "MK66FN2M0XXX18" selected.
Connecting to target via JTAG
InitTarget()
TotalIRLen = 8, IRPrint = 0x0011
JTAG chain detection found 2 devices:
#0 Id: 0x4BA00477, IRLen: 04, CoreSight JTAG-DP
#1 Id: 0x4BA00477, IRLen: 04, CoreSight JTAG-DP
TotalIRLen = 8, IRPrint = 0x0011
JTAG chain detection found 2 devices:
#0 Id: 0x4BA00477, IRLen: 04, CoreSight JTAG-DP
#1 Id: 0x4BA00477, IRLen: 04, CoreSight JTAG-DP
Scanning AP map to find all available APs
AP[2]: Stopped AP scan as end of AP map has been reached
AP[0]: AHB-AP (IDR: 0x24770011)
AP[1]: JTAG-AP (IDR: 0x001C0000)
Iterating through AP map to find AHB-AP to use
AP[0]: Core found
AP[0]: AHB-AP ROM base: 0xE00FF000
CPUID register: 0x410FC241. Implementer code: 0x41 (ARM)
Found Cortex-M4 r0p1, Little endian.
FPUnit: 6 code (BP) slots and 2 literal slots
CoreSight components:
ROMTbl[0] @ E00FF000
ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB00C SCS-M7
ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 003BB002 DWT
ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 002BB003 FPB
ROMTbl[0][3]: E0000000, CID: B105E00D, PID: 003BB001 ITM
ROMTbl[0][4]: E0040000, CID: B105900D, PID: 000BB9A1 TPIU
ROMTbl[0][5]: E0041000, CID: B105900D, PID: 000BB925 ETM
ROMTbl[0][6]: E0042000, CID: B105900D, PID: 003BB907 ETB
ROMTbl[0][7]: E0043000, CID: B105900D, PID: 001BB908 CSTF
Cortex-M4 identified.
PC = 00007420, CycleCnt = E9AA7ACB
R0 = 20011960, R1 = 0000000F, R2 = 20011960, R3 = 00000000
R4 = 00000007, R5 = 2000BFE4, R6 = 00000000, R7 = 07070707
R8 = 08080808, R9 = 09090909, R10= 10101010, R11= 11111111
R12= 12121212
SP(R13)= 20013098, MSP= 20013098, PSP= 20004A28, R14(LR) = 000077A5
XPSR = 0100000F: APSR = nzcvq, EPSR = 01000000, IPSR = 00F (INTISR0)
CFBP = 00000000, CONTROL = 00, FAULTMASK = 00, BASEPRI = 00, PRIMASK = 00
FPS0 = 00000138, FPS1 = 48960000, FPS2 = 00000000, FPS3 = 00000000
FPS4 = 00000000, FPS5 = 00000000, FPS6 = 00000000, FPS7 = 00000000
FPS8 = 00000000, FPS9 = 00000000, FPS10= 00000000, FPS11= 00000000
FPS12= 00000000, FPS13= 00000000, FPS14= 00000000, FPS15= 00000000
FPS16= 00000000, FPS17= 00000000, FPS18= 00000000, FPS19= 00000000
FPS20= 00000000, FPS21= 00000000, FPS22= 00000000, FPS23= 00000000
FPS24= 00000000, FPS25= 00000000, FPS26= 00000000, FPS27= 00000000
FPS28= 00000000, FPS29= 00000000, FPS30= 00000000, FPS31= 00000000
FPSCR= 02000010
J-Link>
This also connects to TAP 0 instead of 1.
I've also tried all kinds of different jtagconf parameters, all of them connect to TAP 0
Both of my MCUs have a status LED, in each case the LED of MCU 0 stops flashing.
Any ideas?
I have a taunting issue using a J-Link and J-Flash, regarding targeting a specific device in a chain.
While using the IDE (EWARM 7.80.4) there are no issues, the IDE can correctly select TAP 0 or 1.
However, for production loading, either via J-link or J-Flash, only TAP 0 (the same as auto detection selects) gets selected.
I've tried all kinds of remedies and tips from this forum and others with no real success.
Using J-Flash:
All devices are correctly detected, however, selecting device 1 and flashing, results in device 0 getting flashed.
J-flash log:
J-Link firmware: J-Link ARM-Pro V1.x compiled Dec 3 2013 14:20:30
Device "MK66FN2M0XXX18" selected.
InitTarget()
TotalIRLen = 8, IRPrint = 0x0011
JTAG chain detection found 2 devices:
#0 Id: 0x4BA00477, IRLen: 04, CoreSight JTAG-DP
#1 Id: 0x4BA00477, IRLen: 04, CoreSight JTAG-DP
TotalIRLen = 8, IRPrint = 0x0011
JTAG chain detection found 2 devices:
#0 Id: 0x4BA00477, IRLen: 04, CoreSight JTAG-DP
#1 Id: 0x4BA00477, IRLen: 04, CoreSight JTAG-DP
Scanning AP map to find all available APs
AP[2]: Stopped AP scan as end of AP map has been reached
AP[0]: AHB-AP (IDR: 0x24770011)
AP[1]: JTAG-AP (IDR: 0x001C0000)
Iterating through AP map to find AHB-AP to use
AP[0]: Core found
AP[0]: AHB-AP ROM base: 0xE00FF000
CPUID register: 0x410FC241. Implementer code: 0x41 (ARM)
Found Cortex-M4 r0p1, Little endian.
FPUnit: 6 code (BP) slots and 2 literal slots
CoreSight components:
ROMTbl[0] @ E00FF000
ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB00C SCS-M7
ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 003BB002 DWT
ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 002BB003 FPB
ROMTbl[0][3]: E0000000, CID: B105E00D, PID: 003BB001 ITM
ROMTbl[0][4]: E0040000, CID: B105900D, PID: 000BB9A1 TPIU
ROMTbl[0][5]: E0041000, CID: B105900D, PID: 000BB925 ETM
ROMTbl[0][6]: E0042000, CID: B105900D, PID: 003BB907 ETB
ROMTbl[0][7]: E0043000, CID: B105900D, PID: 001BB908 CSTF
See jflash_tap1 for the j-flash device configuration.
J-link:
I've also tried to target a specific device with the jtagconf command, and had no success there either.
jlink -if jtag -jtagconf 4,1 -autoconnect 0 -device MK66FN2M0XXX18 -speed auto
SEGGER J-Link Commander V6.46g (Compiled Jun 14 2019 19:34:42)
DLL version V6.46g, compiled Jun 14 2019 19:33:33
Connecting to J-Link via USB...O.K.
Firmware: J-Link ARM-Pro V1.x compiled Dec 3 2013 14:20:30
Hardware version: V1.10
S/N: 171100199
License(s): RDI, FlashBP, FlashDL, JFlash, GDB
IP-Addr: DHCP (no addr. received yet)
VTref=3.332V
Type "connect" to establish a target connection, '?' for help
J-Link>h
Target connection not established yet but required for command.
Device "MK66FN2M0XXX18" selected.
Connecting to target via JTAG
InitTarget()
TotalIRLen = 8, IRPrint = 0x0011
JTAG chain detection found 2 devices:
#0 Id: 0x4BA00477, IRLen: 04, CoreSight JTAG-DP
#1 Id: 0x4BA00477, IRLen: 04, CoreSight JTAG-DP
TotalIRLen = 8, IRPrint = 0x0011
JTAG chain detection found 2 devices:
#0 Id: 0x4BA00477, IRLen: 04, CoreSight JTAG-DP
#1 Id: 0x4BA00477, IRLen: 04, CoreSight JTAG-DP
Scanning AP map to find all available APs
AP[2]: Stopped AP scan as end of AP map has been reached
AP[0]: AHB-AP (IDR: 0x24770011)
AP[1]: JTAG-AP (IDR: 0x001C0000)
Iterating through AP map to find AHB-AP to use
AP[0]: Core found
AP[0]: AHB-AP ROM base: 0xE00FF000
CPUID register: 0x410FC241. Implementer code: 0x41 (ARM)
Found Cortex-M4 r0p1, Little endian.
FPUnit: 6 code (BP) slots and 2 literal slots
CoreSight components:
ROMTbl[0] @ E00FF000
ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB00C SCS-M7
ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 003BB002 DWT
ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 002BB003 FPB
ROMTbl[0][3]: E0000000, CID: B105E00D, PID: 003BB001 ITM
ROMTbl[0][4]: E0040000, CID: B105900D, PID: 000BB9A1 TPIU
ROMTbl[0][5]: E0041000, CID: B105900D, PID: 000BB925 ETM
ROMTbl[0][6]: E0042000, CID: B105900D, PID: 003BB907 ETB
ROMTbl[0][7]: E0043000, CID: B105900D, PID: 001BB908 CSTF
Cortex-M4 identified.
PC = 00007420, CycleCnt = E9AA7ACB
R0 = 20011960, R1 = 0000000F, R2 = 20011960, R3 = 00000000
R4 = 00000007, R5 = 2000BFE4, R6 = 00000000, R7 = 07070707
R8 = 08080808, R9 = 09090909, R10= 10101010, R11= 11111111
R12= 12121212
SP(R13)= 20013098, MSP= 20013098, PSP= 20004A28, R14(LR) = 000077A5
XPSR = 0100000F: APSR = nzcvq, EPSR = 01000000, IPSR = 00F (INTISR0)
CFBP = 00000000, CONTROL = 00, FAULTMASK = 00, BASEPRI = 00, PRIMASK = 00
FPS0 = 00000138, FPS1 = 48960000, FPS2 = 00000000, FPS3 = 00000000
FPS4 = 00000000, FPS5 = 00000000, FPS6 = 00000000, FPS7 = 00000000
FPS8 = 00000000, FPS9 = 00000000, FPS10= 00000000, FPS11= 00000000
FPS12= 00000000, FPS13= 00000000, FPS14= 00000000, FPS15= 00000000
FPS16= 00000000, FPS17= 00000000, FPS18= 00000000, FPS19= 00000000
FPS20= 00000000, FPS21= 00000000, FPS22= 00000000, FPS23= 00000000
FPS24= 00000000, FPS25= 00000000, FPS26= 00000000, FPS27= 00000000
FPS28= 00000000, FPS29= 00000000, FPS30= 00000000, FPS31= 00000000
FPSCR= 02000010
J-Link>
This also connects to TAP 0 instead of 1.
I've also tried all kinds of different jtagconf parameters, all of them connect to TAP 0
Both of my MCUs have a status LED, in each case the LED of MCU 0 stops flashing.
Any ideas?