MSP430 C/C++ CODE GENERATION TOOLS 4.4.8 Release Notes November 2016 ================================================================================ Contents ================================================================================ 1) New defect history files in 4.4.8 2) Features new to version 4.4.0 -------------------------------------------------------------------------------- 1) New defect history files in 4.4.8 -------------------------------------------------------------------------------- As of the 4.4.8 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 4.4.x compiler branch. For open bugs, a status of Open or Accepted means that the bug has not been examined yet, whereas a status of Planned means that an evaluation or fix is in progress. -------------------------------------------------------------------------------- 2) Features new in version 4.4.0 -------------------------------------------------------------------------------- 1. CRC linker table support added. The MSP430 linker supports an extension to the linker command file syntax that enables the verification of code or data by means of a CRC. The linker computes a CRC value for the specified region at link time, and stores that value in target memory such that it is accessible at boot or run time. The application code can then compute the CRC for that region and ensure that the value matches the linker-computed value. The run-time-support library does not supply a routine to calculate CRC values at boot or run time, however a limited reference implementation in C is provided in the MSP430 Assembly Language Tools User guide. 2. --use_hw_mpy changes and new option --disable_interrupts_around_hw_mpy Link option, --use_hw_mpy, has been changed to be a compiler option to allow for inlining of hardware multiply calls. Inlining occurs with --opt_level>=0, --opt_for_speed>=4, and if --use_hw_mpy is set. A more advanced optimization is available with new option: --disable_interrupts_around_hw_mpy=on/off This allows inlining hardware multiply calls without disabling interrupts around the call. Inlining is done at all --opt_for_speed levels as long as --opt_level>=0 and --use_hw_mpy is set. Hardware multiply capability is not re-entrant. Therefore, interrupt service routines with multiplies will not inline the multiply calls and instead will use RTS software mutliply routines. Also, interrupt service routines that make function calls will generate errors during parsing (or link for existing object files). These errors can be suppressed once it is confirmed that the ISR function calls do not include multiplication. 3. Linker predefined macros New linker command file macros have been added including: __MSP430__ set for all msp __MSP430X__ set only for mspx devices __LARGE_CODE_MODEL__ set for --code_model=large __LARGE_DATA_MODEL__ set for --data_model=restricted or large 4. RTS header file intrinsics.h RTS header file intrinsics.h has been updated to contain function "prototypes" for all MSP430 intrinsics. 5. ULP rule 6.1 has been updated to reduce some cases of generating false advice. Specifically for cases where source code files did not include "msp430.h" device header if the device actually does have hardware multiply capability.