Readme for ARM Code Generation Tools v20.2.7.LTS
Table of Contents
Long-term Support Release
The ARM CGT v20.2.0.LTS release is a long term support (LTS) release. This release will be supported for roughly 2 years with periodic bug fix updates.
Compiler Documentation and Information
Documentation for the “TI ARM Optimizing Compiler User’s Guide” and the “TI ARM Assembly Language User’s Guide” is available online at:
https://www.ti.com/tool/ARM-CGT
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/tools
Defect Tracking Database
Compiler defect reports can be tracked at the Development Tools bug database at:
New Features:
Hex utility --cmac option added support for --boot tables
The hex conversion utility’s Cipher-based Message Authentication Protocol (CMAC) feature now supports boot tables with CMAC tags.
To enable, use --cmac=key_file with --boot along with other required boot table options. The CMAC algorithm assumes a fill value of 1’s for gaps between boot table regions which requires setting --fill.
Hex utility --binary option
The hex convertion utility now supports output option --binary.
Hex utility --cmac option (cipher-based message authentication protocol)
The hex conversion utility supports the secure flash boot capability provided by TMS320F2838x devices, which have both C28 and ARM cores. The secure flash boot applies the Cipher-based Message Authentication Protocol (CMAC) algorithm to verify CMAC tags for regions of allocated memory.
In order to apply the CMAC algorithm to the appropriate regions in allocated memory, use the hex conversion utility as follows: --cmac=file where file contains a 128-bit hex CMAC key
NOTE: above additionally requires --image or --load_image options.
CMAC tag locations need to be defined in the user’s C code using below symbols along with LOCATION and RETAIN pragmas: secure boot regions: cmac_sb_1 cmac_sb_2 cmac_sb_3 or cmac_sb_4 user-specified region: cmac_all
The hex utility will then apply the CMAC algorithm to all the CMAC tags defined in the user’s C code.
See ARM Assembly Language Tools User Guide for details.
Default file extension for compiler generated object files
The default file extensions for object files created by the compiler have changed in order to prevent conflicts when C and C++ files have the same names. Object files generated from C source files have the .c.obj extension. Object files generated from C++ source files have the .cpp.obj extension.
MISRA-C 2004 Support Deprecation
Starting with ARM CGT v20.2.5.LTS, MISRA-C 2004 checking support has been deprecated. The existing MISRA checking functionality will remain in further patch versions of this compiler stream as is, but no further issues will be addressed.
Resolved defects
Resolved defects in v20.2.7.LTS:
ID | Summary |
---|---|
CODEGEN-10058 | Compiler fails to handle bare \r as a line separator |
CODEGEN-9831 | ARM hextool boot table max block size limitation (when used with C28 on-chip boot loader) |
CODEGEN-9599 | Some compiler diagnostic ID numbers changed in releases after 2019 |
CODEGEN-8471 | Hex utility, when splitting a section as required by the bootloader, ignores the section alignment for the second part of the split |
CODEGEN-4942 | Conditional expression containing GNU statement expression crashes compiler in C++ mode |
Known defects (dynamic)
The following link will lead to an updated list of known defects in this release: