Release notes
for IAR Embedded Workbench for Arm version 9.60.3
Read about the latest features, new device support, and program corrections in the release notes.
- Highlights
- Important information
- Release notes for individual components
- Product packages
- Installation and license activation
Highlights
CMake support
CMake files can now be directly read by the IAR Embedded Workbench IDE to populate the project manager view, allowing the flexibility of CMake to be mirrored in IAR Embedded Workbench and empowering the user with the IAR C-SPY debug experience as well as building. Enables support for importing, building, and debugging projects based on CMake in IAR Embedded Workbench.Cortex-M52 support
Support for the new Cortex-M52 core based on the ARMv8.1-M architecture with features such as Helium MVE (M-profile Vector Extension) and Low Overhead loops.C-STAT support for MISRA C:2023
MISRA C:2023, also known as MISRA C Third Edition, Second Revision, is now supported. It incorporates MISRA C:2012 amendments 2 (AMD2), 3 (AMD3) and 4 (AMD4), plus technical corrigendum 2 (TC2). MISRA C:2023 incorporates support for C11 and C18 language features.New and updated support for GCC’s "Extensions to the C Programming Language"
The following GCC C language extensions are now supported by the compiler (requires IAR language extensions to be enabled):- Additional support for __builtin function calls. If supported by the target core, these calls result in code generation using native instructions; else, they are transformed into library function calls.
- The attribute visibility is now supported in C.
- Support for arithmetic on void and function pointers (requires IAR language extensions).
- The __attribute__((__packed__)) construct can now be placed at the end of enum declarations
Support for additional GCC relaxations to ISO C
The following GCC C language extensions are now supported by the compiler (requires IAR language extensions to be enabled):- In a function that has the return type void, a return statement can return a void expression. For example return (void)expr; (requires IAR language extensions).
- The error Pe042 ("operand types are incompatible") is now a soft error in more language constructs. By reducing the severity of this error and the errors Pe144 and Pe513, an application can mix void * and function pointers.
Cortex-R52 single precision only mode
The compiler can now be configured to only support Cortex-R52 single precision mode.J-Link: command line debug capability for CI/CD activities and debugging using VS Code on Linux and Windows
The Segger J-Link debug probe has been added to the C-SPY command line utility (cspybat) and the Runtime Analysis tool (C-RUN) on booth Linux and Windows.Cortex-M55 and Cortex-M85 ETM trace
The debugger trace decoder now supports full instruction trace on the latest Arm Cortex-M cores.SDM Debug Authentication
The C-SPY debugger now supports the Arm SDM (Secure Debug Manager) debug authentication method on I-jet, CMSIS-DAP and ST-LINK.Experimental support for Sys V shared objects
Shared objects is a new type of output from the linker. It allows creation of shared libraries that can be dynamically loaded by an application. Use of shared objects requires the use of a dynamic loader/linker or something that can act like a dynamic linker. A dynamic linker can load shared objects into available memory and resolve references to and from them. Dynamic linkers are typically part of an operating system.
See IAR C/C++ Development Guide for more information. An example can be found in arm\src\sharedobjects.Experimental support for SARIF output
The SARIF output format is supported by the compiler, linker, assembler and C-STAT command line tools.
Device support
New device support
AutoChips | AC7801LxCEA AC7801LxDEA AC78036xDLA AC78036xELA AC78058xDLA AC78058xDQA AC78058xELA AC78058xEQA AC78406xFLA AC78408xFLA AC78408xGLA AC78428xGLA AC78428xHLA AC78428xILA AC78438xILA AC78438xJLA AC78438xKLA AC7870xLBA AC7870xMBA AC7870xPBA |
---|---|
Cmsemicon | BAT32A255 BAT32A257 BAT32A259 BAT32A499 BAT32G129 BAT32G135 CMS32C030 CMS32C040 CMS32F103 CMS32F407 |
Infineon | XMC5100-F64K576AA XMC5100-F100K576AA XMC5200-F64K1088AA XMC5200-F100K1088AA XMC5200-F144K1088AA XMC5200-F144K1088AA XMC5300-F100K2112AA XMC5300-F144K2112AA |
Infineon-Cypress | CY8C4024LQA-S413 CY8C4024LQA-S413 CY8C4024LQS-S413 CY8C4024LQS-S413 CY8C4025FNI-T442 CY8C4025FNI-T452 CY8C4025LQA-S413 CY8C4025LQI-T441 CY8C4025LQI-T442 CY8C4025LQI-T451 CY8C4025LQI-T452 CY8C4025LQS-S413 CY8C4026FNI-T442 CY8C4026LQI-T441 CY8C4026LQI-T442 CY8C4045FNI-T442 CY8C4045FNI-T452 CY8C4045LQA-S413 CY8C4045LQI-T441 CY8C4045LQI-T442 CY8C4045LQI-T451 CY8C4045LQI-T452 CY8C4045LQS-S413 CY8C4046FNI-T442 CY8C4046LQI-T441 CY8C4046LQI-T442 CY8C4126LDA-S453 CY8C4126LDE-S453 CY8C4126LDS-S453 CY8C4127LDA-S443 CY8C4127LDA-S453 CY8C4127LDE-S443 CY8C4127LDE-S453 CY8C4127LDS-S443 CY8C4127LDS-S453 CY8C4146LDA-S243 CY8C4146LDA-S253 CY8C4146LDA-S263 CY8C4146LDA-S273 CY8C4146LDA-S453 CY8C4146LDE-S243 CY8C4146LDE-S253 CY8C4146LDE-S263 CY8C4146LDE-S273 CY8C4146LDE-S453 CY8C4146LDS-S243 CY8C4146LDS-S253 CY8C4146LDS-S263 CY8C4146LDS-S273 CY8C4146LDS-S453 CY8C4147LDA-S243 CY8C4147LDA-S253 CY8C4147LDA-S263 CY8C4147LDA-S273 CY8C4147LDA-S283 CY8C4147LDA-S293 CY8C4147LDA-S443 CY8C4147LDA-S453 CY8C4147LDA-S463 CY8C4147LDA-S473 CY8C4147LDE-HV504 CY8C4147LDE-HV534 CY8C4147LDE-HV604 CY8C4147LDE-HV634 CY8C4147LDE-HV704 CY8C4147LDE-HV734 CY8C4147LDE-S243 CY8C4147LDE-S253 CY8C4147LDE-S263 CY8C4147LDE-S273 CY8C4147LDE-S283 CY8C4147LDE-S293 CY8C4147LDE-S443 CY8C4147LDE-S453 CY8C4147LDE-S463 CY8C4147LDE-S473 CY8C4147LDS-S243 CY8C4147LDS-S253 CY8C4147LDS-S263 CY8C4147LDS-S273 CY8C4147LDS-S283 CY8C4147LDS-S293 CY8C4147LDS-S443 CY8C4147LDS-S453 CY8C4147LDS-S463 CY8C4147LDS-S473 CYPD7173-39BFXQ CYPD7193-39BFXS CYPD6129-52LQXI CYPD6129-52LQXIT CYPD6229-52LQXI CYPD6229-52LQXIT CYPD8129-52LQXIT CYPD8229-52LQXIT CYW20829B0010 CYW20829B0021 CYW89829B0022 CYW89829B0232 |
Nuvoton | M463K2GCAC M463KGCAE M463L2GCAC M463LGCAE M463S2GCAC M463SGCAE M463YGCAE M467H2JHAE M467HJHAN M467J2JHAE M467JJHAN M467K2JHAE M467KJHAN M467S2JHAE M467SJHAN |
NXP | MIMX9101 MIMX9111 MIMX9131 MIMXRT735S MIMXRT758S MIMXRT798S KW47B42ZB7 MCXA132 MCXA133 MCXC041 MCXC141 MCXC142 MCXC143 MCXC144 MCXC242 MCXC243 MCXC244 MCXC443 MCXC444 MCXW716A MCXW716C MCXW727C |
Renesas | R7FA8E1AF R7FA8E2AF R9A07G075M29 |
Silergy | SA32B12 SA32B14 |
SiliconLabs | EFM32PG26B100F512IL136 EFM32PG26B300F1024IL136 EFM32PG26B300F1024IM68 EFM32PG26B300F2048IL136 EFM32PG26B300F2048IM68 EFR32BG26B310F1024IL136 EFR32BG26B310F1024IM68 EFR32BG26B310F2048IL136 EFR32BG26B310F2048IM48 EFR32BG26B310F2048IM68 EFR32BG26B320F1024IM68 EFR32BG26B320F2048IM48 EFR32BG26B320F2048IM68 EFR32MG26B210F2048IM68 EFR32MG26B210F3200IM48 EFR32MG26B220F2048IM68 EFR32MG26B220F3200IM48 EFR32MG26B310F3200IL136 EFR32MG26B410F3200IM48 EFR32MG26B410F3200IM68 EFR32MG26B420F3200IM48 EFR32MG26B420F3200IM68 EFR32MG26B510F3200IL136 EFR32MG26B510F3200IM48 EFR32MG26B510F3200IM68 EFR32MG26B520F3200IM48 EFR32MG26B520F3200IM68 EFR32MG26B610F3200IM48 |
STMicroelectronics | STM32C051C6 STM32C051C8 STM32C051D6 STM32C051D8 STM32C051F6 STM32C051F8 STM32C051G6 STM32C051G8 STM32C051K6 STM32C051K8 STM32C091CB STM32C091CC STM32C091EC STM32C091FB STM32C091FC STM32C091GB STM32C091GC STM32C091KB STM32C091KC STM32C091RB STM32C091RC STM32C092CB STM32C092CC STM32C092EC STM32C092FB STM32C092FC STM32C092GB STM32C092GC STM32C092KB STM32C092KC STM32C092RB STM32C092RC STM32N645A0 STM32N645B0 STM32N645I0 STM32N645L0 STM32N645X0 STM32N645Z0 STM32N647A0 STM32N647B0 STM32N647I0 STM32N647L0 STM32N647X0 STM32N647Z0 STM32N655A0 STM32N655B0 STM32N655I0 STM32N655L0 STM32N655X0 STM32N655Z0 STM32N6570-DK STM32N6570-NUCLEO STM32N657A0 STM32N657B0 STM32N657I0 STM32N657L0 STM32N657X0 STM32N657Z0 STM32U375CE STM32U375CG STM32U375KE STM32U375KG STM32U375RE STM32U375RG STM32U375VE STM32U375VG STM32U385CG STM32U385KG STM32U385RG STM32U385VG STM32WL33C8 STM32WL33CB STM32WL33CC STM32WL33K8 STM32WL33KB STM32WL33KC |
TexasInstruments | MSPM0G1518 MSPM0G1519 MSPM0G3518 MSPM0G3519 MSPM0H3215 MSPM0H3216 MSPM0L1116 MSPM0L1117 |
TMC | THA6206 |
YTMicro | YTM32B1LE14 YTM32B1LE15 YTM32B1ME14 YTM32B1ME15 YTM32Z1LS06 |
Device support
Example projects
Over 9500 example projects for various evaluation boards are included in the product installation. See the Information Center.
Important information
- Upgrade information
- Before you install
To avoid any problems, do not install this release in a directory where you have previously installed any older version of IAR Embedded Workbench. It is recommended that you either uninstall an earlier product, or install this release in a separate directory. As before, however, it is possible to install different products, all using the same version of the main application, in the same root directory.
- License renewal
The upgrade to this version requires a license renewal. This can be performed by starting the IAR License Manager and selecting License→Check for License Renewal, or by using the Light License Manager with the command
LightLicenseManager renew YOUR_PROD.EW
. -
Microsoft SCC interface no longer supported
Microsoft SCC-compatible version control systems are no longer supported by IAR Embedded Workbench.
- Microsoft Windows
Windows operating systems have a security mechanism called UAC (User Access Control). Disabling UAC will automatically grant you permission when a task requires administrative rights but this is not recommended because it will reduce the security of the computer. It is not necessary to run the IAR Embedded Workbench IDE as an administrator. However, if you are not, modifications to the installed product tree in C:\Program Files\IAR Systems might not work as intended and could give unexpected results.
To avoid this, the preferred way is to copy the examples to a location outside Program Files, either manually or automatically by opening them via the IAR Information Center.
- EWARM 9.60 versions
EWARM 9.60.1 was never publically released. EWARM 9.60.2 is the first public release in the 9.60 series.
- Changed default installation path
The suggested default installation path has changed from C:\Program Files\IAR Systems to C:\iar.
- Network licenses
For network licenses, IAR Embedded Workbench for Arm version 9.20.1 and later require IAR License Server Tools version 2.18.2 or later. For more information, see technical note TN21842. The latest IAR License Server Tools are backward compatible with previous IAR Embedded Workbench versions.
Note: If you are running older versions of the product, the number of users displayed in the Network Licenses window might be too large. This is cosmetic and does not affect the use of your network license. The problem has been corrected in v2.17.2 of the IAR License Server Tools and the IAR License Manager.
- Mobile licenses
If you will be using a mobile license, you need to select the option to install dongle drivers during installation. The latest dongle drivers are also available in the product installation under <installation directory>\common\drivers\dongle.
- IAR data type qualifiers
IAR data type qualifiers in C++ (e.g., __packed) are now correctly mangled when occurring in a function parameter below the top-level. This is a breaking change of the ABI.
- Windows 7 not supported
Windows 7 is no longer supported as the host OS.
- Access to Device memory
There are a number of restrictions regarding access to Device memory. This can be important if your target system boots into a state where the MMU is disabled, because then all accesses are treated as Device.
See the Arm architecture reference manuals for detailed information.
Restrictions for Device memory in AArch64 are, for example:
- Unaligned accesses to regions marked as Device always fault.
- If a multiple-register load/store instruction is interrupted, it can result in repeated accesses.
- Prefetch instructions to Device memory are not allowed.
Note that for normal C/C++ functions, LDP and STP are used to set up and tear down the stack frame, so if a function is interrupted when the stack is in Device memory, this can lead to unexpected behavior.
The compiler option --no_unaligned_access can be used to avoid unaligned accesses to Device memory.
For AArch64 this means that:
- startup code must be built with --no_unaligned_access
- the MMU must be active and the stack must be in Normal memory before interrupts are activated.
See also Arm Application Note 527, Bare-metal Boot Code for ARMv8-A Processors.
- Object format
The object format used in the compiler, assembler, linker, and debugger is based on the ARM ABI standard version 2.10 with ELF/DWARF 4.
Trademarks
IAR Systems, IAR Embedded Workbench, IAR Embedded Trust, IAR Connect, IAR C-SPY, IAR C-RUN, IAR C-STAT, IAR Visual State, IAR KickStart Kit, IAR I-jet, IAR I-jet Trace, IAR Academy, IAR, and the logotype of IAR Systems are trademarks or registered trademarks owned by IAR Systems AB.
Microsoft and Windows are registered trademarks of Microsoft Corporation. Adobe and Acrobat Reader are registered trademarks of Adobe Systems Incorporated. CodeWright is a registered trademark of Starbase Corporation. All other product names are trademarks or registered trademarks of their respective owners.
Copyright © 1996-2024 IAR Systems AB.