I am encountering a problem with JLinkGDBServerCL.exe when using an EFR32xG24 chip with JLink software versions after V7.92q. As shown in the terminal output below, V7.94 gets stuck during the “Comparing Flash” step for 2+ minutes and then displays the error message “Timeout while calculating CRC, RAMCode did not respond in time!”. I am able to debug normally after this happens.
Again, The issue does not occur with V7.92q, only subsequent versions. As shown in the image from the JLink Change log I have attached, V7.94 had specific updates for this chip - perhaps a new problem was introduced?
Note that I have replaced the specifc chip I am using with EFR32xG24 in the command line example for this post!
"C:/Program Files/SEGGER/JLink_V794/JLinkGDBServerCL.exe" -singlerun -nogui -if swd -port 50000 -swoport 50001 -telnetport 50002 -device EFR32xG24 -rtttelnetport 19021
SEGGER J-Link GDB Server V7.94 Command Line Version
JLinkARM.dll V7.94 (DLL compiled Nov 29 2023 13:41:24)
Command line: -singlerun -nogui -if swd -port 50000 -swoport 50001 -telnetport 50002 -device EFR32xG24 -rtttelnetport 19021
-----GDB Server start settings-----
GDBInit file: none
GDB Server Listening port: 50000
SWO raw output listening port: 50001
Terminal I/O port: 50002
Accept remote connection: localhost only
Generate logfile: off
Verify download: off
Init regs on start: off
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: EFR32xG24
Target device parameters: none
Target interface: SWD
Target interface speed: 4000kHz
Target endian: little
RTT Telnet Port set to 19021
Connecting to J-Link...
J-Link is connected.
Firmware: J-Link V10 compiled Jan 30 2023 11:28:07
Hardware: V10.10
S/N: 50106436
Feature(s): GDB
Checking target voltage...
Target voltage: 3.59 V
Listening on TCP/IP port 50000
Connecting to target...
Halting core...
Core security extensions: Implemented
Connected to target
Waiting for GDB connection...Connected to 0000:0000:0000:0000:0000:0000:0000:0001
GDB client (conn. 572) requested target.xml from GDB Server
Reading common registers: Read register 'r0' (4 bytes) from hardware: 0x00000000
Read register 'r1' (4 bytes) from hardware: 0x5CAD0020
Read register 'r2' (4 bytes) from hardware: 0x30EFC006
Read register 'r3' (4 bytes) from hardware: 0x00000000
Read register 'r4' (4 bytes) from hardware: 0xB0D50020
Read register 'r5' (4 bytes) from hardware: 0x00000000
Read register 'r6' (4 bytes) from hardware: 0x04400640
Read register 'r7' (4 bytes) from hardware: 0x00000000
Read register 'r8' (4 bytes) from hardware: 0xFFFFFFFF
Read register 'r9' (4 bytes) from hardware: 0xFFFFFFFF
Read register 'r10' (4 bytes) from hardware: 0xFFFFFFFF
Read register 'r11' (4 bytes) from hardware: 0xFFFFFFFF
Read register 'r12' (4 bytes) from hardware: 0x02000000
Read register 'sp' (4 bytes) from hardware: 0xD8D50020
Read register 'lr' (4 bytes) from hardware: 0x41C90008
Read register 'pc' (4 bytes) from hardware: 0x5AD60208
Read register 'xpsr' (4 bytes) from hardware: 0x00000069
Read 4 bytes @ address 0x0802D65A (Data = 0xFFD5F7E5)
Reading 64 bytes @ address 0x2000D5C0
Received monitor command: reset 2
Resets core & peripherals using RESET pin.
Received monitor command: halt
Halting target CPU...
...Target halted (PC = 0x0800F8CC)
Received monitor command: reset
Resetting target
Downloading 12944 bytes @ address 0x08000000
Downloading 368 bytes @ address 0x08008000
Downloading 128 bytes @ address 0x08008170
Downloading 16256 bytes @ address 0x080081F0
Downloading 16192 bytes @ address 0x0800C170
Downloading 16224 bytes @ address 0x080100B0
Downloading 16176 bytes @ address 0x08014010
Downloading 16240 bytes @ address 0x08017F40
Downloading 16224 bytes @ address 0x0801BEB0
Downloading 16224 bytes @ address 0x0801FE10
Downloading 16192 bytes @ address 0x08023D70
Downloading 16208 bytes @ address 0x08027CB0
Downloading 16208 bytes @ address 0x0802BC00
Downloading 16176 bytes @ address 0x0802FB50
Downloading 16176 bytes @ address 0x08033A80
Downloading 16240 bytes @ address 0x080379B0
Downloading 16192 bytes @ address 0x0803B920
Downloading 16192 bytes @ address 0x0803F860
Downloading 16224 bytes @ address 0x080437A0
Downloading 16160 bytes @ address 0x08047700
Downloading 16224 bytes @ address 0x0804B620
Downloading 11272 bytes @ address 0x0804F580
Downloading 328 bytes @ address 0x080FE000
Writing register 'pc' = 0x08050978
Comparing flash [....................] Done.
Erasing flash [....................] Done.
ERROR: Timeout while erasing sectors, RAMCode did not respond in time!
Failed to erase sectors.
Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respo
Received monitor command: reset
Resetting target
After this, it tries again and works fine.
Again, The issue does not occur with V7.92q, only subsequent versions. As shown in the image from the JLink Change log I have attached, V7.94 had specific updates for this chip - perhaps a new problem was introduced?
Note that I have replaced the specifc chip I am using with EFR32xG24 in the command line example for this post!
"C:/Program Files/SEGGER/JLink_V794/JLinkGDBServerCL.exe" -singlerun -nogui -if swd -port 50000 -swoport 50001 -telnetport 50002 -device EFR32xG24 -rtttelnetport 19021
SEGGER J-Link GDB Server V7.94 Command Line Version
JLinkARM.dll V7.94 (DLL compiled Nov 29 2023 13:41:24)
Command line: -singlerun -nogui -if swd -port 50000 -swoport 50001 -telnetport 50002 -device EFR32xG24 -rtttelnetport 19021
-----GDB Server start settings-----
GDBInit file: none
GDB Server Listening port: 50000
SWO raw output listening port: 50001
Terminal I/O port: 50002
Accept remote connection: localhost only
Generate logfile: off
Verify download: off
Init regs on start: off
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: EFR32xG24
Target device parameters: none
Target interface: SWD
Target interface speed: 4000kHz
Target endian: little
RTT Telnet Port set to 19021
Connecting to J-Link...
J-Link is connected.
Firmware: J-Link V10 compiled Jan 30 2023 11:28:07
Hardware: V10.10
S/N: 50106436
Feature(s): GDB
Checking target voltage...
Target voltage: 3.59 V
Listening on TCP/IP port 50000
Connecting to target...
Halting core...
Core security extensions: Implemented
Connected to target
Waiting for GDB connection...Connected to 0000:0000:0000:0000:0000:0000:0000:0001
GDB client (conn. 572) requested target.xml from GDB Server
Reading common registers: Read register 'r0' (4 bytes) from hardware: 0x00000000
Read register 'r1' (4 bytes) from hardware: 0x5CAD0020
Read register 'r2' (4 bytes) from hardware: 0x30EFC006
Read register 'r3' (4 bytes) from hardware: 0x00000000
Read register 'r4' (4 bytes) from hardware: 0xB0D50020
Read register 'r5' (4 bytes) from hardware: 0x00000000
Read register 'r6' (4 bytes) from hardware: 0x04400640
Read register 'r7' (4 bytes) from hardware: 0x00000000
Read register 'r8' (4 bytes) from hardware: 0xFFFFFFFF
Read register 'r9' (4 bytes) from hardware: 0xFFFFFFFF
Read register 'r10' (4 bytes) from hardware: 0xFFFFFFFF
Read register 'r11' (4 bytes) from hardware: 0xFFFFFFFF
Read register 'r12' (4 bytes) from hardware: 0x02000000
Read register 'sp' (4 bytes) from hardware: 0xD8D50020
Read register 'lr' (4 bytes) from hardware: 0x41C90008
Read register 'pc' (4 bytes) from hardware: 0x5AD60208
Read register 'xpsr' (4 bytes) from hardware: 0x00000069
Read 4 bytes @ address 0x0802D65A (Data = 0xFFD5F7E5)
Reading 64 bytes @ address 0x2000D5C0
Received monitor command: reset 2
Resets core & peripherals using RESET pin.
Received monitor command: halt
Halting target CPU...
...Target halted (PC = 0x0800F8CC)
Received monitor command: reset
Resetting target
Downloading 12944 bytes @ address 0x08000000
Downloading 368 bytes @ address 0x08008000
Downloading 128 bytes @ address 0x08008170
Downloading 16256 bytes @ address 0x080081F0
Downloading 16192 bytes @ address 0x0800C170
Downloading 16224 bytes @ address 0x080100B0
Downloading 16176 bytes @ address 0x08014010
Downloading 16240 bytes @ address 0x08017F40
Downloading 16224 bytes @ address 0x0801BEB0
Downloading 16224 bytes @ address 0x0801FE10
Downloading 16192 bytes @ address 0x08023D70
Downloading 16208 bytes @ address 0x08027CB0
Downloading 16208 bytes @ address 0x0802BC00
Downloading 16176 bytes @ address 0x0802FB50
Downloading 16176 bytes @ address 0x08033A80
Downloading 16240 bytes @ address 0x080379B0
Downloading 16192 bytes @ address 0x0803B920
Downloading 16192 bytes @ address 0x0803F860
Downloading 16224 bytes @ address 0x080437A0
Downloading 16160 bytes @ address 0x08047700
Downloading 16224 bytes @ address 0x0804B620
Downloading 11272 bytes @ address 0x0804F580
Downloading 328 bytes @ address 0x080FE000
Writing register 'pc' = 0x08050978
Comparing flash [....................] Done.
Erasing flash [....................] Done.
ERROR: Timeout while erasing sectors, RAMCode did not respond in time!
Failed to erase sectors.
Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respond in time!Timeout while calculating CRC, RAMCode did not respo
Received monitor command: reset
Resetting target
After this, it tries again and works fine.