[SOLVED] Cannot convert floating-point register value to non-floating point type.

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [SOLVED] Cannot convert floating-point register value to non-floating point type.

    I'm trying to debug an arm cortex-m0 processor with a J-Link plus debugger from Ubuntu 16, but when I start the debugging session I get spammed with the following warning:
    "cannot convert floating-point register value to non-floating point type. Value has been optimized out".
    If I stop the debugging session(that hasn't really started), I'm not able to reconnect to the debugger since it states that I already have a running instance.
    I checked if a j-link task was running, and sure enough there was, but I was unable to kill it.

    Is there anyway to fix this?

    Note: I've tried debugging the same project on windows 10 with the same debugger and it works perfectly fine.

    Best regards
  • Hi,


    this warning does not sound familiar.
    At first glance, I would guess that the message is not printed by the J-Link software.
    Could you please provide us with a J-Link log file?

    Best regards,
    Niklas
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • The warning: "cannot convert floating-point register value to non-floating point type. Value has been optimized out" is from the console in Eclipse.
    If I start the GDB server from a terminal it keeps spamming the following in the console :
    " Starting target CPU...
    ...Breakpoint reached @ address 0x000022A4 "

    This does not stop until I stop the debugging in Eclipse.
    Furthermore I haven't placed any breakpoints in the code, the only one is a the temporary breakpoint at the start of main().

    SEGGER J-Link GDB Server V6.10i Command Line Version

    JLinkARM.dll V6.10i (DLL compiled Oct 25 2016 19:26:37)

    -----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: yes
    Generate logfile: off
    Verify download: off
    Init regs on start: off
    Silent mode: off
    Single run mode: off
    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: atsamd21g18
    Target interface: SWD
    Target interface speed: 1000kHz
    Target endian: little

    Connecting to J-Link...
    J-Link is connected.
    Firmware: J-Link V10 compiled Sep 1 2016 18:29:58
    Hardware: V10.10
    S/N: 600102037
    Feature(s): RDI, FlashBP, FlashDL, JFlash, 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 1 bytes @ address 0x0001064D (Data = 0xB5)
    Read 1 bytes @ address 0x0001064D (Data = 0xB5)
    Reading 64 bytes @ address 0x00010640
    Reading 8 bytes @ address 0x0001064D
    Reading 7 bytes @ address 0x0001064D
    Target interface speed set to 1000 kHz
    Resetting target
    Halting target CPU...
    ...Target halted (PC = 0x00001600)
    R0 = 00000000, R1 = A5A5A5A5, R2 = A5A5A5A5, R3 = 000075FD
    R4 = 200017D0, R5 = A5A5A5A5, R6 = 2000173C, R7 = 20001740
    R8 = 0001064D, R9 = 000119A5, R10= 20001810, R11= 2000176C
    R12= A5A5A5A5, R13= 20002048, MSP= 20002048, PSP= 20004EF0
    R14(LR) = 000107F1, R15(PC) = 00001600
    XPSR 61000000, APSR 60000000, EPSR 01000000, IPSR 00000000
    CFBP 00000000, CONTROL 00, FAULTMASK 00, BASEPRI 00, PRIMASK 00
    Reading all registers
    Read 1 bytes @ address 0x0001064D (Data = 0xB5)
    Read 1 bytes @ address 0x0001064D (Data = 0xB5)
    Reading 8 bytes @ address 0x0001064D
    Reading 7 bytes @ address 0x0001064D
    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.
    Downloading 4096 bytes @ address 0x00002100
    Downloading 4096 bytes @ address 0x00003100
    Downloading 4096 bytes @ address 0x00004100
    Downloading 4096 bytes @ address 0x00005100
    Downloading 4096 bytes @ address 0x00006100
    Downloading 4096 bytes @ address 0x00007100
    Downloading 4096 bytes @ address 0x00008100
    Downloading 4096 bytes @ address 0x00009100
    Downloading 4096 bytes @ address 0x0000A100
    Downloading 4096 bytes @ address 0x0000B100
    Downloading 4096 bytes @ address 0x0000C100
    Downloading 4096 bytes @ address 0x0000D100
    Downloading 4096 bytes @ address 0x0000E100
    Downloading 4096 bytes @ address 0x0000F100
    Downloading 4096 bytes @ address 0x00010100
    Downloading 4096 bytes @ address 0x00011100
    Downloading 4096 bytes @ address 0x00012100
    Downloading 4096 bytes @ address 0x00013100
    Downloading 4096 bytes @ address 0x00014100
    Downloading 4096 bytes @ address 0x00015100
    Downloading 4096 bytes @ address 0x00016100
    Downloading 4096 bytes @ address 0x00017100
    Downloading 4096 bytes @ address 0x00018100
    Downloading 4096 bytes @ address 0x00019100
    Downloading 4096 bytes @ address 0x0001A100
    Downloading 4096 bytes @ address 0x0001B100
    Downloading 4096 bytes @ address 0x0001C100
    Downloading 4096 bytes @ address 0x0001D100
    Downloading 704 bytes @ address 0x0001E100
    Downloading 460 bytes @ address 0x0001E3C0
    WARNING: CPU is running at very low speed (1335 kHz). Readback will be performed instead of CRC calculation.
    Writing register (R8 = 0x95a90000)
    WARNING: Unsupported register (23)
    Read 1 bytes @ address 0x000022A4 (Data = 0xF0)
    Read 1 bytes @ address 0x000022A5 (Data = 0xB5)
    Resetting target
    Halting target CPU...
    ...Target halted (PC = 0x00001600)
    Read 1 bytes @ address 0x000022A4 (Data = 0xF0)
    Read 1 bytes @ address 0x000022A5 (Data = 0xB5)
    R0 = 00000000, R1 = 41004004, R2 = 00000500, R3 = 00000A00
    R4 = 200003E0, R5 = FFFFFFFF, R6 = 00000080, R7 = 20000165
    R8 = 0001064D, R9 = 000119A5, R10= 20001810, R11= 2000176C
    R12= A5A5A5A5, R13= 20002048, MSP= 20002048, PSP= 20004EF0
    R14(LR) = 2000015D, R15(PC) = 00001600
    XPSR 41000000, APSR 40000000, EPSR 01000000, IPSR 00000000
    CFBP 00000000, CONTROL 00, FAULTMASK 00, BASEPRI 00, PRIMASK 00
    Reading all registers
    Setting breakpoint @ address 0x000022A4, Size = 4, BPHandle = 0x0001
    Setting breakpoint @ address 0x000022A5, Size = 4, BPHandle = 0x0002
    Starting target CPU...
    ...Breakpoint reached @ address 0x000022A4
    Reading all registers
    Starting target CPU...
    ...Breakpoint reached @ address 0x000022A4
    Reading all registers
    Starting target CPU...
    ...Breakpoint reached @ address 0x000022A4
    Reading all registers
    Starting target CPU...
    ...Breakpoint reached @ address 0x000022A4
    Reading all registers
    Starting target CPU...
    ...Breakpoint reached @ address 0x000022A4
    Reading all registers
    Starting target CPU...
    ...Breakpoint reached @ address 0x000022A4
    Reading all registers
    Starting target CPU...
    ...Breakpoint reached @ address 0x000022A4
    Reading all registers
    Starting target CPU...
    ...Breakpoint reached @ address 0x000022A4
    Reading all registers
    Starting target CPU...
    ...Breakpoint reached @ address 0x000022A4
    Reading all registers
    Starting target CPU...
    ...Breakpoint reached @ address 0x000022A4
    Reading all registers
    Starting target CPU...
    ...Breakpoint reached @ address 0x000022A4
    Reading all registers
    Starting target CPU...
    ...Breakpoint reached @ address 0x000022A4
    Reading all registers
    Starting target CPU...
    ...Breakpoint reached @ address 0x000022A4
    Reading all registers
    Starting target CPU...
    ...Breakpoint reached @ address 0x000022A4
    Reading all registers
    Starting target CPU...
    ...Breakpoint reached @ address 0x000022A4
    Reading all registers
    Starting target CPU...
    ...Breakpoint reached @ address 0x000022A4
    Reading all registers
    Starting target CPU...
    ...Breakpoint reached @ address 0x000022A4
    Reading all registers
    Starting target CPU...
    ...Breakpoint reached @ address 0x000022A4
    Reading all registers
    Starting target CPU...
    ...Breakpoint reached @ address 0x000022A4
    Reading all registers
    Starting target CPU...
    ...Breakpoint reached @ address 0x000022A4
    Reading all registers
    Starting target CPU...
    ...Breakpoint reached @ address 0x000022A4
  • Not sure if you've resolved this. I was getting the same error. The fix for me was to change GDB executable to be "arm-none-eabi-gdb". This is on the Debugger tab of the debug configuration. This is my first post, but I'll try to attach a picture.
    Images
    • gdb.png

      2.27 kB, 316×93, viewed 496 times