Skip to content

mbed-os-6.15.0

Compare
Choose a tag to compare
@mbedmain mbedmain released this 21 Sep 12:57
· 613 commits to master since this release
4cfbea4

We are pleased to announce the Mbed OS 6.15.0 release is now available.

Summary

The main focus with this release is bringing our support up to date for both the GCC and Arm compilers, so GCC10 and Arm 6.15.0 respectively, and now supporting TF-M v1.4. With this, Mbed OS can now support v8.1-M of the Arm Architecture and will support upcoming M55-based MCUs from the Arm ecosystem.

Migration Guide

This section lists specific changes which are part of this release and may
need special attention.

New feature: send/recv message implementation added to network stack

15040

Summary of changes

This PR is continuation of another stale PR: #14847. I am opening this one, as I didn't have access to push to the fork created by other developer.
I have added few changes related to unresolved comments:

  • function names were changed from socket_sendmsg/socket_recvmsg to socket_sendto_control/socket_recvfrom_control.
  • default implementation of this functions was provided in the NetworkStack class to not break the existing API. This was the issue that caused tests to fail in the previous PR.
  • MsgHeaderIterator accesses elements on the aligned addresses
    .

SFDP: Add support for multiple configurations and sector maps

14989

Summary of changes

Fixes #12574
This PR adds to following changes, to support CYW9P62S1_43012EVB_01's QSPI flash (S25FS512S):

  • A Sector Map Parameter Table contains a sequence of the following descriptors:
  • (Optional) configuration detection command descriptors, one for each command to run to determine the current configuration. This exists only if the flash layout is configurable.
  • Sector map descriptors, one map for each possible configuration. On a flash device with a non-configurable layout, there is only one such descriptor/map.
    Previously we only supported the non-configurable case with a single descriptor. This PR adds support for multiple configurations and provides a positive unit test case.
  • To be able to run configuration detection commands, a callback provided by each block device and used by the SFDP class needs to take additional parameters: address size, instruction and dummy cycles. Their values come from sector map descriptors in the SFDP table. This PR changes the callback interface, and updates callbacks implemented by SPI, QSPI and OSPI block devices to the extended interface.
  • A quirk is provided for Cypress S25FS512S flash device's inconsistent register value: This device's SFDP table suggests checking CR3NV[1], which needs to be 1 in order for the config detection algorithm to work. But the actual hardware has value 0 instead. This has been discussed before on the Internet (e.g. on a Linux mailing list) - it's not possible to change a value in hardware that has been in production for years.
  • Two of the three configurations of S25FS512S have eight 4KB sectors (32KB in total) overlaying a 256KB sector. This type of partial overlay is not current supported by Mbed OS's BlockDevice and SFDP parser. A quirk is provided to ignore the 4KB sectors and only use the 256KB sectors.
  • Fixes of a few preexisting issues we found.
    More details in commit messages.

Known Issues

There are no new known issues with this release.

Test Report

Release automated CI test

In addition to regular Pull Request tests and Nightly test, we also ran a nightly release test on mbed-os 6.15.0-RC

Results for the tests we run in CI on mbed-os 6.15.0-RC (nightly):

  • Build Greentea ARMC6 - ALL PASSED
  • Build Greentea GCC_ARM - ALL PASSED
  • Build Examples ARMC6 - ALL PASSED
  • Build Examples GCC_ARM - ALL PASSED
  • Build Cloud Examples ARMC6 - ALL PASSED
  • Build Cloud Examples GCC_ARM - ALL PASSED
  • Build CMAKE Examples ARMC6 - ALL PASSED
  • Build CMAKE Examples GCC_ARM - ALL PASSED
  • Build CMAKE Cloud Examples ARMC6 - ALL PASSED
  • Build CMAKE Cloud Examples GCC_ARM - ALL PASSED
  • Unittest Test matrix - ALL PASSED
  • GreenTea test matrix - ALL PASSED
  • Examples test matrix - ALL PASSED
  • CMAKE Examples test matrix - ALL PASSED
  • Cloud Client integration Test - ALL PASSED
  • Memory Usage Test - ALL PASSED

Toolchain Coverage

In the Mbed OS 6.15.0 release. we are testing the following toolchains:

  • ARM compiler 6.16
  • GCC_ARM 10.3-2021.07 (Please note the change from Mbed OS 6.14.0)

Targets Coverage

In Mbed OS 6.15.0, the compilation test targets scope has not changed and remains all Mbed OS enabled targets.

At the time of the Mbed OS 6.15.0 release, we run the greentea tests on the following targets:

  • ARM_MUSCA_S1
  • DISCO_L457VG_IOT01A
  • K64F
  • K66F
  • NRF52840_DK
  • NUCLEO_F429ZI
  • NUCLEO_F767ZI
  • NUCLEO_WB55RG
  • NUMAKER_IOT_M487
  • FPGAs on K64F, NRF52840_DK, NUCLEO_F429ZI, NUCLEO_F767ZI, NUCLEO_WB55RG, and DISCO_L457VG_IOT01A

Test Numbers

Greentea test number 1716 (+0)
Unittest number 756 (+11)

Code Coverage

Test Code Coverage been tracked and information is published on COVERALLS

Memory Monitoring

Observed no significant changes from Mbed OS 6.14.0

Contents

Ports for Upcoming Targets

15022
STM32U5 new family introduction

15012
Add platform MTS_DRAGONFLY_L496VG

Fixes and Changes

15078
M2354: Fix TF-M 1.4

15073
CMake: QSPIFBlockDevice: Guard unit test directory

15067
Greentea: Fix flash overflown issue in callback_big test

15066
CMake: Fix platform wait_ns greentea test Cmake

15061
Fix replacement of event queue background.

15060
set locale in mbed-os-env Docker image

15059
Fix Thread::start() and general_block_device test's thread allocation/deallocation

15052
Fix mbed-os-env docker digest retrieval

15051
Allow to use all STM32 targets prescaler for LPTIM

15050
Update to TF-M v1.4.0

15045
Workaround for a bug in malloc() from newlib-nano 4.1.0 (in GCC 10.3)

15043
FIX: update click version to fix scancode

15041
CMake: Set TARGET_NAME macro

15040
New feature: send/recv message implementation added to network stack

15034
add RTC using HSE to target STM32F1

15032
CMake: Fix escaping of quotes in response file

15031
connectivity-netsocket-tests-tests-network-wifi test suite configuration simplification

15030
M2354: Fix LCDCP missing in TF-M CLK pass list

15029
M2354: Fix incorrectly resolved peripheral base with security

15028
STM32 SPI: Update and improvement

15027
M2354: Generate unique MCUboot image version

15024
M2354: Enhance TF-M SDH stability

15022
STM32U5 new family introduction

15020
Nuvoton: M480/M451 CAN API support mask feature

15019
Refactor platform greentea cmake

15018
hal-tests-tests-mbed_hal-flash compilation warning

15017
STM32WL fixed current consumption for mode RBI_CONF_RFO_HP

15016
Fix IAR cmsis update breakage

15012
Add platform MTS_DRAGONFLY_L496VG

15010
Reduce spam on trace because of calling read/write while handshaking

15007
docker: Upgrade GCC to 10.3-2021.07

14989
SFDP: Add support for multiple configurations and sector maps

14981
Fix STM32 SPI 3-wire (synchronous API)

14951
CMake: Refactor rtos greentea cmake

14926
Eth: STM32: Overriding HAL callbacks in stm32xx

Using this release

You can fetch this release from the mbed-os GitHub repository, using the tag "mbed-os-6.15.0".

If you need any help with this release please visit our support page, which provides reference links and details of our support channels.