The C28 compiler and C29 compiler use different underlying infrastructures and completely different source bases.
- The C28 compiler is TI proprietary, whereas the C29 compiler is LLVM-clang-based. Compiler options are completely different, and need to be changed. Many concepts behind the meaning of options have changed as well, such as for optimization. The C29 Clang Compiler Tools User's' Guide is available here. It has a detailed section on migration, available here.
- The C29 compiler supports only EABI output formats, whereas, the C28 compiler supports both COFF and EABI. A user migrating from C28-COFF to C29 should first migrate from COFF to EABI, and can refer to documentation available here.
Note: The C29 CPU is a VLIW architecture and allows for significantly higher level of parallelism compared to C28 and CLA. However, for the C29 compiler to fully take advantage of these parallel functional units in the C29, users have to use higher levels of optimization (e.g. -o2, -o3).