This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F280049C: C28x_STL_LIB tests failing with debugger attached, they pass when debugging session is stopped

Part Number: TMS320F280049C
Other Parts Discussed in Thread: C2000WARE

This is a question related to TMS320F280049: C28x STL software test application fails to return PSA value - C2000 microcontrollers forum - C2000Tm︎ microcontrollers - TI E2E support forums

I'm working with Siu (original poster of the question above) on integrating the C28x STL library and tests into our application.

For a bit more context, our application uses SYS/BIOS as RTOS, C2000Ware and C2000WareMotorControl.

After much effort, we successfully integrated the C28x STL library and CPU tests into our application. However, I wanted to ask a question:

I managed to integrate your test_app (f28004x_c28x_stl_lib_test_app) into our application successfully and call it in main() with a debugger attached and no breakpoints, all the tests failed constantly. This example runs in an infinite loop, so I can see on the Serial output that none of the PSA values match. However, when I stopped the debugging session, all the tests started to Pass.

Do you have an explanation for this? For context, we are using the FLASH_RELEASE build the C28x_STL library.

  • Can you check to see if you have any of these "Program/Memory Load Options" breakpoints enabled and if disabling them makes a difference?

    Another debug feature that conflicts with the PSAs is the CCS clock feature for measuring cycle counts. If you have that enabled, it will cause failures as well.

    I've seen occasional failures caused by turning on continuous refresh in the Expressions/Registers/Memory Browser/etc... views, but those typically aren't constant like you're seeing unless maybe you've shortened the refresh interval.

    Whitney

  • Thank you for the suggestion. As you pointed out, unselecting the third option "Enable CIO function use (requires setting a breakpoint) fixed the issue.

    Also, this option doesn't seem to be a problem in the example application f28004x_c28x_stl_lib_test_app. Why is that?

    Could you give me a detailed explanation of why this is happening? I'm documenting this issue for future reference, so I want to understand as much as possible. 

    Thank you again.

  • Does your application use any CIO?

    I'm not an expert on the debug logic and how CCS utilizes it, but I have a few ideas. The PSAs are monitoring bus activity and calculating a signature based on what they see, so it may be seeing some traffic from the debugger activity. There's also the fact that the PSAs and the watchpoints used for some breakpoints (ERAD also provides breakpoints) are part of the same emulation analysis block so there maybe some overlap in the resources they're using.

    Whitney