[SOLVED] SES for RISC-V V6.34a, View->Debug->Watch1: real time update does not work

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

  • [SOLVED] SES for RISC-V V6.34a, View->Debug->Watch1: real time update does not work

    SEGGER Embedded Studio for RISC-V
    Release 6.34a Build 2022083102.51023
    Windows x64

    Target Processor: HPM6750xVMx

    Debug with jlink v11 jtag

    As shown in the pictures, the value of TestVar can only be seen when the breakpoint takes effect. When I press F5 to run, the value of TestVar always displays 2863311530. This is also the case with Ozone.
    Images
    • SES1.png

      32.05 kB, 1,441×293, viewed 264 times
    • SES2.png

      31.43 kB, 1,442×289, viewed 276 times
  • Hello,

    Thank you for your inquiry.
    From the behaviour it appears that the variable is placed in stack which is probably not what you are aiming for.
    So instead try declaring the variable as static.

    Do you still see the issue then?

    If yes, could you provide a small example project for reproduction?

    Best regards,
    Nino
    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,

    Thank you for providing the example project.
    With it the issue is reproducible.
    It appears that the target device does not support background memory access for the memory area where the variable is located at.
    It reports that the memory read failed which returns the 0xaaaaaaaa value which is in decimal the 2863311530 that you see.

    That is why you only see the correct value when the chip is halted.
    It is simply a hardware limitation by the HPM6750.

    Best regards,
    Nino
    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,

    With your prompt, I know the cause of the problem.

    The HPM6750 has multiple pieces of RAM, namely ILM DLM SRAM and SDRAM.
    Among them, ILM and DLM can only be accessed by the CPU itself, not via the AXI bus.

    Watch1 displays variable values through AXI bus. Therefore, when TestVar is assigned to ILM or DLM, the value will be abnormal.

    This problem can be solved by assigning TestVar to SRAM. Or SLV can be used to access ILM and DLM.

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

  • Hello,

    OK. Great to hear that you are up and running again.
    We will consider this thread as solved now.

    Best regards,
    Nino
    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.