mbed-os-6.15.0
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
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
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.