MSP430 C/C++ CODE GENERATION TOOLS 16.9.9.LTS Release Notes September 2018 ================================================================================ Contents ================================================================================ 1) Support Information 2) Code size improvements 3) Option cleanup 4) License change 5) New option --align_for_power 5) No MSP430 CGT v16.9.5.LTS ------------------------------------------------------------------------------- 1. Support Information ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- 1.1) List of Fixed and Known Defects ------------------------------------------------------------------------------- As of the 16.9.1.LTS release, the DefectHistory.txt file has been replaced with the two files Open_defects.html and Closed_defects.html. These show the open and closed defects for the 16.9.x.LTS compiler branch. For open bugs, a status of Accepted means that the bug has not been examined yet, whereas a status of Open or Planned means that an evaluation or fix is in progress. ------------------------------------------------------------------------------- 1.2) Compiler Wiki ------------------------------------------------------------------------------- A Wiki has been established to assist developers in using TI Embedded Processor Software and Tools. Developers are encouraged to read and contribute to the articles. Registered users can update missing or incorrect information. There is a large section of compiler-related material. Please visit: http://processors.wiki.ti.com/index.php?title=Category:Compiler ------------------------------------------------------------------------------- 1.3) Compiler Documentation Errata ------------------------------------------------------------------------------- Errata for the "TI MSP430 Optimizing Compiler User's Guide" and the "TI MSP430 Assembly Language User's Guide" is available online at the Texas Instruments Embedded Processors CG Wiki: http://processors.wiki.ti.com/index.php?title=Category:Compiler under the 'Compiler Documentation Errata' link. ------------------------------------------------------------------------------- 1.4) TI E2E Community ------------------------------------------------------------------------------- Questions concerning TI Code Generation Tools can be posted to the TI E2E Community forums. The "Development Tools" forum can be found at: http://e2e.ti.com/support/development_tools/f/default.aspx ------------------------------------------------------------------------------- 1.5) Defect Tracking Database ------------------------------------------------------------------------------- Compiler defect reports can be tracked at the Development Tools bug database, SDOWP. The log in page for SDOWP, as well as a link to create an account with the defect tracking database is found at: https://cqweb.ext.ti.com/pages/SDO-Web.html A my.ti.com account is required to access this page. To find an issue in SDOWP, enter your bug id in the "Find Record ID" box once logged in. To find tables of all compiler issues click the queries under the folder: "Public Queries" -> "Development Tools" -> "TI C-C++ Compiler" With your SDOWP account you can save your own queries in your "Personal Queries" folder. ------------------------------------------------------------------------------- 1.6) Long Term Support release ------------------------------------------------------------------------------- The MSP430 CGT v16.9.0.LTS release is a long term support (LTS) release. This release will be supported for roughly 2 years with periodic bug fix updates. ------------------------------------------------------------------------------- 2. Performance improvements ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- 2.1 Compressed section alignment ------------------------------------------------------------------------------- Within initialization tables (.cinit section used to initialize global variables at startup), compressed sections (RLE and LZSS) are now byte aligned to reduce holes in the .cinit table. ------------------------------------------------------------------------------- 2.2 LZSS Compression ------------------------------------------------------------------------------- The linker has historically supported LZSS and RLE compression algorithms for C auto initialization tables (cinit) and copy tables. The compression algorithm used is determined by the --cinit_compression and --copy_compression options and the default has been RLE. In this release we have improve the LZSS algorithm enough to make it the default algorithm. It no longer uses 4K of stack space and the code size has been made comparable to RLE. In addition, it can now compress runs of characters almost as efficiently as RLE, with the benefit of compressing other types of data as well. Our analysis shows that it beats RLE in almost all cases, and in the few where RLE is better the difference is 1-3%. If you notice the size of .cinit growing after switching to this compiler version, consider using the --cinit_compression=rle linker option and please report the issue on the E2E forum. ------------------------------------------------------------------------------- 3 Option Cleanup ------------------------------------------------------------------------------- In this release we removed several options that were either duplicates or unnecessary. For an overview of the changes please see http://processors.wiki.ti.com/index.php/Compiler_option_cleanup ------------------------------------------------------------------------------- 4. License change ------------------------------------------------------------------------------- The user license has been updated to be TI TSPA (Technology Software Publicly Available). Please see the software manifest accompanying the software for applicable licensing terms. ------------------------------------------------------------------------------- 5. New option --align_for_power ------------------------------------------------------------------------------- The --align_for_power option aligns all functions and loops to 4 byte boundaries. Power savings can be achieved if a small function or loop aligns to the 32-bit buffer for fetching code from flash. There will be less benefit for larger functions and loops. ------------------------------------------------------------------------------- 5. No MSP430 CGT v16.9.5.LTS ------------------------------------------------------------------------------- Please note that there was no external MSP430 v16.9.5.LTS release.