Hi All,
I am developping a RM46L852 software using CCS v6.1. I was used to use the TI-ARM compiler with -O0 level optimizations.
I have recently switched from my current TI-ARM compiler (5.2.7 version) to a TI LTS compiler (15.12.02). Compiling optimizations were kept identical (equal to -O0). When I flashed my software on target I saw some weird behaviors. Software was not running as per the expectations anymore.
Then I've tried to disable the optimization (off) and kept the freshly installed LTS compiler ; my software became back to its normal behavior.
--> This looks like enabling the O0level optimizations disturbed my software.
I performed some more tests with previous versions of older compiler for both the TI-ARM and the LTS one. Behaviors were identical :
--> software is running properly when build with TI-ARM compiler, whatever the optimization level (off or O0)
--> as soon as O0 optimizations are enabled with LTS compiler, the software is not working anymore.
Would you have any clue that could explain what happen? Which kind of optimizations are done by the optimizer (which registers are handled) that could lead to such a different behevior? I cannot understand why both compilers do not have a consistent behavior?
Thanks for help!!!