I have recently upgraded CCS from 5.3.unknown to 5.4.0.00091 .
I suspect that CCS 5.4 introduces a bug in .out files generated.
That observation applies to a TMS320F28335 device programmed through JTAG by an XDS100v2.
Important enough, the source code used in that "experiment" was a previously validated code stored under source control. No way to mess things up here. That code IS (or was...) functional with CCS 5.3.unknown
It looks like a CCS5.4 .out file may lead the code to quickly get stuck in the ILLEGAL_ISR() trap. Having an active watchdog obviously brings the IC into a reset loop.
Being clueless, I blindly decided to deactivate the watchdog. Believe it or not, the code started to work as well as it was used to!!
I could then resume development and reprogrammed a few new .out files through the day until the ILLEGAL_ISR stroke back! Without any much more good reason than in the morning, I played with the watchdog. Guess what? Reactivating (WDCR=0x28) the watchdog made the code to start working well again.
Note that for each time that I encountered the ILLEGAL_ISR, I have cycled power and reprogrammed the IC at least 4 times.
Not having 5.3.unknown installation at hand anymore, I have used 5.2.1.00018 to make the following observations:
Compiling the exact same project with CCS 5.2.1.0018 and 5.4.0.00091 gives two different .out files. However (and fortunately), .hex files are identical. CCS 5.4 basically outputs a bigger .out file but I can't tell more since it is all binary.
My main suspect is CCS 5.4 since that is the only different thing I can think of.
What is happening here????
Frédéric