Posts by grum.kin

    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.