Post Go back to editing

Unable to execute by step

Category: Software
Product Number: ADSP-21569
Software Version: EV-2156x_EZ-KIT-Rel3.0.0

We are using EV-21569-SOM and EV-SOMCRR-EZKIT hardware, and Board support package (EV-2156x_EZ-KIT-Rel3.0.0), and also using Debug-Agent on EV-SOMCRR-EZKIT board.

When we use sample software Audio_Passthrough_I2S_21569 in the BSP, we cannot execute by step on the specific part:
adi_sport_Enable() in adi_sport_2156x.c at SHARC/lib/src/drivers/Source/sport,
which is called by Sport_Init() in Audio_Passthrough_I2S.c

If I run by step in this function, the debugger always hangs and after I suspend the execution, the location is always in  __dispatcher_SEC.

At that time, the following error may appear. Sometimes it does not appear:
ERROR: Target halted due to software breakpoint but no breakpoint found at address: 0x1c0673 ()

Could you let me know if there is a solution or settings to check?

Best Regards,
Junki Asai.

Thread Notes

Parents
  • Hi Asai-san,

    Thank you for your inquiry. Can you please let me know if you are able to do step by step debug via ICE1000/2000.

    Hope you have already included sport driver via system.svc. Because we are able to stepin via ICE1000 emulator.

    Waiting for your reply.

    Best Regards,
    Santhakumari.V

  • Hi Santhakumari-san,

    Previously, I borrowed ICE-2000 and tried it, but the same phenomena happened.

    When I want to use sport driver via system.svc, is there any setting required?

    Best regards,
    Junki Asai.

  • Hi Asai San,

    You can add SSLDD driver modules as per the below image. As you are using BSP, the corresponding modules already added via system.svc. 

     

    So please confirm that you are unable to step into the code after the line that enables SPORT inside adi_sport_enable() API, as shown in the image below:

     

     

    Because once this line is executed, the SPORT begins transferring data at the configured MHz, which results in the ISR being processed after each transfer. Since this occurs at high speed, it is the reason users are unable to step in after enabling the SPORT.

    Please note that in the audio pass-through project, it is not advisable to place a breakpoint or step into the code after enabling the SPORT, as this can lead to synchronization issues and affect the audio output.

    Hope this helps. 

    Best Regards,

    Santhakumari.V

  • Hi Santhakumari-san,

    Thank you for your quick reply. I understood that frequent interrupts inpede the break operation.
    After SPORT is enabled, "Step-Over" or "Step-Into" has a high probability of failure, on the other side, "Run-to-Line" has a high probability of success, in my experience.

    For future reference, are the above two mechanisms different?
    Furthermore, does break operation use the same mechanism as other interrupts? (Interrupts prevent break operation?)

    Best regards,
    Junki Asai.

  • Hi Asai-San,

    When using Step-Over or Step-Into, the user needs to execute the application line by line. However, if you set a breakpoint at a specific line and run the application directly to that point, it might work properly even after enabling the SPORT, since this process needs very less time for the breakpoint to be hit.

    For debugging purpose, you can use "Mask interrupts during step" option. To enable this option, after debug go to 'Target ->Settings'->'Target options' and turn on the option "Mask interrupts during step" and then step in the code.

    The "Mask interrupts during step" option modifies the interrupt mask registers, so you should be aware that when this option is used, the interrupt is masked, so no ISR code will be called during the stepping process.

    Hope this helps.

    Best Regards,
    Santhakumari.V

  • Hi Santhakumari-san,

    When I use "Mask interrupts during step", Step-Over or Step-into can be used smoothly for debugging purposes.
    Thank you for your suggestion.

    Best regards,
    Junki Asai.

Reply Children
No Data