Skip to content

mbed-os-5.3.0

Compare
Choose a tag to compare
@adbridge adbridge released this 04 Oct 13:58
· 25453 commits to master since this release

This is the release note for mbed OS 5.3.0, summarizing the major enhancements in this version.

You can find the mbed OS 5.3.0 release on GitHub.

About this release

This release makes available early versions of key new features we are working on in development branches, alongside many enhancements and bug fixes to our stable release codeline. These new features will be of particular interest to partners and developers who would like to observe and contribute to their development ahead of them being made generally available.

The new feature developments made available are:

You can follow our development of these features - and contribute to them - by working with the feature branches linked above.

In addition, the main mbed OS 5.3 release includes a number of fixes since 5.2 and now supports 70 target platforms.

The following sections provide more details of these and other changes in this release.

Core

A first functional integration of the next generation CMSIS5 libraries, including the new CMSIS-RTOS2 RTOS kernel. This upgrade is integrated under the mbed OS Peripheral and RTOS APIs such that it will have little or no impact on developers, but provides important enhancements that can be taken advantage of internally.

These enhancements include:

  • Primitives and integration points for supporting TrustZone for Cortex-M and mbed uVisor
  • Improved RTOS kernel
  • Support for ARM Compiler 6
  • Many patches and modifications that mbed OS had made to CMSIS4 and CMSIS-RTOS now incorporated directly in to the CMSIS5 and CMSIS-RTOS2 codebases

This allows tracking of the latest CMSIS5 development, and will be brought in to the mainline release when it is ready. Impact on end developers when this happens should be very limited, but open up further opportunities for mbed OS functionality and portability.

Security

Building on the Hardware Entropy work in mbed OS 5.2, mbed OS 5.3 adds the integration points for implementing Hardware Acceleration on different target platforms. This support extends to both Symmetric and Asymmetric encryption operations, and when implemented for a target will transparently provide benefit for developers directly or indirectly using functions that rely on TLS/DTLS or other Cryptographic operations.

Partners looking to provide implementations for their targets should contact their ARM Partner Enablement representative for guidance, such that support can be made available for developers using their platforms in future mbed OS releases.

Connectivity

New LoRaWAN APIs are introduced to provide native development support for LoRaWAN applications on any mbed Enabled LoRa hardware. These APIs are available for partners and developers to analyze and help refine whilst the full mbed OS LoRaWAN stack is integrated, ahead of making it available as part of our mainline release. In particular, please contact us if you have an interest in LoRa and LoraWAN as a module manufacturer, OEM product developer or network provider.

Wi-Fi support has also been further improved, with built in support for both the u-blox ODIN-W2 and Espressif ESP8266 modules. Look out for further partner support, which will become available in patch releases.

Targets

Thanks to our partners’ hard work, mbed OS 5.3 supports 70 targets platforms.

We will continue to add new targets in our bi-weekly releases as partners introduce support.

Fixes and Changes

Please see the mbed-os GitHub repository referenced below for a full list of changes introduced in this release.

Known Issues

[Beetle] BLE scan doesn't work on BLE.

  • Description: On the beetle board, BLE scanning doesn't work and the scan procedure will never report any advertisement even if the procedure has been successfully launched.
  • Workaround: None
  • Reported Issue: #3400

Odin Ethernet requires configuration

  • Description: The default network interface for the Odin is Wi-Fi.
  • Workaround: Make Ethernet the default interface by removing “EMAC” from “device_has” in targets.json
  • Reported Issue: #3419

sockets do not work for NUCLEO_F746ZG using IAR toolchain

  • Description: The mbed-os-example-sockets program doesn't work when building with IAR
  • Workaround: None
  • Reported Issue: #3387

NUMAKER_ PFM_NUC472 does not work with uvision

  • Description: Error says IPv4 or IPv6 must be enabled
  • Workaround: None
  • Reported Issue: #3418

mbed TLS causes stack overflow in mbed OS targets

  • Description:
    The stack memory usage of some mbed TLS features is higher than 4 KB, which may cause stack overflow errors when running in constrained embedded environments with mbed OS which are particularly limited in RAM.
  • Workaround: The amount of stack required is very dependent on the application, and what features of the library it chooses to use. Obviously more intensive, demanding tasks may not be possible on more limited, constrained devices, so we recommend designing for the limitations of the target device, or choosing a device suitable for your application.
  • Reported Issue: ARMmbed/mbed-os-example-tls#14

DTLS renegotiation checks also compares record epoch value

  • Description:
    The TLS renegotiation routines are executed after the DTLS record sequence number for incoming or outgoing messages has exceeded a user-defined period. According with the RFC 6347 Section 4.3.1 the record sequence is an 6 byte unsigned integer, but the mbed TLS function ssl_check_ctr_renegotiate() compares 8 bytes. The additional 2 bytes correspond to the record epoch value, which may result in the incorrect execution of the renegotiation routines.
  • Workaround: There is no known workaround for this issue.
  • Reported Issue: Mbed-TLS/mbedtls#687

Using the release

You can fetch the mbed OS 5.3.0 release from the mbed-os GitHub repository, using the tag “mbed-os-5.3.0”.

Please feel free to ask any questions or provide feedback on this release on the forum, or to contact us at [email protected].