Release notes
for IAR Embedded Workbench for Arm version 9.70.1
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
The Zephyr kernel 4.1 or later can now be built with the IAR build tools for Arm
All files needed for a customer to build Zephyr with IAR tools are up-streamed and available in the Zephyr repository, this also includes build scripts. There is an IAR specific toolchain page on how to setup the tools.Additional support for GNU extensions
A number of GNU C/C++ language extensions and other features have been added. See Release notes for the IARC/C++ Compiler for more information.C-STAT support for MISRA C++:2023 for guidelines 4.0-4.7
Support for MISRA C++ 2023 rules has been added in this version. This includes all rules in chapters 4.0 - 4.7 and all additional rules that overlap with rules in the already supported MISRA rule sets. In some cases, rules in the old rule set have been slightly revised to the more modern standard when the newer rule is either clearer or adapted to a more modern way of software development.Support for selected C++20 features
A number selected C++20 features are now supported, see Release notes for the IARC/C++ Compiler for more information.Support for additional Arm cores
Support has been added for Cortex-A65AE (no simulator support), Cortex-A78, and Cortex-A76.RTOS awareness plugins have been added for the following Real Time Operating Systems
- Zephyr RTOS
- PX5
- Cesium OS3 and OS2
Externally built executable debugging improvements
Debugging an externally built executable (ELF) file has been improved, with source files now shown in the Workspace window. Choose Project>Create New Project>Externally built executable to create a debug-only project, meant for debugging ELF files built using external scripts, or built on another host, or built using a different toolchain version.
Device support
New device support
ABOV | A31M223 |
---|---|
AnalogDevices | ADuCM362 ADuCM363 |
AutoChips | AC78703VLBA AC78703VMBA AC78703VPBA AC78703WLBA AC78703WMBA AC78703WPBA AC78704VLBA AC78704VMBA AC78704VPBA AC78704WLBA AC78704WMBA AC78704WPBA |
GigaDevice | GD32A711AV GD32A711AZ GD32A712AI GD32A712AV GD32A712AZ GD32A714AI GD32A714AV GD32A714AX GD32A714AZ GD32A722AI GD32A722AX GD32A722AZ GD32A724AI GD32A724AX GD32A724AZ GD32A741AI GD32A741AV GD32A741AZ GD32A742AI GD32A742AV GD32A742AZ GD32A744AI GD32A744AV GD32A744AX GD32A744AZ |
Lanshan | LS-E1450 LS-E1460 LS-E1480 |
Microchip | PIC32CM5112GC00048 PIC32CM5112GC00064 PIC32CM5112GC00100 PIC32CM5112SG00048 PIC32CM5112SG00064 PIC32CM5112SG00100 |
Nuvoton | KM1M0GF04K KM1M0GF04Y KM1M0GF04Z KM1M0GF14Y KM1M0GF14Z |
NXP | KW47B42Z83 KW47B42Z96 KW47B42Z97 KW47B42ZB2 KW47B42ZB3 KW47B42ZB6 KW47Z42082 KW47Z42092 KW47Z420B2 KW47Z420B3 MCXE245 MCXE246 MCXE247 MCXE315 MCXE316 MCXE317 MCXE31B |
Puya | PY32T020x6 |
RaspberryPi | RP2354 |
Renesas | R7FA0E207 R7FA0E209 R7FA2L207 R7FA2L209 R7F711001 R7F711002 R7F711011 R7F711012 R7F711020 R7F711021 R7F711022 |
SemiDrive | E3650 |
STMicroelectronics | SR6G7C4 SR6G7C6 STM32WL30K8 STM32WL31C8 STM32WL31K8 |
TexasInstruments | AM2611 AM2612 |
TMC | THA6412 |
XHSC | HC32F115x8 HC32F155xA HC32F155xC HC32F334x8 HC32F334xA HC32F467xG HC32F4A2xI HC32F4A8xI HC32M441xA HC32M441xC |
YTMicro | YTM32Z1ME05 |
ZhiXin | Z20K114N Z20K116N Z20K142MS Z20K144MS Z20K148MS Z20K342ME Z20K343ME Z20K344ME Z20K352ME Z20K353ME Z20K354ME Z20M1343L |
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
- 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
. -
Network licenses
For network licenses, IAR Embedded Workbench for Arm version 9.70.1 and later requires IAR License Server Tools version 2.18.2 or later. For more information, see IAR License Server Tools (LMS2). The latest IAR License Server Tools are backwards compatible with previous IAR Embedded Workbench versions.
-
Microsoft SCC interface no longer supported
Microsoft SCC-compatible version control systems are no longer supported by IAR Embedded Workbench.
When using IAR Embedded Trust with EWARM 9.70.1 (or later) with a Cloud licensing, the IAR License Manager need to be started manually. You find the IAR License Manager in the common\bin folder in your EWARM installation directory.
- Changed default installation path
The suggested default installation path has changed from C:\Program Files\IAR Systems to C:\iar.
- 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.
New in this release is improved user documentation in HTML format, available from the Help menu in the IDE. There is no corresponding Japanese translation of the HTML user documentation in this release, it will be available in future releases. The Japanese user documentation is available as PDF files, to be opened from the Help menu.
- 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
For information regarding trademarks and registered trademarks owned by IAR Systems AB, please see Trademarks.
Microsoft and Windows are registered trademarks of Microsoft Corporation. Adobe and Acrobat Reader are registered trademarks of Adobe Systems Incorporated. All other product names are trademarks or registered trademarks of their respective owners.
Copyright © 1996-2025 IAR Systems AB.