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.
Dear Champs
i am asking this for our customer.
The user reports in TI example “erad_ex6_hwbp_stack_overflow”, he found the registers seem correct by using RAM in the build configuration below.
but when using flash in build configuration, they seem wrong.
would you please confirm?
is there any consideration when using ERAD?
for example, the user needs to move some specific codes from flash to RAM first?
if so, what codes should they need to move?
By using another example “erad_ex8_hwbp_threshold_detection”, they found the symptoms were similar
Would you please clarify?
Wayne Huang
Hi,
ERAD is also being used by the CCS for inserting the hardware breakpoints. In case of Flash configuration, all breakpoints would use Hardware breakpoints, C28x core supports 2 HW breakpoints. For additional breakpoints, CCS configures the ERAD module and configures debugger as the ERAD module owner
Regards,
Veena
Dear Veena
You meant if the user wants to use flash configuration, they should use only 2 HW breakpoints because the examples have used another breakpoints of ERAD?
is our understanding correct?
Yes, That is correct. For application debugging, RAM config can be used. It allows usage of software breakpoints which does not require any hardware resources
Dear Veena,
The user said the issue was still there even they use only one HW breakpoint or use no hardware breakpoint.
Debug Registers (memory mapped) value incorrect.
Do you have any other comment?
Hi Wayne,
Even if user does not add a breakpoint, CCS by default uses one at the start of main and for singe stepping. As per my understanding, the first 2 breakpoints would be inserted using the C28x core breakpoints, only the additional breakpoints would use ERAD.
Regards,
Veena
Dear Veena,
I am still confused.
The user is troubled at flash build configuration even when they use 1x HW breakpoint and find the ERAD register values are not correct.
You say CCS uses 1x HW breakpoint by default.
It seems there are only 2x HW breakpoints. Why are these ERAD register values incorrect?
Does that mean by using flash mode and CCS, they cannot use any watch window to see ERAD registers on CCS?
They should only use standalone mode (without CCS) for ERAD debug like outputting ERAD register value by a communication port like UART?
Wayne
Dear Veena,
I tried to use C2000ware V4.01 to see the user's problem but I could not reproduce this issue.
That is, the ERAD registers I saw were same with F280049LP_RAM and F280049LP_flashs mode in build configurations.
However, I found the example in c2000ware V4.01 is "erad_ex3_stack_overflow_detect.c" rather than "erad_ex6_hwbp_stack_overflow" the user used.
Therefore, I wonder if this example (these examples) have any major change/update during past releases in c2000ware?
If yes, what and why was the major update?
Wayne
erad_ex6_hwbp_stack_overflow was available in C2000ware 3.4 release, when the ERAD driver was not available. In 4.00 we added ERAD driver and updated and added more examples using the driver functions
Is there a difference in the CCS versions?
Regards,
Veena
Dear Veena
The user used C2000ware V2.01 by compiler V18.12.2.LTS.
I used the latest C2000ware V4.01 by compiler V22.6.0.LTS.
The user will try with the latest C2000ware V4.01 and try to clarify this.
Meanwhile, the user is asking for a revision history for this example between C2000ware V2.01 to V4.01
This is for automotive OEM and it's not easy for them to update the underlying library/drivers unless they have a valid reason.
Would you please show us and send me offline the revision history for this example?
Wayne
Hi Wayne,
More than the compiler, the CCS version would be affecting these ERAD breakpoint behavior. It is CCS Debug module that configures the ERAD for inserting the breakpoints.
The C2000ware Release notes captures the details of all the enhancements an bug fixes included in the release
Regards,
Veena
Dear Veena,
Do you mean the release notes of C2000ware in this link?
https://software-dl.ti.com/C2000/c2000_apps_public_sw/c2000ware/4_01_00_00/release_notes.html
It does not mention how an individual example like ERAD updates.
Or do you mean anything else?
Would you please show us explicitly?
Wayne
Hi Wayne,
There is also a Release Notes pdf file with details. This change is captured under new examples. The existing example, which used direct register access were replaced by the new examples
"ERAD new examples - non-intrusive diagnostics on F28004x, F2838x and F28002x"
This also lists outs the known issues and limitations.
"F2838x ERAD examples are not validated with Flash build configuration because of the known issue DBGTRC-6023"
Regards,
Veena
Dear Veena,
I see.
It seems it's related to CCS. After upgrading to CCS 12.0, the user found it works.
Thank you for your support.
Wayne Huang