[SOLVED] Reading ARM VFP3/NEON registers with j-link gdbserver

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

  • [SOLVED] Reading ARM VFP3/NEON registers with j-link gdbserver

    How can I read the ARM VFP3 and NEON registers using GDB on my Freescale VF6xx_A5? Has anybody already succeeded with this?

    By default only f0-f7 are displayed, but I would like to see the d0-d15 and s0-s15 registers.
    I already tried overriding the target description with a custom one:

    Source Code

    1. <target>
    2. <feature name="org.gnu.gdb.arm.core">
    3. <reg name="r0" bitsize="32"/>
    4. <reg name="r1" bitsize="32"/>
    5. <reg name="r2" bitsize="32"/>
    6. <reg name="r3" bitsize="32"/>
    7. <reg name="r4" bitsize="32"/>
    8. <reg name="r5" bitsize="32"/>
    9. <reg name="r6" bitsize="32"/>
    10. <reg name="r7" bitsize="32"/>
    11. <reg name="r8" bitsize="32"/>
    12. <reg name="r9" bitsize="32"/>
    13. <reg name="r10" bitsize="32"/>
    14. <reg name="r11" bitsize="32"/>
    15. <reg name="r12" bitsize="32"/>
    16. <reg name="sp" bitsize="32" type="data_ptr"/>
    17. <reg name="lr" bitsize="32"/>
    18. <reg name="pc" bitsize="32" type="code_ptr"/>
    19. <reg name="cpsr" bitsize="32"/>
    20. </feature>
    21. <feature name="org.gnu.gdb.arm.vfp">
    22. <reg name="d0" bitsize="64" type="ieee_double"/>
    23. <reg name="d1" bitsize="64" type="ieee_double"/>
    24. <reg name="d2" bitsize="64" type="ieee_double"/>
    25. <reg name="d3" bitsize="64" type="ieee_double"/>
    26. <reg name="d4" bitsize="64" type="ieee_double"/>
    27. <reg name="d5" bitsize="64" type="ieee_double"/>
    28. <reg name="d6" bitsize="64" type="ieee_double"/>
    29. <reg name="d7" bitsize="64" type="ieee_double"/>
    30. <reg name="d8" bitsize="64" type="ieee_double"/>
    31. <reg name="d9" bitsize="64" type="ieee_double"/>
    32. <reg name="d10" bitsize="64" type="ieee_double"/>
    33. <reg name="d11" bitsize="64" type="ieee_double"/>
    34. <reg name="d12" bitsize="64" type="ieee_double"/>
    35. <reg name="d13" bitsize="64" type="ieee_double"/>
    36. <reg name="d14" bitsize="64" type="ieee_double"/>
    37. <reg name="d15" bitsize="64" type="ieee_double"/>
    38. </feature>
    39. </target>
    Display All


    With this description the dX and sX registers are displayed but have value "0" and do not reflect the current values.
    Any suggestions are welcome, thanks!

    The post was edited 1 time, last by szalkowski_bbv ().

  • Hi,

    As communicated via E-Mail support:
    This is currently a limitation in GDB Server, which does not know the extended register set for Cortex-A including the VFP registers, but in general J-Link is able to read these registers.

    We will add the improvement for GDB Server to the next release of the J-Link Software, planned for next week.


    Best regards
    Erik
    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.
  • VFP register support has been addded in software version v4.96b of the J-Link software.
    Link: segger.com/jlink-software.html

    Can you please give it a short try and confirm that it is working?


    Best regards
    Erik
    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.