Hi,
I'm using a Blackhawk XDS560v2 to debug software on a AM335x based board. I'm observing the following very strange behaviour:
Reproduction scenario
- Connect the XDS560v2 to the setup.
- Power on XDS560v2.
- Power on the setup.
- Run CCS, launch our debug configuration (using LAN).
- Connect to Cortex-A8 target.
- Click CPU reset (SW) button.
- Load Program from COFF file.
- Put break-point on LDR instruction.
- Click Resume button.
- The debugger stops on the break-point.
- Click Assembly step into button.
Results
See the screen shot:
As the LDR instruction loads data from the 0x8007E410 address, and we see that it contains 0x8002DBB0, we would expect that R0 contains this value. However, we see that R0 contains some other value.
Additional notes
- This reproduces with both CCS 6.0.0.190 and CCS 6.0.1.40.
- This is not due to a single faulty AM335x chip piece. I reproduced it on two different boards (with different AM335x chip revisions).
- Most of the times the same software image runs fine if no break-point is set. However, sometimes it does fail to run (and pausing shows attempts to run on non-existing 0xExxxxxxx addresses). That's how I found this issue in the first place. I started debugging why sometimes the software does not run and after putting breakpoints found this.
What can be the reason for this strange behaviour? Am I missing something?
Best regards,
Vasili