Other Parts Discussed in Thread: LAUNCHXL2-RM57L, HALCOGEN
Some background information and Problem Details:
- Hardware Platform: LAUNCHXL2-RM57L
- HALCoGen:4.06.01.
- Problem: Every time the processor finished executing __TI_auto_init(), the register ESMSR2 is changed to 0x8. This problem can be reproduced 100% on my hardware platform.
- checked this topic already:
. But I don't have the same situation here: I don't use EMIF at all.
- In the CCS Debug Configuration, I selected ECC generation.
Some testing results:
- I used the startup code generated by HALCoGen, in which _memInit_() is called.
- I tested with MPU enabled or not enabled. In both cases will the problem occur. So it should not be a MPU problem.
- I checked some addresses of SRAM in Memory View, and their values are all Zeros. Besides, the value of RAMERRSTATUS in L2RAMW is 0(via Register View). So I guess the SRAM is running good.
- I tried to enable the PMU and its event counters to count these 3 events:
- Event Ref 0x6f - All fatal events
- Event Ref 0x70 - All correctable bus faults
- Event Ref 0x71 - All fatal bus faults
- Found that right after __TI_auto_init(), those 3 counters' values are 1/2/1 respectively.
- Sometimes I let the CPU run freely for some time(The main program does these: tuning on/off LED using GPIO, reading value from RTI free-running counter and reading PMU event counter), I found that the 3 counters values are all incremented, changed to 3/5/3 respectively in one test.
Question:
- How does this problem happen? and how to solve it?
- I guess the probability of fatal events and even the correctable events counted by the PMU event counters is a little too high. Should all of them are 0 in normal situation?