Part Number: TMS320F28377S
Tool/software: Code Composer Studio
Hi,
We have an EMIF interface with an external chip. I'm currently debugging it with CCS, but I see the following behavior: The memory has the correct values, but once I got that (with a simple for, nothing complicated) I get random zeroes. So, for example, in the memory window, address 0x102A00, I see the following sequence (which is what I expect)
0005 1F41 0080 0151 0501
but once I copy the values into a buffer to be used by the application layers, I see random zeroes. For example I can read
0005 1F41 0000 0151 0501
or
0005 1F41 0000 0151 0000
I'm just guessing, but can it be that there's a concurrency problem? If so, how can I ensure that I have exclusive read access while copying the buffer? Or could this be related to something else?
(Edit):
Summarizing:
In the CCS memory browser, the data from the FPGA looks correct.
A function used to access the information uses a for cycle to copy data from the designated ram into another buffer (app layer).
The buffer ends up with one or two words corrupted with zeros. Sometimes one, sometimes two.
A step by step copies the data properly.