Other Parts Discussed in Thread: HALCOGEN
Hello,
I'm seeing a Group3 Channel 3 ESM error during initialization (address 0xFFFFF520 has a value of 0x00000008) . I've noticed a few patterns:
* It only happens during a hard reset (turning the PSU off/on). Once I clear the flag, it doesn't seem to be triggered by a Debugger reset.
* It only happens when the binary was compiled/linked with arm-none-eabi-gcc. If I switch the HALCoGen layer to TI and compile with CCS, this does not happen.
* If I clear the flag at the beginning of _c_int00() with esmREG->SR1[2] = 0xFFFFFFFF; the MCU will run as expected with no observable issues.
I've dug through the disassembly and stepped through initialization instruction by instruction and I'm not seeing a functional difference between the TI and GCC generated instructions before the ESM Group3 self test. I haven't been able to identify a root cause.
Does the binary I'm flashing need to adhere to certain requirements before code starts to execute? Can you clarify what gcc flags I should be using? I'm wondering if this is a linking issue.
If not, any debugging tips?
Thanks,
Brad