Tool/software: Code Composer Studio
My customer report that his last version F280049 firmware can run well on both CCS debugging and device stand-alone mode. However the new version firmware only run well on CCS debugging, but run fail on device stand-alone mode. The new version firmware just add some new variable and add some general logical operation code.
His firmware will toggle a GPIO in the beginning of main function, when the new firmware run fail on device running stand-alone, he cannot check the GPIO action waveform, so we think the problem should happen before main function.
There is only codestartup.asm before main function and customer just use TI example file codestartup.asm without any modify. We notice the defaut setting for watchdog is enable in the codestartup.asm, so we try modify watchdog setting to disable, then new firmware resume running well on stand-alone mode. So we assume codestartup.asm running time in new firmware become longer than old firmware, and even longer than watchdog period so cause watchdog overflow reset?
However our first problem is why new version firmware will cause the codestartup.asm running time become longer? Because the codestartup.asm just call _C_INIT lib function, we donot know what the function affection in detail before jump to main function.
The another strange that customer happen to add one "NOP" instructions in the new firmware general logical code, then the new firmware also can resume running well on stand-alone mode, no matter the watchdog setting is enable or disable in the codestartup.asm. we can not understand the reason, does anyone solve similar case and know the possible reason?