I have code that works on my old desktop just fine. I'm trying to move over to a new laptop, so I installed new versions of everything. I got it compile (eventually), but the debugger won't write to Flash & run code.
Tools:
working:
Windows 7, J-Link V496m, Eclipse Luna, msys, gae-4.9_2014q4
On the laptop:
Windows 10, J-Link V512f, Eclipse Mars, msys64, gae-4.9_2015q3 (gae 5.3 compiled it differently, and didn't fit into the size constraints)
Same J-Link debugger
Display All
This is the startup sequence on the working system:
Display All
Tools:
working:
Windows 7, J-Link V496m, Eclipse Luna, msys, gae-4.9_2014q4
On the laptop:
Windows 10, J-Link V512f, Eclipse Mars, msys64, gae-4.9_2015q3 (gae 5.3 compiled it differently, and didn't fit into the size constraints)
Same J-Link debugger
Source Code
- SEGGER J-Link GDB Server V5.12f Command Line Version
- JLinkARM.dll V5.12f (DLL compiled May 17 2016 16:03:35)
- -----GDB Server start settings-----
- GDBInit file: none
- GDB Server Listening port: 2331
- SWO raw output listening port: 2332
- Terminal I/O port: 2333
- Accept remote connection: localhost only
- Generate logfile: off
- Verify download: on
- Init regs on start: on
- Silent mode: off
- Single run mode: on
- Target connection timeout: 0 ms
- ------J-Link related settings------
- J-Link Host interface: USB
- J-Link script: none
- J-Link settings file: none
- ------Target related settings------
- Target device: SiM3U167
- Target interface: SWD
- Target interface speed: auto
- Target endian: little
- Connecting to J-Link...
- J-Link is connected.
- Firmware: J-Link V9 compiled Apr 22 2016 11:47:06
- Hardware: V9.30
- S/N: 59302821
- Feature(s): GDB
- Checking target voltage...
- Target voltage: 3.34 V
- Listening on TCP/IP port 2331
- Connecting to target...Connected to target
- Waiting for GDB connection...Connected to 127.0.0.1
- Reading all registers
- Read 4 bytes @ address 0x00000000 (Data = 0xFFFFFFFF)
- Target interface speed set to 400 kHz
- Resetting target
- Halting target CPU...
- ...Target halted (PC = 0xFFFFFFFE)
- R0 = 00000000, R1 = 00000000, R2 = 00000000, R3 = 00000000
- R4 = 00000000, R5 = 00000000, R6 = 00000000, R7 = 00000000
- R8 = 00000000, R9 = 00000000, R10= 00000000, R11= 00000000
- R12= 00000000, R13= FFFFFFFC, MSP= FFFFFFFC, PSP= 00000000
- R14(LR) = FFFFFFFF, R15(PC) = FFFFFFFE
- XPSR 01000000, APSR 00000000, EPSR 01000000, IPSR 00000000
- CFBP 00000000, CONTROL 00, FAULTMASK 00, BASEPRI 00, PRIMASK 00
- Reading all registers
- WARNING: Failed to read memory @ address 0xFFFFFFFE
- Select auto target interface speed (2000 kHz)
- Flash breakpoints enabled
- Semi-hosting enabled (Handle on BKPT)
- Semihosting I/O set to TELNET Client
- SWO disabled succesfully.
- SWO enabled succesfully.
- WARNING: Failed to read memory @ address 0xFFFFFFFE
- Downloading 280 bytes @ address 0x00000000 - Verified OK
- Downloading 4096 bytes @ address 0x00000118 - Verified OK
- Downloading 4096 bytes @ address 0x00001118 - Verified OK
- :
- Downloading 1024 bytes @ address 0x0001D000 - Verified OK
- Downloading 212 bytes @ address 0x0001D400 - Verified OK
- Downloading 4 bytes @ address 0x0001FFF8 - Verified OK
- Downloading 4 bytes @ address 0x0003FFFC - Verified OK
- Writing register (PC = 0x00002d18)
- Read 4 bytes @ address 0x00002D18 (Data = 0xF000B508)
- Read 2 bytes @ address 0x0000E730 (Data = 0xB530)
- Read 2 bytes @ address 0x0000E732 (Data = 0x2000)
- Read 2 bytes @ address 0x0000E734 (Data = 0xB083)
- Read 2 bytes @ address 0x0000E736 (Data = 0xF7F9)
- Read 2 bytes @ address 0x0000E738 (Data = 0xF9D5)
- Read 2 bytes @ address 0x0000E736 (Data = 0xF7F9)
- WARNING: Failed to reset CPU. VECTRESET has confused core.
- WARNING: CPU did not halt after reset.
- WARNING: CPU could not be halted
- WARNING: CPU did not halt after reset.
- WARNING: CPU could not be halted
- WARNING: S_RESET_ST not cleared
- :
- ERROR: DAP error while reading AIRCR / CPUID register
- Resetting target
- Halting target CPU...
- WARNING: CPU could not be halted
- ERROR: Can not read register 15 (R15) while CPU is running
- ...Target halted (PC = 0x00000000)
- Read 2 bytes @ address 0x0000E730 (Data = 0xB530)
- Read 2 bytes @ address 0x0000E732 (Data = 0x2000)
- Read 2 bytes @ address 0x0000E734 (Data = 0xB083)
- Read 2 bytes @ address 0x0000E736 (Data = 0xF7F9)
- Read 2 bytes @ address 0x0000E738 (Data = 0xF9D5)
- Read 2 bytes @ address 0x0000E736 (Data = 0xF7F9)
- ERROR: Can not read register 24 (PRIMASK) while CPU is running
- ERROR: Can not read register 25 (BASEPRI) while CPU is running
- ERROR: Can not read register 26 (FAULTMASK) while CPU is running
- :
- ERROR: Can not read register 1 (R1) while CPU is running
- ERROR: Can not read register 0 (R0) while CPU is running
- R0 = 00000000, R1 = 00000000, R2 = 00000000, R3 = 00000000
- R4 = 00000000, R5 = 00000000, R6 = 00000000, R7 = 00000000
- R8 = 00000000, R9 = 00000000, R10= 00000000, R11= 00000000
- R12= 00000000, R13= 00000000, MSP= 00000000, PSP= 00000000
- R14(LR) = 00000000, R15(PC) = 00000000
- XPSR 00000000, APSR 00000000, EPSR 00000000, IPSR 00000000
- CFBP 00000000, CONTROL 00, FAULTMASK 00, BASEPRI 00, PRIMASK 00
This is the startup sequence on the working system:
Source Code
- SEGGER J-Link GDB Server V4.96m Command Line Version
- JLinkARM.dll V4.96m (DLL compiled Mar 13 2015 15:13:04)
- -----GDB Server start settings-----
- GDBInit file: none
- GDB Server Listening port: 2331
- SWO raw output listening port: 2332
- Terminal I/O port: 2333
- Accept remote connection: localhost only
- Generate logfile: off
- Verify download: on
- Init regs on start: on
- Silent mode: off
- Single run mode: on
- Target connection timeout: 0 ms
- ------J-Link related settings------
- J-Link Host interface: USB
- J-Link script: none
- J-Link settings file: none
- ------Target related settings------
- Target device: SiM3U167
- Target interface: SWD
- Target interface speed: 0kHz
- Target endian: little
- Connecting to J-Link...
- J-Link is connected.
- Firmware: J-Link V9 compiled Apr 22 2016 11:47:06
- Hardware: V9.30
- S/N: 59302821
- Feature(s): GDB
- Checking target voltage...
- Target voltage: 3.35 V
- Listening on TCP/IP port 2331
- Connecting to target...Connected to target
- Waiting for GDB connection...Connected to 127.0.0.1
- Reading all registers
- Read 4 bytes @ address 0x00000000 (Data = 0xFFFFFFFF)
- Target interface speed set to 400 kHz
- Resetting target
- Halting target CPU...
- ...Target halted (PC = 0xFFFFFFFE)
- R0 = 00000000, R1 = 00000000, R2 = 00000000, R3 = 00000000
- R4 = 00000000, R5 = 00000000, R6 = 00000000, R7 = 00000000
- R8 = 00000000, R9 = 00000000, R10= 00000000, R11= 00000000
- R12= 00000000, R13= FFFFFFFC, MSP= FFFFFFFC, PSP= 00000000
- R14(LR) = FFFFFFFF, R15(PC) = FFFFFFFE
- XPSR 01000000, APSR 00000000, EPSR 01000000, IPSR 00000000
- CFBP 00000000, CONTROL 00, FAULTMASK 00, BASEPRI 00, PRIMASK 00
- Reading all registers
- WARNING: Failed to read memory @ address 0xFFFFFFFE
- Select auto target interface speed (2000 kHz)
- Flash breakpoints enabled
- Semi-hosting enabled (VectorAddr = 0x08)
- Semihosting I/O set to TELNET Client
- SWO disabled succesfully.
- SWO enabled succesfully.
- WARNING: Failed to read memory @ address 0xFFFFFFFE
- Downloading 280 bytes @ address 0x00000000 - Verified OK
- Downloading 4096 bytes @ address 0x00000118 - Verified OK
- :
- Downloading 212 bytes @ address 0x0001D408 - Verified OK
- Downloading 4 bytes @ address 0x0001FFF8 - Verified OK
- Downloading 4 bytes @ address 0x0003FFFC - Verified OK
- Writing register (PC = 0x00002d18)
- Read 4 bytes @ address 0x00002D18 (Data = 0xF000B508)
- Read 2 bytes @ address 0x00000000 (Data = 0x8000)
- :
- Read 2 bytes @ address 0x0000E68E (Data = 0x2000)
- Read 2 bytes @ address 0x0000E68C (Data = 0xB508)
- Resetting target
- Halting target CPU...
- ...Target halted (PC = 0x00000A28)
- Read 2 bytes @ address 0x0000E68E (Data = 0x2000)
- Read 2 bytes @ address 0x0000E68E (Data = 0x2000)
- Read 2 bytes @ address 0x0000E68C (Data = 0xB508)
- R0 = 00000000, R1 = 00000000, R2 = 00000000, R3 = 00000000
- R4 = 00000000, R5 = 00000000, R6 = 00000000, R7 = 00000000
- R8 = 00000000, R9 = 00000000, R10= 00000000, R11= 00000000
- R12= 00000000, R13= 20008000, MSP= 20008000, PSP= 00000000
- R14(LR) = FFFFFFFF, R15(PC) = 00000A28
- XPSR 01000000, APSR 00000000, EPSR 01000000, IPSR 00000000
- CFBP 00000000, CONTROL 00, FAULTMASK 00, BASEPRI 00, PRIMASK 00
- Reading all registers
- Read 4 bytes @ address 0x00000A28 (Data = 0x4B0AB508)
- Setting breakpoint @ address 0x00006812, Size = 2, BPHandle = 0x0002
- Setting breakpoint @ address 0x0000E68C, Size = 2, BPHandle = 0x0003
- Starting target CPU...