[SOLVED] Cortex-A7 FPU registers D16-D31 wrongly displayed

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

  • [SOLVED] Cortex-A7 FPU registers D16-D31 wrongly displayed

    Hello!
    Using latest Ozone (v3.38a) debugging .elf application for IMX6ULL (Cortex-A7), the second part of double precision registers (D16 to D31) are displayed incorrectly:


    It seems only lower 32 bits of the double register is intact, but high 32 bits are zeroed out for some reason.
    This is user interface only issue, registers contents are actually right and CPU execution goes as intended.

    In the J-Link web control panel these registers are fine with full 64 bit data:


    In IAR EW debugger all is fine also - double precision registers D0-D31 are displayed and edited OK.

    Regards, Vlad.
  • Hi Vlad,
    thanks for letting us know. We are not aware of such an issue.
    Which SVD file are you using? Is it `Cortex-A7.svd` that is coming with Ozone? Are you able to reproduce the issue on an eval board? If so: which one? Could you please provide a J-Link log recorded during a debug session where the issue is reproduced? The register window should show, a in your screenshot, both some registers where the display is correct (i.e. D0..D15) as well as registers where the display is incorrect (i.e. D16..D31). Could you also please provide a screenshot where the register content is displayed as hex value?
    Best regards
    -- AlexD
    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.
  • Hello, Alex.
    Yes, indeed i'am using .svd file from Ozone installation: C:/Program Files/SEGGER/Ozone V3.38a/Config/CPU/Cortex-A7.svd

    Board i'am working with is MYS-6ULX Single Board Computer from MYIR, i don't have any evaluation board, sorry.

    .log file is attached.
    Which is strange - in the log the D registers are seems to read fine in full 64 bits (and D29 is named as D39 for some reason):

    Source Code

    1. D16=0x0008000000200000
    2. D17=0x00
    3. D18=0x0008000000200000
    4. D19=0x0002000000040000
    5. D20=0x80001C0E80001C0E
    6. D21=0x80001C0E80001C0E
    7. D22=0x8FD01C0E8FC01C0E
    8. D23=0x8FF01C0E8FE01C0E
    9. D24=0x0CD004160CC00416
    10. D25=0x0CF004160CE00416
    11. D26=0x0D1004160D000416
    12. D27=0x0D3004160D200416
    13. D28=0x0D5004160D400416
    14. D39=0x0D7004160D600416
    15. D30=0x0D9004160D800416
    16. D31=0x0DB004160DA00416
    Display All
    And the screenshots:





    PS: attached board initialization script, in case it might be helpful.

    Regards,
    Vlad.
    Files
    • jlink.zip

      (40.65 kB, downloaded 232 times, last: )
    • ddr_init.zip

      (1.13 kB, downloaded 293 times, last: )

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

  • Hi,
    thank you for providing the details. It appears to be the case that Ozone somehow swallows the upper 32 bits of the registers D16..D31.
    We will need to have a closer look for reproducing the issue locally.
    Best regards
    -- AlexD
    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.
  • Hi Vlad,
    we are able to reproduce the issue. A fix will be provided in a future Ozone release.
    Thanks for notifying us!
    Best regards
    -- AlexD
    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.
  • Hi Sonycman,
    thank you for the flowers!
    In case you do not yet know: For getting a notification once a new Ozone version is released, please register here:
    segger.com/notification/subscribe.php?prodid=178
    Best regards
    -- AlexD
    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.