I'm currently working on enabling RAM ECC functionality and am running into several issues I have some questions on.
As I understand it, the ECC in the R4 core is always calculated and written (i.e. there is no way to enable or disable it). This I have gathered from this thread...
http://e2e.ti.com/support/microcontrollers/tms570/f/312/t/107339.aspx
So as I see it, the process for testing ECC functionality cannot be done as outlined in the spna126 guide (ECC Handling in TMSx70-Based Microcontrollers). Is this correct?
To summarize my questions:
1) What is recommended method of testing ECC functionality for the R4F Core? The only thing I can think of to test this is directly writing the ECC memory to purposely corrupt it.
2) What is the difference between enabling and disabling the RAM Wrapper ECC and the R4 CPU ECC? Is there a situation on the R4 where I would only want to do one vs the other? My initial understanding was the the wrapper disabled ECC reporting, and the R4 CPU ECC enable would disable the generation of the ECC data itself, but when I found this thread talking about how in the R4 the ECC is always generated, I became unclear on this.
3) I am a little unclear on what influence the debugger/Code Composer 4 has with RAM ECC. Should I expect to be able to read and write ECC covered RAM data and the ECC data itself through the debugger (and view in memory windows). Should I be able to monitor registers showing ECC failures (failed address, # of occurances, etc)? I noticed this statement in the spna125 guide...
In case of Cortex-R4, single stepping with ECC on results in an abort.
What exactly does this mean?
4) I noticed that HALCOGEN tool will generate some functions for enabling and disabling RAM ECC. This appears to have less functionality than the recommended methods in the spna126 guide? Can someone explain the differences?
5) Are there any examples of setting up and testing the RAM ECC functionality on the R4 that are available?