mbed-os-6.14.0
We are pleased to announce the Mbed OS 6.14.0 release is now available.
Summary
The main changes provided by this release are upgrades of the Fat Filesystem to version R0.14b and CMSIS to 5.8.0, both bringing improved stability and reliability. We've also added a SPI NAND block device driver for using SPI NAND Flash, like Macronix Flash MX31LF4GE4BC.
Migration Guide
This section lists specific changes which are part of this release and may
need special attention.
FatFs: upgrade to R0.14b
Summary of changes
Current upstream version of FatFs was now R0.14b with a lot of fixed since R0.13a. LINK
So we migrated Mbed-OS modification in R0.13a back to R0.14b and change some that affect in FATFileSystem.cpp
Impact of changes
FatFs version upgrade that may introduce new regression from upstream.
Migration actions required
FatFs has been upgraded to R0.14b. This comes with the following API changes requiring migration for direct users of FatFs. Users of the Mbed OS C++ class FATFileSystem
do not need to change their use of FATFileSystem
.
f_mkfs() now takes a MKFS_PARAM *opt instead of a BYTE opt and DWORD au.
f_fdisk() now takes an LBA_t ptbl[] instead of a DWORD *szt.
CMake: tests: Support skipping unsupported test with reason
Summary of changes
Fixes #14856
Add a new argument TEST_SKIPPED
to mbed_greentea_add_test()
to indicate a test is skipped and give a reason (e.g. the Mbed target and/or configuration does not provide what the test requires).
The skip reason of a test is printed when running tests with ctest
, and the test is marked as "Skipped" in the test report.
As a showcase, use this mechanism to skip the PSA Attestation test if baremetal is used or PSA and Experimental API are unavailable. Also update the ticker test (whose CTest support was added in #14892) to skip if microsecond ticker is unavailable.
Update CMSIS to 5.8.0
Summary of changes
Update CMSIS to 5.8.0. It brings lot of fixes, see https://github.com/ARM-software/CMSIS_5/releases/tag/5.8.0
We again had some breakages, mainly it was arm compat (workaround implemented).
Dont require icetea
Summary of changes
Remove icetea requirement.
Impact of changes
icetea is no longer listed as a default dependency.
Migration actions required
If you require icetea, you must install it separately as it is no longer listed as a default dependency of mbed-os in requirements.txt.
Add config macros for device-variant, freq-support and xtal config
Summary of changes
Fixes #14726 by adding config macros for device-variant, freq-support and xtal config.
Settings these macros to -1, the selection pins are used.
add SPI NAND Block device driver
Summary of changes
Add SPI NAND block device driver for using SPI NAND Flash like Macronix Flash MX31LF4GE4BC.
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.14.0-RC1
Results for the tests we run in CI on mbed-os 6.14.0-RC1 (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
- Exporter Test - SOME FAILS (Issue: IOTCORE-1663 - Nightly: Export uvision failing with missing context fault handler)
- Cloud Client integration Test - ALL PASSED
- Memory Usage Test - ALL PASSED
Toolchain Coverage
In the Mbed OS 6.14.0 release. we are testing the following toolchains:
- ARM compiler 6.16.0 (Please note the change from Mbed OS 6.13.0)
- GCC_ARM 9-2019-q4-major
Targets Coverage
In Mbed OS 6.14.0, the compilation test targets scope has not changed and remains all Mbed OS enabled targets.
At the time of the Mbed OS 6.14.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
We have the following issue on the test jobs:
- IOTCORE-1663 - Nightly: Export uvision failing with missing context fault handler
Test Numbers
Greentea test number 1716 (-7)
Unittest number 745 (+4)
Code Coverage
Test Code Coverage been tracked and information is published on COVERALLS
Memory Monitoring
Observed no significant changes from Mbed OS 6.13.0
Contents
Ports for Upcoming Targets
Fixes and Changes
15008
TESTS: Reduce allocate memory size
15006
Disabled interrupts on smt32f7 and stm32h7 before calling disable data cache
15003
Add bluetooth support files to Cypress BSPs.
15002
Add missing include for PinNames.h
15000
Fix Extended Message Filter count in STM CAN API
14997
python: Upgrade pywin32
14995
travis ci migration to github action
14993
Add boilerplate unit test code to currently untested modules
14988
CYW43XXX Cordio HCI driver: update BT power up sequences to remove redundant delay (500ms) during HCIDrive initialization
14983
SFDP: Add unit tests for Sector Map Parameter Table parsing
14982
CYW43XXX Cordio HCI driver: fixed MCU deep-sleep locking flow
14980
github action fix for uppercase repository owner
14979
requirements.txt - remove manifest-tool 1.5.2 and mbed-cloud-sdk
14978
DOCKER: fix a bug in docker building GHA
14976
Add more uarts for STM32F103xG
14972
M2354: Support PSA Firmware Update
14970
USB connect problem in non blocking mode
14956
STM32_gen_PeripheralPins script update
14953
Rework post-build to support multiple executables
14952
github actions for mbed-os-env docker management
14948
Fix lorawantimer unit test
14945
TFM: Add missing IPC file for PSA Firmware Update
14944
CMake: unittests: Show all tests in CTest report
14941
Update references to time values to use chrono
14940
python: Allow newer prettytable with newer python
14939
Standard Pin Names validation script update
14935
mbed_retarget: enable IAR build
14932
Remove host_tests from mbed-os/tools
14929
Unit tests: Move target_h/ stubs into libraries' test doubles
14927
add workflow for checking ble feature selection compilation
14924
Refactor cellular unittest CMake
14922
Cellular: AT command fix - hex string shouldn't be quoted on bc95
14921
BLE: suppress error when no path is passed in for ble security db
14920
Refactor connectivity netsocket unittests
14919
BLE: fix missing define guards for feature selection
14914
Deprecate the Greentea metrics API
14912
Move ble stubs to FEATURE_BLE lib
14911
FatFs: upgrade to R0.14b
14910
Allow LoRaWAN STM32WL driver debug led to be inverted
14909
SPIF: fixed _address_size to always initialize as 3_BYTES in ::init()
14902
CMake: tests: Support skipping unsupported test with reason
14900
Update CMSIS to 5.8.0
14894
Unit tests: Connectivity: Make lorawan test header dependencies explicit
14892
Add CTest support for mbed-drivers-ticker
greentea test
14880
Dont require icetea
14831
DISCO_WB5MMG: add RGB LED
14821
RTOS: Add configuration to enable RTX events
14805
i2c: fix issue #14735 with multiple buses
14730
Add config macros for device-variant, freq-support and xtal config
14575
CMake: Enable improved armclang support in CMake 3.21
14397
add SPI NAND Block device driver
14288
BG96: Add segmentation to TCP socket send
Using this release
You can fetch this release from the mbed-os GitHub repository, using the tag "mbed-os-6.14.0".
If you need any help with this release please visit our support page, which provides reference links and details of our support channels.