Releases: ARMmbed/mbed-os
mbed-os-6.17.0
We are pleased to announce the Mbed OS 6.17.0 release is now available.
Summary
This release mainly integrates fixes to issues identified over the previous months.
Support for three new targets is also added:
- Maxim Integrated MAX32670EVKIT
- Nuvoton NuMaker-IoT-M467
- Toshiba SBK-M4KN
Migration Guide
This section lists specific changes which are part of this release and may
need special attention.
LoRaWAN AS923 Add SUB_REGION AS1..AS4
Summary of changes
This Change add sub regions for AS923 according to the https://resources.lora-alliance.org/technical-specifications/rp2-1-0-3-lorawan-regional-parameters
Impact of changes
Able to use LoRaWAN in countries that moved to AS923-AS2, AS3 and AS4, while defaulting to AS1
.
Added in connectivity/lorawan/mbed_lib.json
a setting that defaults to AS1 sub region and thus defaults to the traditional AS923 Region.
"phy-as923-sub-region" : {
"help": "AS923 sub region: AS1, AS2, AS3, AS4",
"value": "AS1"
}
Migration actions required
none
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.17.0-RC
Results for the tests we run in CI on mbed-os 6.17.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
- Unittest Test matrix - ALL PASSED
- GreenTea test matrix - ALL PASSED
- Examples test matrix - ALL PASSED
Toolchain Coverage
In the Mbed OS 6.17.0 release. we are testing the following toolchains:
- ARM compiler 6.16
- GCC_ARM 10.3-2021.07
Targets Coverage
In Mbed OS 6.16.0, the compilation test targets scope has not changed and remains all Mbed OS enabled targets.
At the time of the Mbed OS 6.16.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 758 (+0)
Contents
Ports for Upcoming Targets
15353
Add TMPM4GR Platform
15343
Add proper support for NUCLEO-H723ZG.
15337
Nuvoton: Support new target NUMAKER_IOT_M467
15330
Add TMPM4NR Platform
Fixes and Changes
15383
fix STM I2C compiler inline issue
15382
Mimxrt1050 lpuart
15378
STM32F303xC: correct RAM size
15374
CAN: read can do only up to 8 bytes, error if more is reported
15373
Check CAN DLC length value
15370
Fix socket default interface ID only being used partially
15369
test: Disable failing tests due to echo server
15368
fix STM32L1 FLASH_SIZE for cat.3 devices with DEV_ID 0x436
15367
Fix mesh connect semaphore not releasing causing blockage
15366
Add support of NSAPI_ICMP sockets in Nanostack
15363
scancode: Fix license index failure
15357
scancode: Limit click version to <8
15356
STM32F1: add MCU_STM32F103xD and MCU_STM32F103xG support
15355
Targets: NXP: IMXRT: Fixed GCC_ARM lds syntax.
15353
Add TMPM4GR Platform
15352
M2354: Support FS-USBD
15350
Rethink STM32 I2C v2 HAL
15344
Correct MAX32620 boards macro for USB library.
15343
Add proper support for NUCLEO-H723ZG.
15341
Replace MAX32660, MAX32670 I2C driver with final one in MSDK
15337
Nuvoton: Support new target NUMAKER_IOT_M467
15333
Nuvoton: I2C: Fix potential role switch failure
15330
Add TMPM4NR Platform
15329
Add complete support of DHCP relay interface ID option
15325
Updated System file and Scatter file
15323
Fix missing mbed:: prefix issue
15322
STM32WL: fix MBED_CONF_STM32WL_LORA_DRIVER_SLEEP_MODE option
15320
LoRaWAN AS923 Add SUB_REGION AS1..AS4
15317
Fix for calculating CAN timing settings for STM32
15313
M487: Fix mbedtls_ecp_point_cmp() call with null argument
15312
STM32WL preparation for new chip rak3172sip
15311
Fix missing global up callback in CellularContext
15306
Add missing unlock() in file_truncate in FATFileSystem
15302
rename: PwmOut::read_pulsewitdth_us() to PwmOut::read_pulsewidth_us()
15299
Make STM32F412xE targets build
15297
cli2 artifact name property support for cmake targets
15295
lwiperf: fix double-free of pcb on error
Using this release
You can fetch this release from the mbed-os GitHub repository, using the tag "mbed-os-6.17.0".
If you need any help with this release please visit our support page, which provides reference links and details of our support channels.
mbed-os-6.16.0
We are pleased to announce the Mbed OS 6.16.0 release is now available.
Summary
This release adds some new targets, from Maxim Integrated, ST and Toshiba, and provides fixes for a number of issues raised over the past few months.
Migration Guide
This section lists specific changes which are part of this release and may
need special attention.
add the possibility to customize the delimiter of the ATHandler in AT
Summary of changes
Modify the constructor of the ATCellularDevice to permit to customize ATHandler delimiter
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.16.0-RC
Results for the tests we run in CI on mbed-os 6.16.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.16.0 release. we are testing the following toolchains:
- ARM compiler 6.16
- GCC_ARM 10.3-2021.07
Targets Coverage
In Mbed OS 6.16.0, the compilation test targets scope has not changed and remains all Mbed OS enabled targets.
At the time of the Mbed OS 6.16.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 758 (+2)
Code Coverage
Test Code Coverage been tracked and information is published on COVERALLS
Memory Monitoring
Observed no significant changes from Mbed OS 6.15.0
Contents
Ports for Upcoming Targets
15263
Add MAX32670
15199
Support for the NUCLEO_G0B1RE board
15194
Add Toshiba M4KN Platform
Fixes and Changes
15291
Mts 001 mtdot clk fix
15289
M487: Fix crypto h/w port
15287
Mbed TLS: Fix wrong MPI N in ECP Curve448 curve
15286
STM32G4: Fix serial port at low speed baud
15284
Fix MPS2 CM3DS ethernet driver
15281
Bluetooth: Inform privacy risk of using signed writes.
15280
Support ITM tracing for Ambiq Apollo3 targets
15279
STM32F334xx wrong RAM size
15277
STM32L0: add MCU_STM32L071xB support
15274
tcp_out: fix tcp_output_fill_options() arguments
15273
add the possibility to customize the delimiter of the ATHandler in AT
15271
semihosting: Fix typo in semihost_rename
15270
Github actions: use safe.directory for actions invoking git
15269
STM32G4 : enable UART ASYNC
15268
STM32L0 : I2C2 was missing
15263
Add MAX32670
15261
Mbed TLS: Fix compile error with ECP alternative
15258
STM32F0: Fix target codes for number of UARTs
15256
STM32F1: add MCU_STM32F103xC support
15251
Correct heap region calculation for Maxim targets
15249
STM32G4: Fix I2C timing
15240
ESP8266: Fix serial flow control inconsistency on reconnect
15239
STM32G4: enable QSPI for custom boards
15238
Updated I2C pin names in PinNames.h header
15232
STM32H7: add MCU_STM32H753xI support
15231
STM32L1: build error with STM32L151xB MCU
15230
STM32G4: corrections for STM32G491xE, STM32G4A1xE and STM32G471xE
15229
STM32H7 : fix I2C5 build error
15227
lorawan: Fix Join Request retransmission timing (Interop test)
15225
lorawan: Fix issue in unconfirmed_retransmission behavior
15223
CMake: Fix command line too long with Ninja/ARMClang on Windows
15222
Fix strrchr() not declared for IAR
15221
Add ability to use multiple UARTs on STM32L0, STM32G0 when IRQ is shared
15219
Use MBED_FILENAME instead of FILE in MBED_ASSERT
15217
Fix STM32 radio driver when bandwidth is 0
15215
STM32 : add MCU_STM32L4P5xG and MCU_STM32L412xB support
15214
Allow unit tests to be compiled with -fno-exception
15212
STM32H7: increase i2c slave rx limit.
15210
ST: correct LED pins for DISCO_L562QE
15207
Add Nuvoton NuMaker-IoT-M263A CAN bus support
15206
STM32: fix SPI 16 bit mode
15205
Add USBDEVICE to NUCLEO_F722ZE target
15204
STM32G0 FLASH : support MCU with dual bank
15200
M487: Fix UART 6/7 base address encoding
15199
Support for the NUCLEO_G0B1RE board
15195
Add option to disable CM0P_SLEEP component for Cypress targets
15194
Add Toshiba M4KN Platform
15193
STM32 : remove several warnings
15192
Add option to disable WHD component for Cypress targets
15190
Make gpio irq api portable
15189
nRF52: GPIO: Assert that init succeeds
15187
Nanostack release v15.1.0 to master
15184
Fix initialisation sequence of RTC
15183
STM32WL : add robustness
15181
Fix LoRa sx1276 Low Power sleep, now 3uA
15178
Add netbuf-recvinfo-enabled config to LWIP settings
15177
Fix overflow at extremely low RSSI
15176
mstd::span rename index_type to size_type according to spec
Using this release
You can fetch this release from the mbed-os GitHub repository, using the tag "mbed-os-6.16.0".
If you need any help with this release please visit our support page, which provides reference links and details of our support channels.
mbed-os-5.15.9
We are pleased to announce the Mbed OS 5.15.9 release is now available.
Summary
We anticipate this release to be our final Mbed OS 5.15.x release as we have fulfilled our commitment of a two year support period for Mbed OS 5.15. We continue to focus our support efforts on Mbed 6 and encourage anyone who hasn’t yet migrated from Mbed 5.x.x to Mbed 6 to do so.
The contents of this release are predominantly defect fixes plus documentation changes to address a security vulnerability identified in the Mbed BLE implementation, which can be avoided by using full encryption instead of signed writes.
Migration Guide
This section lists specific changes which are part of this release and may
need special attention.
Bluetooth: Inform privacy risk of using signed writes.
Summary of changes
The Cordio stack uses a single CSRK. It can be used by a
malicious device to track the Mbed OS application if signed
writes are used.
This PR documents the issue and explain workaround an application can
adopt.
GitHub actions: Update checkout version and use safe.directory
Summary of changes
GitHub actions is failing due to not finding directories. This change fixes this by upgrading the checkout to v3 and using
safe.directory.
Add invalid data case to tdbstore ram init
Summary of changes
Fix Ublox C030 SARA-R412M onboard cellular device serial (target default instance).
Summary of changes
Whit the following mbed_app.json
config example, the ONBOARD_UBLOX
target is used and the serial connection to the Ublox module can work properly.
"target_overrides": {
"*": {
"platform.stdio-convert-newlines": true,
"platform.stdio-baud-rate": 115200,
"platform.default-serial-baud-rate": 115200,
"mbed-trace.enable": true,
"cellular.debug-at": true,
"cellular.use-apn-lookup": true,
"nsapi.default-cellular-apn": "\"some.provider.com\"",
"nsapi.default-cellular-plmn": null,
"nsapi.default-cellular-sim-pin": null,
"nsapi.default-cellular-username": null,
"nsapi.default-cellular-password": null,
"lwip.ipv4-enabled": true,
"lwip.ipv6-enabled": true,
"lwip.tcp-enabled": true,
"lwip.ethernet-enabled": false,
"lwip.ppp-enabled": false,
"ppp.ipv4-enabled": false,
"ppp.ipv6-enabled": false
},
"UBLOX_C030_R412M": {
"target.features_add": ["STORAGE"],
"target.components_add": ["SD"],
"target.network-default-interface-type": "CELLULAR",
"storage.storage_type": "FILESYSTEM",
"sd.SPI_MOSI": "SPI_MOSI",
"sd.SPI_MISO": "SPI_MISO",
"sd.SPI_CLK": "SPI_CLK",
"sd.SPI_CS": "SPI_NSS"
}
}
Bugfix on ONBOARD_UBLOX.cpp#L30 adding line serial.set_flow_control(SerialBase::RTSCTS, MDMRTS, MDMCTS);
.
With the correct serial flow control, the serial connection is stable and don't get lost.
Known Issues
There are no new known issues with this release.
Contents
Ports for Upcoming Targets
Fixes and Changes
15282
Bluetooth: Inform privacy risk of using signed writes.
15275
GitHub actions: Update checkout version and use safe.directory
15155
Add invalid data case to tdbstore ram init
15148
Fix Ublox C030 SARA-R412M onboard cellular device serial (target default instance).
Using this release
You can fetch this release from the mbed-os GitHub repository, using the tag "mbed-os-5.15.9".
If you need any help with this release please visit our support page, which provides reference links and details of our support channels.
mbed-os-6.15.1
We are pleased to announce the Mbed OS 6.15.1 release is now available.
Summary
In this latest patch release for Mbed OS we have added new target support for STM32F722ZE and MAX32660EVSYS.
Other highlights include :
- Updating STM32WL drivers to CUBE V1.1.0
- Updating STM32G0 drivers to CUBE V1.5.0
- Adding CAN support for STM32L5/STM32U5
- Introducing new wifi driver support for B-U585I-IOT02A (STM32)
- Enabling USB_DEVICE support for NUCLEO_F303ZE (STM32F3)
For improved security and functionality we have updated psutil to 5.6.7 and PyElfTools to 0.27.
We've also added a new Nanostack release (v15.0.0) .
For a full set of changes please see below.
Migration Guide
This section lists specific changes which are part of this release and may
need special attention.
Known Issues
There are no new known issues with this release.
Contents
Ports for Upcoming Targets
15153
STM32F722ZE port
15109
Add MAX32660EVSYS
Fixes and Changes
15174
M2354: Fix potential issues in TF-M
15169
B_U585I_IOT02A supports OSPI
15166
Change google test git tag to main
15164
STM32L1: add support of MCU_STM32L151xB
15161
M2354: Adjust TF-M configuration to fit AWS IoT application
15154
STM32WB55 HCI driver: version dependent rom size
15153
STM32F722ZE port
15152
Fix rounding bug when formatting floats with minimal_printf
15151
Update psutil to 5.6.7 and PyElfTools to 0.27
15149
InterruptIn: add note about enabling interrupts in rise/fall
15147
NetworkStack: Remove stub implementations of socket_x_control
15145
QSPIF: Add missing mbed namespace prefix to header file
15141
mergify: fix needs work labels if CI fails
15140
M2354: Enable post-build for custom board partially with Mbed CLI
15139
Fix for PWM resume issue, SWINTEGRATION-57
15138
STM32: Remove non-UTF characters
15137
STM32WL update drivers version to CUBE V1.1.0
15136
STM32WL LORA radio: add a critical section
15134
STM32WL: UART2 was missing
15133
STM32WB/STM32WL: I2C issue
15132
STM32: fix USB_reenumerate() for STM32F3
15130
STM32H743: correct pack manager rom value
15128
Fix USB on DISCO_F769NI
15127
mergify: fix issue with labels when PR is closed
15126
mbed_create_distro() reborn: a function to make adding multiple targets easy
15124
pin_names-arduino_uno test : UART test case update
15123
STM32: introduce new wifi driver for B-U585I-IOT02A
15120
STM32: enable STM32H735xG STM32H7B3xIQ for custom boards
15117
CLI2: copy mapfile for diff statistics
15116
STM32F3 - enable USB_DEVICE for NUCLEO_F303ZE
15114
Fix ARM toolchain #L6803W Relocation warnings
15111
DTLSSocket - destruction while handshaking lead to error
15109
Add MAX32660EVSYS
15107
LWIP: Provide inline replacements for htons() and htonl()
15103
Nanostack release v15.0.0 to master
15099
STM32H7: enable more custom boards
15098
STM32F303xC: cmakelist issue
15095
CMake: greentea: Migrate the NFC EEPROM test to CTest
15082
STM32F1: add more alternate functions
15081
STM32: STM32_gen_PeripheralPins.py v1.20.4
15080
STM32F4: CAN issue with F407 target
15077
CAN: Use uintptr_t for can_irq_ids
15075
STM32G0 update drivers version to CUBE V1.5.0
15074
STM32 : default SPI and I2C for targets with ARDUINO-NANO
15068
connectivity tests: avoid HardFault with null pointer
15065
STM32L5/STM32U5 : CAN support
15062
Lora drivers: explicit lib requirement
14610
Power management stat : add verbosity level for MBED_SLEEP_TRACING_ENABLED
Using this release
You can fetch this release from the mbed-os GitHub repository, using the tag "mbed-os-6.15.1".
If you need any help with this release please visit our support page, which provides reference links and details of our support channels.
mbed-os-5.15.8
We are pleased to announce the Mbed OS 5.15.8 release is now available.
Summary
This is the latest support release for Mbed OS 5.15 . The primary focus of this release was to include new versions of Nanostack (versions 13.0.0, 14.0.0 and 15.0.0) and updates to mbed-coap (versions 5.1.10 and 5.1.11).
There are also some API additions:
- Added API to reset MAC statistics and Wi-SUN statistics.
- Add system time read/write callbacks to mbed-mesh-api. Nanostack will use the callbacks for system time synchronisation in the mesh network.
- Added API to get Wi-SUN neighbor table.
Migration Guide
This section lists specific changes which are part of this release and may
need special attention.
Nanostack release v15.0.0 to mbed-os-5.15
Summary of changes
Nanostack release v15.0.0 to mbed-os-5.15 branch. This PR is a copy of #15101.
[mbed-os-5.15] Nuvoton M480/M451 CAN API support mask feature
Summary of changes
This PR is backport of #15020 into Mbed OS 5.15 to enable M480/M451 CAN mask feature for Mbed CAN filter. In this PR, it will also handle standard ID or extended ID frame as while enable H/W mask feature.
Impact of changes
None
Migration actions required
None
Travis CI migration to GitHub Actions
Summary of changes
Mbed OS is moving GitHub Actions from TravisCI. This PR takes care of the migration of mbed-os-5.15 branch.
Migration actions required
Disable mbed-os-5.15 branch in TravisCI settings.
[mbed-os-5.15] Nanostack release v14.0.0
Summary of changes
This PR provides the following updates to the Wi-SUN software stack (nanostack):
MAX32630FTHR: Port USBSerial from mbed6.x
Summary of changes
USB HW implementation added for MAX32630FTHR board.
[mbed-os-5.15] Add system time read/write callbacks to mbed-mesh-api
Summary of changes
Add system time read/write callbacks to mbed-mesh-api. Nanostack will use the callbacks for system time synchronisation in the mesh network.
This is a copy of #14754
connectivity tests: Early test skip
Summary of changes
Adding mbed-os subdirectories that are not required for a specific project to .mbedignore is a good way to reduce compilation time. Sometimes it happens that tests depend on ignored files, which causes the test-build to fail even though the corresponding feature/component is not configured. The reason is that the conditional that skips the test is placed after the includes.
PR for master already merged: #14767
Impact of changes
None
Migration actions required
None
mbed-os-5.15: Update mbed-coap to version 5.1.11
Summary of changes
Block-Wise request (block1) error handling improvements:
- Removed SN_COAP_BLOCKWISE_MAX_TIME_DATA_STORED usage. Block-Wise requests will now follow normal retranmission rules.
- Process block1 responses only once. If response is coming in wrong order just ignore it wait next response to happen.
mbed-os-5.15: remove python 2.7 tests from travis
Summary of changes
This is cherry-picked from master (we should backport this to 5.15 branch). Python 3 is the way to go.
test examples: remove tls socket, it was deprecated some time ago
Summary of changes
The example was deprecated some time ago. We should not test it in CI for 5.15 branch (it was removed from master).
[mbed-os-5.15] Update mbed-coap to version v5.1.10
Summary of changes
- Fix regression from previous release concerning 1024 byte blocksize operations.
- Do not store ACK's into duplicate list.
- Code size optimizations
mbed-os-5.15: Add API to get Wi-SUN Neighbor Table
Summary of changes
This is upstream of PR#14586
Added API to get Wi-SUN neighbor table.
Added more parameters in Wi-SUN statistics.
Impact of changes
None
Migration actions required
None
LPC15xx extended CAN fix (5.15)
Summary of changes
This PR fixes an issue with parsing the identifier of received extended CAN frames on the LPC15xx targets. According to the user manual, CANIF2_ARB2
contains the high bits while CANIF2_ARB1
contains the low bits of the extended CAN identifier.
mbed-os-5.15: Mesh api: Added PHY mode, channel plan IDs and configuration functions
Summary of changes
Support for Wi-SUN FAN v1.1 PHY mode ID and channel plan ID in Mesh API.
- Enables using OFDM modulation with Wi-SUN stack.
- This change is copied from PR: #14161
Implemented domain configuration functions in mesh API: - Functions will set, get and validate the parameters using corresponding Nanostack API.
- This change is copied from PR: #14251
[mbed-os-5.15] Nanostack release v13.0.0
Summary of changes
Nanostack release v13.0.0 to mbed-os-5.15 branch.
This PR provides mesh stack ready for Wi-SUN PHY and FAN certification tests.
This is a copy of PR: #14549
Nuvoton: Fix hal_watchdog_kick() with WDT stopped (5.15)
Summary of changes
This PR is backport of #14555 to mbed-os-5.15
branch. It tries to fix watchdog_kick()
which shall do nothing when WDT is stopped according to WDT HAL spec.
Change targets:
- NUMAKER_PFM_NANO130
- NUMAKER_PFM_M453
- NUMAKER_PFM_NUC472
- NUMAKER_PFM_M487/NUMAKER_IOT_M487
mbed-os-5.15: Add API to reset MAC statistics and Wi-SUN statistics
Summary of changes
Added API to reset MAC statistics and Wi-SUN statistics.
This is copied from #14439
Impact of changes
None
Migration actions required
None
M487: Fix crash on WDT reset from power-down (5.15)
Summary of changes
This PR is backport of #12557 and #14524 to mbed-os 5.15 and tries to fix issue with WDT reset from power-down mode.
UARTSerial writes even if tx is disabled
Summary of changes
Remove shadowing variables.
mbed-os-5.15: Added new start methods to Wi-SUN BR with WisunInterface parameter and deprecated the old ones
Summary of changes
Previously WisunBorderRouter start() used NetworkInterface type for mesh interface, although only WisunInterface type is possible for the call. Added a new overloads of the start with the WisunInterface as mesh interface type and deprecated the old ones. This makes the calls stricter about the interface type and safer. It also allows to remove the reinterpret_cast that causes
compiler warning on ARM compiler.
This is mbed-os-5.15 version of #14462
Impact of changes
None
Migration actions required
None
Known Issues
There are no new known issues with this release.
Contents
Ports for Upcoming Targets
Fixes and Changes
15102
Nanostack release v15.0.0 to mbed-os-5.15
15026
[mbed-os-5.15] Nuvoton M480/M451 CAN API support mask feature
15011
Travis CI migration to GitHub Actions
14833
[mbed-os-5.15] Nanostack release v14.0.0
14830
MAX32630FTHR: Port USBSerial from mbed6.x
14818
[mbed-os-5.15] Add system time read/write callbacks to mbed-mesh-api
14771
connectivity tests: Early test skip
14770
mbed-os-5.15: Update mbed-coap to version 5.1.11
14745
mbed-os-5.15: remove python 2.7 tests from travis
14744
test examples: remove tls socket, it was deprecated some time ago
14682
[mbed-os-5.15] Update mbed-coap to version v5.1.10
14618
mbed-os-5.15: Add API to get Wi-SUN Neighbor Table
14597
LPC15xx extended CAN fix (5.15)
14566
mbed-os-5.1...
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.
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](https://g...
mbed-os-6.13.0
We are pleased to announce the Mbed OS 6.13.0 release is now available.
Summary
The main changes in this release are updates to existing functionality and APIs; so the addition of a RawCan class, Cortex-A5 support, changes to the BLE manual security manager functionality and greentea CMake tests refactored for supporting PSA.
Migration Guide
This section lists specific changes which are part of this release and may
need special attention.
CMake: Add CMake to mbed-psa greentea tests
Summary of changes
- Changed
mbed_greentea_add_test
macro to require TEST_SOURCES for all files, removing assumption of main.cpp - Refactored all pre-existing greentea tests to add main.cpp using TEST_SOURCES
- Added a CMakeLists.txt for each test suite in Mbed OS PSA.
- Moved /pal and /val directories into a separate /test_abstraction_layer directory and combined them into one CMake target, which is linked to by the test suites that require them.
Fixes #14680
Impact of changes
None.
Migration actions required
None.
BLE: Manual BLE security manager db synchronisation
Summary of changes
Adds new BLE API call to manually attempt to synchronise the security manager DB.
Feature: Make changes for Cortex-A5 support
Summary of changes
It's a PR that add Cortex-A5 support for mbed-os custom targets.
Unify some __CORTEX_A macros.
__MBED_CMSIS_RTOS_CM
and __MBED_CMSIS_RTOS_CA9
have been removed from CMake as they're not used anymore.
drivers: Add RawCan object
Summary of changes
RawCAN
class (unlocked apis) is added, which can be used in case if CAN object is accessed by a single thread.
Specific for ST CAN HAL implementation:
can_read is deferred to thread context when rx interrupt is enabled.
As can_read is protected by mutex(mutex is not allowed in ISRs in Mbed) and read is only possible way to clear interrupts in bxCAN in STM controllers, reads are to be deferred to thread context.
CYW43XXX: Add generic transport layer
Summary of changes
Aim of this pr is to add a generic transport layer to COMPONENT_CYW43XXX
using unbuffered uart. CYW43XXX_UNBUFFERED_UART
directive has been added to keep Cypress hal support available.
40fd126 Adds then CYW43XXX
support to PORTENTA_H7
target.
Impact of changes
COMPONENT_CYW43XXX
Known Issues
We publish Mbed OS as a collection of modules on GitHub. Issues are raised in the specific repositories and then tracked internally. The purpose of this section is to provide a single view of the outstanding key issues that have not been addressed for this release. As such, it is a filtered and reviewed list based on priority and potential effect. Each item summarizes the problem and includes any known workarounds, along with a link to the GitHub issue (if applicable). We welcome any comments or proposed solutions.
For more information about an issue, contact us on the forum.
TLS: IP addresses in the X.509 certificate subjectAltNames
- Description: Parsing IP addresses in the X.509 certificate subjectAltNames is not supported yet. In certificate chains relying on IP addresses in subjectAltNames a
BADCERT_CN_MISMATCH
error is returned. - Workaround: merge branch https://github.com/ARMmbed/mbedtls/tree/iotssl-602-san-ip into your copy of Mbed TLS before building the application. It is still in EXPERIMENTAL stage, use it on your own responsibility!
- Reported Issue: Issue reported by a customer in email.
- Priority: MAJOR
TLS: Mismatch of root CA and issuer of CRL not caught
- Description: The
x509_crt_verifycrl()
function ignores the CRL, when the CRL has an issuer different from the subject of root CA certificate. - Workaround: Make sure that the issuer of the CRL and the root CA certificate's subject are the same before passing them to
x509_crt_verifycrl()
. - Reported Issue: Reported by a partner.
- Priority: MAJOR
TLS: Self Test Failure with Some Hardware Accelerators
- Description: Most HW acceleration engines (if not all) require the parameters to be from contiguous memory.
All the self tests use test vectors that are defined in the .bss section, which means these are not contiguous. This causes the self test to possibly fail, when implementing HW accelerated engines. - Workaround: There are no known workarounds.
- Reported Issue: Reported by the development team.
- Priority: MAJOR
TLS: Hardware-accelerated hash creates CBC padding oracle in TLS
- Description: The current countermeasures against CBC padding oracle attacks in Mbed TLS call a low level internal API. The implementation of this API might not be possible with the hardware accelerator API and even if it is, the timing might still have detectable differences. The lower level API is called out of sequence and accelerators that are not aware of this might crash.
- Workaround: Keep
MBEDTLS_SSL_ENCRYPT_THEN_MAC
enabled inmbedtls/config.h
and enable the Encrypt-then-MAC extension (RFC7366) on the peers side. - Reported Issue: Reported by the development team.
- Priority: MAJOR
Crypto: Mbed OS ATECC608A example fails to build with IAR
- Description: The current ATECC608A secure element example fails to build with the IAR toolchain. The Microchip-provided cryptoauthlib library does not build with IAR.
- Workaround: Use a different toolchain, like GCC_ARM.
- Reported Issue: MicrochipTech/cryptoauthlib#116
- Priority: Minor
Wi-SUN Hardfaults with IAR compiled image with Mbed OS 5.15.0
- Description: Mesh Wi-SUN FAN may HardFault in rare occasions with IAR8 compiled binaries during initial network connection.
- Workaround: The workaround is to use other compilers.
- Reported Issue: IOTTHD-3898
- Priority: Major
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.13.0-RC1
Results for the tests we run in CI on mbed-os 6.13.0-RC1 (nightly):
- Build Greentea ARMC6 - SOME FAILS (Issue: MBEDOSTEST-1163 - ARMC6 Failed to build mbed OS with LTO options)
- 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.13.0 release. we are testing the following toolchains:
- ARM compiler 6.15.0
- GCC_ARM 9-2019-q4-major
Targets Coverage
In mbed-os 6.13.0, the compilation test targets scope has not changed and remains all mbed OS enabled targets.
At the time of the mbed-os 6.13.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 issues on the test jobs:
- MBEDOSTEST-1163 - ARMC6 Failed to build mbed OS with LTO options
- IOTCORE-1663 - Nightly: Export uvision failing with missing context fault handler
Test Numbers
Greentea test number 1723 (+0)
Unittest number 741 (+0)
Code Coverage
Test Code Coverage been tracked and information is published on COVERALLS
Memory Monitoring
Observed no significant changes from mbed-os-6.12.0
Contents
Ports for Upcoming Targets
Fixes and Changes
14915
STM32 Fix i2c_compute_timing() API
14913
802.15.4 stm-s2lp-rf-driver update to v1.0.10
14905
STM32 : README updates about custom boards
14899
STM32WL: correct CMakeLists.txt for STM32WLE5xC
14898
Fix gcc_arm linker script for stm32f407xg targets
14897
ST BLUENRG BLE: STWIN SensorTile board introduction
14896
Move connectivity nanostack libservice stub
14895
ADC: STM32H7: Skip Negative input analog channels (INN)
14890
Move connectivity mbedtls stubs
14888
Portenta: Add BLE support using CYW43XXX generic transport layer
14887
Updated can bit timing parameters as per the ISO11898-2
[14884](https://git...
mbed-os-6.12.0
We are pleased to announce the Mbed OS 6.12.0 release is now available.
Summary
The main changes in this release are further enhancements to connectivity with changes to socket APIs and to the Mesh support for Wi-SUN.
Support for one new target is added too:
- Nuvoton M2354 - https://os.mbed.com/platforms/NUMAKER-M2354/
Migration Guide
This section lists specific changes which are part of this release and may
need special attention.
LWIP Broadcast socket option added
Summary of changes
This PR adds Broadcast socket option
Impact of changes
No impact
Migration actions required
Not needed
Fix 'netsocket: several dynamic allocation results not checked' (#14210)
Summary of changes
This changes adds std::nowthrow
and the checks for allocation failure to all places in the netsocket
portion that lacked it. This change addresses #14210.
Impact of changes
add_event_listener
in NetworkInterface
now returns an error if the method fails. Previous attempts to add the event listener would attempt to use an unchecked standard dynamically allocated ns_list_*
item.
In other cases, the dynamically allocated items will now be checked, and if unsuccessful, will return after cleaning up any outstanding issues.
TCPSocket::accept
will now check that its own internally allocated new TCPSocket
call will succeed, and if not, will clean up the stack resources. This should help when memory is low but an incoming connection requests a connection when the TCPSocket
is listening.
Migration actions required
As new
calls are now handled, code that did not check against this failure may now check for failure and handle it at the application layer.
add_event_listener
now returns nsapi_error_t
instead of void
. The two return values possible are NSAPI_ERROR_OK
and NSAPI_ERROR_NO_MEMORY
in the case of memory allocation failure.
Mesh api: Added PHY mode, channel plan IDs and configuration functions
Summary of changes
Support for Wi-SUN FAN v1.1 PHY mode ID and channel plan ID in Mesh API.
- Enables using OFDM modulation with Wi-SUN stack.
- This change is copied from PR: #14161
Implemented domain configuration functions in mesh API: - Functions will set, get and validate the parameters using corresponding Nanostack API.
- This change is copied from PR: #14251
Enable the RWW function of Macronix Flash MX25LW51245G in OSPI block device driver
Summary of changes
Update PR #12644.
Add source code about RWW(read while write) in OSPI block device driver for using the RWW function Macronix octaflash MX25LW51245G to improve performance.
Impact of changes
Enable the RWW function of MX25LW51245G.
Known Issues
We publish Mbed OS as a collection of modules on GitHub. Issues are raised in the specific repositories and then tracked internally. The purpose of this section is to provide a single view of the outstanding key issues that have not been addressed for this release. As such, it is a filtered and reviewed list based on priority and potential effect. Each item summarizes the problem and includes any known workarounds, along with a link to the GitHub issue (if applicable). We welcome any comments or proposed solutions.
For more information about an issue, contact us on the forum.
TLS: IP addresses in the X.509 certificate subjectAltNames
- Description: Parsing IP addresses in the X.509 certificate subjectAltNames is not supported yet. In certificate chains relying on IP addresses in subjectAltNames a
BADCERT_CN_MISMATCH
error is returned. - Workaround: merge branch https://github.com/ARMmbed/mbedtls/tree/iotssl-602-san-ip into your copy of Mbed TLS before building the application. It is still in EXPERIMENTAL stage, use it on your own responsibility!
- Reported Issue: Issue reported by a customer in email.
- Priority: MAJOR
TLS: Mismatch of root CA and issuer of CRL not caught
- Description: The
x509_crt_verifycrl()
function ignores the CRL, when the CRL has an issuer different from the subject of root CA certificate. - Workaround: Make sure that the issuer of the CRL and the root CA certificate's subject are the same before passing them to
x509_crt_verifycrl()
. - Reported Issue: Reported by a partner.
- Priority: MAJOR
TLS: Self Test Failure with Some Hardware Accelerators
- Description: Most HW acceleration engines (if not all) require the parameters to be from contiguous memory.
All the self tests use test vectors that are defined in the .bss section, which means these are not contiguous. This causes the self test to possibly fail, when implementing HW accelerated engines. - Workaround: There are no known workarounds.
- Reported Issue: Reported by the development team.
- Priority: MAJOR
TLS: Hardware-accelerated hash creates CBC padding oracle in TLS
- Description: The current countermeasures against CBC padding oracle attacks in Mbed TLS call a low level internal API. The implementation of this API might not be possible with the hardware accelerator API and even if it is, the timing might still have detectable differences. The lower level API is called out of sequence and accelerators that are not aware of this might crash.
- Workaround: Keep
MBEDTLS_SSL_ENCRYPT_THEN_MAC
enabled inmbedtls/config.h
and enable the Encrypt-then-MAC extension (RFC7366) on the peers side. - Reported Issue: Reported by the development team.
- Priority: MAJOR
Crypto: Mbed OS ATECC608A example fails to build with IAR
- Description: The current ATECC608A secure element example fails to build with the IAR toolchain. The Microchip-provided cryptoauthlib library does not build with IAR.
- Workaround: Use a different toolchain, like GCC_ARM.
- Reported Issue: MicrochipTech/cryptoauthlib#116
- Priority: Minor
Wi-SUN Hardfaults with IAR compiled image with Mbed OS 5.15.0
- Description: Mesh Wi-SUN FAN may HardFault in rare occasions with IAR8 compiled binaries during initial network connection.
- Workaround: The workaround is to use other compilers.
- Reported Issue: IOTTHD-3898
- Priority: Major
Contents
Ports for Upcoming Targets
14746
STM32WB: introduce STM32WB15CC NUCLEO
14441
M2354: Support Nuvoton's new target
Fixes and Changes
14801
BKE: fix statements outside correct feature guard blocks
14797
run example-tls on faster K64F board (than K66F)
14772
Improve implementation of Mbed TLS timing
14768
Update mbed-coap to version v5.1.11
14767
connectivity tests: early skip fix
14765
Fix unittest check
14760
mbedtls: Rename Mbed timing implementation
14756
mbedtls: Add an alt implementation of timing
14753
Add mbed prefix into atomic
14752
LWIP Broadcast socket option added
14750
Increase SPI stack size to 2048 for BlueNrg driver
14749
Fcntl setting improvement,
14748
Correct ufsi timing calculation
14747
BLE: fix advertising set termination event
14746
STM32WB: introduce STM32WB15CC NUCLEO
14743
Nuvoton: Support watchdog on M251/M261 series
14741
MbedTLS: Add definition checks for TRNG
14740
Fix 'netsocket: several dynamic allocation results not checked' (#14210)
14739
M2354: Substitute HIRC for HXT to clock PLL
14738
Gate ticker (timer0) clock on deepsleep for MAX32620FTHR
14737
BLE: Add cmake unittest fakes for BLE and events
14736
STM32 USB: update init
14734
STM32WL LORA: HW specific out of STM32WL_LoRaRadio class
14733
STM32H7 ADC : dual pad feature update
14729
tools/STM32 Modified Python script generates Peripheral Pins
14724
STM32G0: correct voltage scaling control
14722
STM32 TRNG: update init to match all configs
14721
Nuvoton: Enable no HXT/LXT configurability
[14720](https://github.com/ARMmb...
mbed-os-6.11.0
We are pleased to announce the Mbed OS 6.11.0 release is now available.
Summary
This release doesn't contain any major new features, but we've made some changes to APIs to extend existing functionality, added an experimental API to our CAN APIs, and marked some APIs as deprecated, hence minor release increment.
Migration Guide
This section lists specific changes which are part of this release and may
need special attention.
Deprecate broken TDB_EXTERNAL_NO_RBP and FILESYSTEM_NO_RBP in kv_config
Summary of changes
Replaces #14490: changed from removal to deprecation due to the Mbed OS release model.
NO_RBP (no rollback protection) is intended to not require an internal TDB, however, DeviceKey, which we use to derive SecureStore's encryption key, still does. Currently, no internal TDB is created with these two configurations, meaning there's no way to store the DeviceKey and SecureStore doesn't work. The configurations TDB_EXTERNAL_NO_RBP
and FILESYSTEM_NO_RBP
are broken due to this design flaw.
This PR deprecates the non-working configurations, with their documentations removed but code and configurations kept with deprecation warnings. They will be completely removed from the next major release.
Impact of changes
Existing applications that use TDB_EXTERNAL_NO_RBP
and FILESYSTEM_NO_RBP
will still be able to compile for now, until we fully remove the two configurations in the future. But they have never been functional, so no application should have ever been able to use them.
Migration actions required
Applications that have storage.storage_type
set to TDB_EXTERNAL_NO_RBP
or FILESYSTEM_NO_RBP
should switch to use TDB_INTERNAL
, TDB_EXTERNAL
, FILESYSTEM
or default
depending on their use cases.
Add API to get Wi-SUN Neighbor Table
Summary of changes
Added nbr_info_get
API to get Wi-SUN neighbor table information in mbed-mesh-api.
mesh_nw_statistics_t
structure in mbed-mesh-api has been updated with more statistics of the Wi-SUN interface.
This is upstream of PR#14586
Added API to reset MAC statistics and Wi-SUN statistics
Summary of changes
Added API to reset MAC statistics and Wi-SUN statistics.
This is copied from #14439
Implement polymorphism for CAN driver
Summary of changes
This PR introduces experimental polymorphism for the CAN
C++ API. This allows alternate implementations (eg: external CAN interfaces) that are compatible with the internal implementation.
See #13209 for the surrounding discussion.
Impact of changes
None, it only affects the user if they have the EXPERIMENTAL_API
feature enabled.
Migration actions required
None
Known Issues
We publish Mbed OS as a collection of modules on GitHub. Issues are raised in the specific repositories and then tracked internally. The purpose of this section is to provide a single view of the outstanding key issues that have not been addressed for this release. As such, it is a filtered and reviewed list based on priority and potential effect. Each item summarizes the problem and includes any known workarounds, along with a link to the GitHub issue (if applicable). We welcome any comments or proposed solutions.
For more information about an issue, contact us on the forum.
TLS: IP addresses in the X.509 certificate subjectAltNames
- Description: Parsing IP addresses in the X.509 certificate subjectAltNames is not supported yet. In certificate chains relying on IP addresses in subjectAltNames a
BADCERT_CN_MISMATCH
error is returned. - Workaround: merge branch https://github.com/ARMmbed/mbedtls/tree/iotssl-602-san-ip into your copy of Mbed TLS before building the application. It is still in EXPERIMENTAL stage, use it on your own responsibility!
- Reported Issue: Issue reported by a customer in email.
- Priority: MAJOR
TLS: Mismatch of root CA and issuer of CRL not caught
- Description: The
x509_crt_verifycrl()
function ignores the CRL, when the CRL has an issuer different from the subject of root CA certificate. - Workaround: Make sure that the issuer of the CRL and the root CA certificate's subject are the same before passing them to
x509_crt_verifycrl()
. - Reported Issue: Reported by a partner.
- Priority: MAJOR
TLS: Self Test Failure with Some Hardware Accelerators
- Description: Most HW acceleration engines (if not all) require the parameters to be from contiguous memory.
All the self tests use test vectors that are defined in the .bss section, which means these are not contiguous. This causes the self test to possibly fail, when implementing HW accelerated engines. - Workaround: There are no known workarounds.
- Reported Issue: Reported by the development team.
- Priority: MAJOR
TLS: Hardware-accelerated hash creates CBC padding oracle in TLS
- Description: The current countermeasures against CBC padding oracle attacks in Mbed TLS call a low level internal API. The implementation of this API might not be possible with the hardware accelerator API and even if it is, the timing might still have detectable differences. The lower level API is called out of sequence and accelerators that are not aware of this might crash.
- Workaround: Keep
MBEDTLS_SSL_ENCRYPT_THEN_MAC
enabled inmbedtls/config.h
and enable the Encrypt-then-MAC extension (RFC7366) on the peers side. - Reported Issue: Reported by the development team.
- Priority: MAJOR
Crypto: Mbed OS ATECC608A example fails to build with IAR
- Description: The current ATECC608A secure element example fails to build with the IAR toolchain. The Microchip-provided cryptoauthlib library does not build with IAR.
- Workaround: Use a different toolchain, like GCC_ARM.
- Reported Issue: MicrochipTech/cryptoauthlib#116
- Priority: Minor
Wi-SUN Hardfaults with IAR compiled image with Mbed OS 5.15.0
- Description: Mesh Wi-SUN FAN may HardFault in rare occasions with IAR8 compiled binaries during initial network connection.
- Workaround: The workaround is to use other compilers.
- Reported Issue: IOTTHD-3898
- Priority: Major
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.11.0-RC1
Results for the tests we run in CI on mbed-os 6.11.0-RC1 (nightly):
- Build Greentea ARMC6 - SOME FAILS (Issue: MBEDOSTEST-1163 - ARMC6 Failed to build mbed OS with LTO options)
- 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.11.0 release. we are testing the following toolchains:
- ARM compiler 6.15.0
- GCC_ARM 9-2019-q4-major
Targets Coverage
In mbed OS 6.11.0, the compilation test targets scope has not changed and remains all mbed OS enabled targets.
At the time of the mbed-os 6.11.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
- FPGAs on K64F, NRF52840_DK, NUCLEO_F429ZI, NUCLEO_F767ZI, NUCLEO_WB55RG, and DISCO_L457VG_IOT01A
We have the following issues on the test jobs:
- MBEDOSTEST-1163 - ARMC6 Failed to build mbed OS with LTO options
- IOTCORE-1663 - Nightly: Export uvision failing with missing context fault handler
Test Numbers
Greentea test number 1721 (+0)
Unittest number 742 (+0)
Code Coverage
Test Code Coverage been tracked and information is published on COVERALLS
Memory Monitoring
Observed no significant changes from mbed-os-6.10.0
Contents
Ports for Upcoming Targets
14578
STM32 : new DISCO_WB5MMG target
14505
Adding NXP TARGET- MIMXRT1170_EVK
Fixes and Changes
14661
Delete STM32F401XE.ld
14657
Deprecate broken TDB_EXTERNAL_NO_RBP and FILESYSTEM_NO_RBP in kv_config
14656
CMake: Only force Ninja response files on Windows
14655
mbedtls_stub: Add missing include
14653
requirements: Relax Click version requirement
14651
STM32L4 update drivers version to CUBE V1.17.0
14631
driver/I2C: STm32: Updated HAL_I2C_ErrorCallback function...