Skip to content

Releases: ARMmbed/mbed-os

mbed-os-6.17.0

28 Feb 15:18
Compare
Choose a tag to compare

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

15320

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

20 Jun 10:59
Compare
Choose a tag to compare

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

15273

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

12 May 13:40
Compare
Choose a tag to compare

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.

15282

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

15275

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

15155

Summary of changes

Fix Ublox C030 SARA-R412M onboard cellular device serial (target default instance).

15148

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

25 Nov 14:48
Compare
Choose a tag to compare

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

30 Sep 11:31
Compare
Choose a tag to compare

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

15102

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

15026

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

15011

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

14833

Summary of changes

This PR provides the following updates to the Wi-SUN software stack (nanostack):

MAX32630FTHR: Port USBSerial from mbed6.x

14830

Summary of changes

USB HW implementation added for MAX32630FTHR board.

[mbed-os-5.15] Add system time read/write callbacks to mbed-mesh-api

14818

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

14771

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

14770

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

14745

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

14744

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

14682

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

14618

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)

14597

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

14566

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

14565

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)

14556

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

14552

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)

14502

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

14498

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

14464

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...

Read more

mbed-os-6.15.0

21 Sep 12:57
4cfbea4
Compare
Choose a tag to compare

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.

mbed-os-6.14.0

23 Aug 11:48
Compare
Choose a tag to compare

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

14911

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

14902

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

14900

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

14880

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

14730

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

14397

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...

Read more

mbed-os-6.13.0

16 Jul 13:57
Compare
Choose a tag to compare

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

14828

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

14824

Summary of changes

Adds new BLE API call to manually attempt to synchronise the security manager DB.

Feature: Make changes for Cortex-A5 support

14718

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

14688

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

14227

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 in mbedtls/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...

Read more

mbed-os-6.12.0

23 Jun 12:40
Compare
Choose a tag to compare

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:

Migration Guide

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

LWIP Broadcast socket option added

14752

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)

14740

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

14629

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

14221

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 in mbedtls/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...

Read more

mbed-os-6.11.0

24 May 11:55
Compare
Choose a tag to compare

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

14657

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

14619

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

14553

Summary of changes

Added API to reset MAC statistics and Wi-SUN statistics.
This is copied from #14439

Implement polymorphism for CAN driver

14336

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 in mbedtls/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...

Read more