I can upload and erase flash using a custom LinkServer algorithm, however I cannot debug. Starting gdbserver works, however when trying to connect I get a myriad of errors:
INFO: [stub (3333)] Pb: (100) Finished writing Flash successfully.
INFO: [stub (3333)] Wc: ============= SCRIPT: RT1160_reset_M7.scp =============
Wc: This probe = 1
Wc: This TAP = 0
Wc: This core = 0
Wc: SYSTEM Reset
Wc: Wirespeed = 10000000 Hz
Wc: Error: Wire Ack Fault - target connected?
Wc: DpID = 6BA02477
INFO: [stub (3333)] Wc: TAP 0: 6BA02477 Core 0: M7 APID: 84770001 ROM Table: E00FD003*
Wc: TAP 0: 6BA02477 AP 1: APID: 24770011 ROM Table: E00FF003
Wc: TAP 0: 6BA02477 AP 2: APID: 54770002 ROM Table: 00000002
Wc: APID = 0x84770001
Wc: View cores on the DAP AP
Wc: TAP 0: 6BA02477 Core 0: M7 APID: 84770001 ROM Table: E00FD003*
Wc: R15 = 0x00223104
Wc: Vector table SP/PC is the reset context.
Wc: PC = 0x3000EF1D
Wc: SP = 0x8021C450
Wc: XPSR = 0x01000000
Wc: VTOR = 0x30002000
Wc: Set DEMCR = 0x010007F1
Wc: ============= END SCRIPT ==============================
INFO: [stub (3333)] Nc: Using memory from core 0 after searching for a good core
INFO: [stub (3333)] Pc: ( 30) Emulator Connected
INFO: [stub (3333)] Pc: ( 40) Debug Halt
INFO: [stub (3333)] Pc: ( 50) CPU ID
INFO: [stub (3333)] Nc: debug interface type = CoreSight DP (DAP DP ID 6BA02477) over SWD TAP 0
Nc: processor type = Cortex-M7 (CPU ID 00000C27) on DAP AP 0
Nc: number of h/w breakpoints = 8
Nc: number of flash patches = 0
Nc: number of h/w watchpoints = 4
INFO: [stub (3333)] Wc: ============= SCRIPT: RT1160_reset_M7.scp =============
Wc: This probe = 1
Wc: This TAP = 0
Wc: This core = 0
Wc: SYSTEM Reset
Wc: Wirespeed = 10000000 Hz
Wc: DpID = 6BA02477
Wc: TAP 0: 6BA02477 Core 0: M7 APID: 84770001 ROM Table: E00FD003*
Wc: TAP 0: 6BA02477 AP 1: APID: 24770011 ROM Table: E00FF003
Wc: TAP 0: 6BA02477 AP 2: APID: 54770002 ROM Table: 00000002
Wc: APID = 0x84770001
INFO: [stub (3333)] Wc: View cores on the DAP AP
Wc: TAP 0: 6BA02477 Core 0: M7 APID: 84770001 ROM Table: E00FD003*
Wc: R15 = 0x00223104
Wc: Vector table SP/PC is the reset context.
Wc: PC = 0xFFFFFFFF
Wc: SP = 0xFFFFFFFF
Wc: XPSR = 0x01000000
Wc: VTOR = 0x30002000
Wc: Set DEMCR = 0x010007F1
Wc: ============= END SCRIPT ==============================
INFO: [stub (3333)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access
INFO: [stub (3333)] Xw:
INFO: [stub (3333)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access
INFO: [stub (3333)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access
INFO: [stub (3333)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access
INFO: [stub (3333)] Nc: state - running or following reset request - re-read of state failed - rc Nn(05). Wire ACK Fault in DAP access
The second reset script invocation seems to be where the problem occurs. Strangely enough, when I start LinkServer gdbserver with --attach option, I can connect with the debugger.
The issue might have something to do with the FlexSPI control block - when I'm using Octal DDR mode, I can connect and debug; when I'm using XSPI I can't.