IAR Product Updates
Product:IAR Build Tools for ARM
Version:9.50
Release date:December 7, 2023

9.50.4 patch with correction for Arm CVE-2024-0151

Published April 24, 2024.

Compiler workaround for a security weakness in PCS (Procedure Call Standard) for CMSE (Cortex-M security extensions).
The weakness in the PCS is that the 32-bit AEABI specifies that it is the callers responsibility to extend small arguments to register width, and that it is the callees responsibility to extend small return values to register width for CMSE this is handled as follows:

  • small arguments are extended in prolog of non-secure entry functions

  • small return values are extended at call-site after return from non-secure call

"small" in this context are values of `char` or `short` type, or enum or wide-characters if they are represented in either 8 bits or 16 bits.

Install BXARM 9.50.2

Published February 21, 2024.

Content

  • Bug fixes
    See the compiler and linker release notes for more details.

Support for new devices

  • Analog Devices
    MAX78000

  • Atmosic
    ATM34xx

  • Nuvoton
    M071, M471
    NUC1311, NUC2201

  • NXP
    MIMXRT1021, MIMXRT1024, MIMXRT1064,
    MCXA144, MCXA145, MCXA146, MCXA154, MCXA155, MCXA156,
    RW610, RW612

  • Renesas
    RA0E1 - R7FA0E105, R7FA0E107,
    RA2A2 - R7FA2A2AD, R7FA2A2BD,
    RZ/G3S - R9A08G045S31, R9A08G045S33, R9A08G045S35, R9A08G045S37

  • Texas Instruments
    CC2340R22, CC2340R53

  • ZhiXin
    Z20K114M, Z20K118N, Z20K144M

Install BXARM 9.50.1

Published December 7, 2023.

Highlights

  • Command line debug capability for CI/CD activities and debugging using VS Code on Linux
    The C-SPY command line utility (cspybat) and the Runtime Analysis tool (C-RUN) are now available on Linux for running applications in the Simulator, or on hardware using the I-jet and I-jet Trace debug probes. Debugging is also available on Linux when using the Visual Studio Code IAR C-SPY Debug Extension. Debugging on Linux is only available when using IAR Build Tools for Arm (BXARM).

  • MISRA C:2012 Amendment 3
    The Static Analysis tool C-STAT has extended its coverage of the MISRA C:2012 Coding Standard and now fully supports MISRA C:2012 Amendment 3. This Amendment adds one new directive and 23 new rules, as well as revising a number of existing guidelines and supporting material.

  • New GCC C language extensions
    The following GCC C language extensions are now supported by the compiler

    • Structures with no members: struct Empty {}

    • Empty initializer: struct Color color = {};

  • Additional Arm ACLE support
    Added support for the following Arm C Language Extensions subsets:

    • __ARM_FEATURE_CLZ

    • __ARM_FEATURE_QBIT

    • __ARM_FEATURE_DSP

    • __ARM_FEATURE_SAT

    • __ARM_FEATURE_SIMD32

Support for new devices

  • 3PEAK
    TPS325M0155x, TPS325M0156x, TPS325M0166x, TPS325M0177x, TPS325M0A57x,
    TPS325M5155x, TPS325M5156x, TPS325M5165x, TPS325M5166x, TPS325M5167x,
    TPS325M5177x, TPS325M5A57x

  • AutoChips
    AC78036FFLA, AC78036HFLA

  • CKS
    CKS32F031G6, CKS32F051K6, CKS32F072RB, CKS32L053C8, CKS32L053R8

  • Infineon
    CYT4DN

  • Nuvoton
    KM1M0DF02N, KM1M0DF03N, KM1M0DF04N, KM1M0DF13N

  • NXP
    i.MXRT1180 - MIMXRT1181xxx2, MIMXRT1182xxx2, MIMXRT1187xxx8, MIMXRT1189xxx8,
    MKE12Z512xxx9, MKE13Z512xxx9, MKE17Z512xxx9,
    LPC864M201, MCXN235, MCXN236,
    S32K322, S32K388,
    S32M241, S32M242, S32M243, S32M244, S32M274, S32M276

  • Renesas
    RA2E3 - R7FA2E305, R7FA2E307,
    RA8D1 - R7FA8D1AF, R7FA8D1AH, R7FA8D1BF, R7FA8D1BH, RA8M1 - R7FA8M1AF, R7FA8M1AH,
    RA8T1 - R7FA8T1AF, R7FA8T1AH,
    RZ/T2L - R9A07G074M01, R9A07G074M04, R9A07G074M05, R9A07G074M08

  • ST
    STM32MP131, STM32MP133, STM32MP135,
    STM32U5F7, STM32U5F9, STM32U5G7, STM32U5G9

  • TDK-Micronas
    HVC5221D, HVC5222C

  • TI
    AM62A31, AM62A32, AM62A34, AM62A72, AM62A74,
    CC2340R2,
    MSPM0L1226, MSPM0L1227, MSPM0L1228, MSPM0L2226, MSPM0L2227, MSPM0L2228

  • XHSC
    HC32F448xA, HC32F448xC

  • YTMicro
    YTM32B1HA01, YTM32B1LD04, YTM32B1LE04, YTM32B1LE05, YTM32B1MD14, YTM32B1ME05, YTM32Z1MC03