Hi,
I have a -link Ultra+ connected to an NXP iMX6 (on a QWKS-SCMIMX6 development board) I need to be able to connect to and debug each of the ARM A9 cores in the SOC separately. I have seen mention of using separate GDB servers one of each core in order to do this, but in my case I am not using GDB. My development environment is Rowley CrossStudio which uses the JLinkARM.dll to interface to the j-link.
If I set the following in the Rowley target connect script,
TargetInterface.setDebugInterfaceProperty("set_adiv5_APB_ap_num", 1)
TargetInterface.setDebugInterfaceProperty("component_base", 0x82150000 )
I am able to connect to core 0, load and debug code just fine.
I tried changing the 'component_base' to 0x821520000 (for Core 1) but then the connect fails as follows,
Connecting ‘SEGGER J-Link’
Connecting to target using JTAG
Loaded C:/Program Files (x86)/SEGGER/JLink_V610f/JLinkARM.dll
Firmware Version: J-Link Ultra V4 compiled Sep 1 2016 18:31:22
DLL Version: 6.10f
Hardware Version: V4.00
Target Voltage: 3.135
Executing connect script
Loading target script file ARM_Target.js
Executing script TargetInterface.setDebugInterfaceProperty("set_adiv5_APB_ap_num", 1)
TargetInterface.setDebugInterfaceProperty("component_base", 0x82152000 )
Device "MCIMX6Q4" selected.
TotalIRLen = 13, IRPrint = 0x0101
ARM AP[0]: 0x44770001, AHB-AP
ARM AP[1]: 0x24770002, APB-AP
ROMTbl 0 [0]: 00001003, CID: B105900D, PID:04-003BB907 ETB
ROMTbl 0 [1]: 00002003, CID: B105900D, PID:04-002BB906 ECT / CTI
ROMTbl 0 [2]: 00003003, CID: B105900D, PID:04-004BB912 TPIU
ROMTbl 0 [3]: 00004003, CID: B105900D, PID:04-001BB908 CSTF
ROMTbl 0 [4]: 0000F003, CID: B105100D, PID:04-000BB4A9 ROM Table
ROMTbl 1 [0]: 00001003, CID: B105900D, PID:04-000BBC09 Cortex-A9
Found Cortex-A9 r2p10
6 code breakpoints, 4 data breakpoints
Debug architecture ARMv7.0
Data endian: little
Main ID register: 0x412FC09A
I-Cache L1: 32 KB, 256 Sets, 32 Bytes/Line, 4-Way
D-Cache L1: 32 KB, 256 Sets, 32 Bytes/Line, 4-Way
System control register:
Instruction endian: little
Level-1 instruction cache enabled
Level-1 data cache disabled
MMU disabled
Branch prediction disabled
Identifying
ROM Table ID 0x18181818 Base Address 0x82152000 Peripheral ID 0x1818181818 4KB Count = 2 JEP 106 code = 0x8 0x1 RevAnd 0x1 Customer Modified 0x8 Rev 1 Part Number 0x818 Device ID 0x38 Device Type 0x38
ROM Table 0x82152000
Skipping ROM Table Entry 0x006fdb6c
Skipping ROM Table Entry 0x006fdb6c
.
. (the "Skipping ROM Table Entry" message repeats many times...)
.
Detected core type doesn't agree with debug interface type project property
Should this work?
Neil
I have a -link Ultra+ connected to an NXP iMX6 (on a QWKS-SCMIMX6 development board) I need to be able to connect to and debug each of the ARM A9 cores in the SOC separately. I have seen mention of using separate GDB servers one of each core in order to do this, but in my case I am not using GDB. My development environment is Rowley CrossStudio which uses the JLinkARM.dll to interface to the j-link.
If I set the following in the Rowley target connect script,
TargetInterface.setDebugInterfaceProperty("set_adiv5_APB_ap_num", 1)
TargetInterface.setDebugInterfaceProperty("component_base", 0x82150000 )
I am able to connect to core 0, load and debug code just fine.
I tried changing the 'component_base' to 0x821520000 (for Core 1) but then the connect fails as follows,
Connecting ‘SEGGER J-Link’
Connecting to target using JTAG
Loaded C:/Program Files (x86)/SEGGER/JLink_V610f/JLinkARM.dll
Firmware Version: J-Link Ultra V4 compiled Sep 1 2016 18:31:22
DLL Version: 6.10f
Hardware Version: V4.00
Target Voltage: 3.135
Executing connect script
Loading target script file ARM_Target.js
Executing script TargetInterface.setDebugInterfaceProperty("set_adiv5_APB_ap_num", 1)
TargetInterface.setDebugInterfaceProperty("component_base", 0x82152000 )
Device "MCIMX6Q4" selected.
TotalIRLen = 13, IRPrint = 0x0101
ARM AP[0]: 0x44770001, AHB-AP
ARM AP[1]: 0x24770002, APB-AP
ROMTbl 0 [0]: 00001003, CID: B105900D, PID:04-003BB907 ETB
ROMTbl 0 [1]: 00002003, CID: B105900D, PID:04-002BB906 ECT / CTI
ROMTbl 0 [2]: 00003003, CID: B105900D, PID:04-004BB912 TPIU
ROMTbl 0 [3]: 00004003, CID: B105900D, PID:04-001BB908 CSTF
ROMTbl 0 [4]: 0000F003, CID: B105100D, PID:04-000BB4A9 ROM Table
ROMTbl 1 [0]: 00001003, CID: B105900D, PID:04-000BBC09 Cortex-A9
Found Cortex-A9 r2p10
6 code breakpoints, 4 data breakpoints
Debug architecture ARMv7.0
Data endian: little
Main ID register: 0x412FC09A
I-Cache L1: 32 KB, 256 Sets, 32 Bytes/Line, 4-Way
D-Cache L1: 32 KB, 256 Sets, 32 Bytes/Line, 4-Way
System control register:
Instruction endian: little
Level-1 instruction cache enabled
Level-1 data cache disabled
MMU disabled
Branch prediction disabled
Identifying
ROM Table ID 0x18181818 Base Address 0x82152000 Peripheral ID 0x1818181818 4KB Count = 2 JEP 106 code = 0x8 0x1 RevAnd 0x1 Customer Modified 0x8 Rev 1 Part Number 0x818 Device ID 0x38 Device Type 0x38
ROM Table 0x82152000
Skipping ROM Table Entry 0x006fdb6c
Skipping ROM Table Entry 0x006fdb6c
.
. (the "Skipping ROM Table Entry" message repeats many times...)
.
Detected core type doesn't agree with debug interface type project property
Should this work?
Neil