mbed-os

Arm Mbed OS is a platform operating system designed for the internet of things

OTHER License

Stars
4.6K
Committers
859

Bot releases are visible (Hide)

mbed-os - mbed-os-6.17.0 Latest Release

Published by saheerb over 1 year ago

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 - mbed-os-6.16.0

Published by mbedmain over 2 years ago

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 - mbed-os-5.15.9

Published by mbedmain over 2 years ago

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 - mbed-os-6.15.1

Published by mbedmain almost 3 years ago

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 - mbed-os-5.15.8

Published by mbedmain about 3 years ago

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 https://github.com/ARMmbed/mbed-os/pull/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 https://github.com/ARMmbed/mbed-os/pull/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.

[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: https://github.com/ARMmbed/mbed-os/pull/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 https://github.com/ARMmbed/mbed-os/pull/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 https://github.com/ARMmbed/mbed-os/pull/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.15: Mesh api: Added PHY mode, channel plan IDs and configuration functions

14565
[mbed-os-5.15] Nanostack release v13.0.0

14556
Nuvoton: Fix hal_watchdog_kick() with WDT stopped (5.15)

14552
mbed-os-5.15: Add API to reset MAC statistics and Wi-SUN statistics

14502
M487: Fix crash on WDT reset from power-down (5.15)

14498
UARTSerial writes even if tx is disabled

14464
mbed-os-5.15: Added new start methods to Wi-SUN BR with WisunInterface parameter and deprecated the old ones

Using this release

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

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

Published by mbedmain about 3 years ago

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: https://github.com/ARMmbed/mbed-os/pull/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 - mbed-os-6.14.0

Published by mbedmain about 3 years ago

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
SPIF: fixed _address_size to always initialize as 3_BYTES in ::init()

14902
CMake: tests: Support skipping unsupported test with reason

14900
Update CMSIS to 5.8.0

14894
Unit tests: Connectivity: Make lorawan test header dependencies explicit

14892
Add CTest support for mbed-drivers-ticker greentea test

14880
Dont require icetea

14831
DISCO_WB5MMG: add RGB LED

14821
RTOS: Add configuration to enable RTX events

14805
i2c: fix issue #14735 with multiple buses

14730
Add config macros for device-variant, freq-support and xtal config

14575
CMake: Enable improved armclang support in CMake 3.21

14397
add SPI NAND Block device driver

14288
BG96: Add segmentation to TCP socket send

Using this release

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

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

mbed-os - mbed-os-6.13.0

Published by mbedmain over 3 years ago

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.
https://github.com/ARMmbed/mbed-os/commit/40fd126915e592ed53143ecbdbcbe5a55184c9f1 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: https://github.com/MicrochipTech/cryptoauthlib/issues/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
Remove the UNITTEST macro from production code

14882
Unit tests: storage: Only use headers, sources and definitions needed by each test

14881
Standard Pin Name: LED1 issue for targets without LED

14876
CMake: greentea: Remove dependency on global MBED_PATH

14875
enable google and azure example application tests in ci

14874
CMake: Replace MBED_TEST_LINK_LIBRARIES with MBED_TEST_BAREMETAL

14873
Move connectivity netsocket stubs

14872
Add STM32WLE5 for custom targets LORA_E5 and RAK3172

14870
CMake: Remove mbed-stubs-rtos-headers library

14864
analogout: STM32: modified analogout_free api

14862
Unit tests: Move storage stubs into the storage directory

14850
PSA: Fix compile error with NV seed

14849
SPIFBlockDevice: Add mbed namespace to BD_ERROR_DEVICE_ERROR

14844
Analogout free implementation for F4/F7/H7 boards

14843
InterruptIn : STM32: Implemented error catching for multiple gpio on the same irq line

14842
Move connectivity lora stubs

14838
Eth: STM32: Updating documentation on mbed_otp_mac_address()

14837
K64F: Fix pin names and migrate to Arduino Uno form factor

14835
Move stubs cellular headers

14834
Move connectivity cellular stubs

14828
CMake: Add CMake to mbed-psa greentea tests

14827
Move hal stubs to hal directory

14826
CMake: unit-tests: Make events UNITTESTS only depend on headers it uses

14824
BLE: Manual BLE security manager db synchronisation

14823
Move events stubs to events dir

14822
STM32H7: correction for FLASH API for CM4

14820
BLE: Clarify ble event docs with crossreferences

14819
Move rtos stubs to the rtos directory

14817
Add system time read/write callbacks to mbed-mesh-api

14816
Nanostack release v14.0.0

14815
Enable PSA tests on K64F/K66F and fix missing PSA Crypto init in TLSSocketWrapper

14814
BG96: Add correct get_ip_address implementation

14813
CMake: unit-tests: Make drivers unittests only depend on headers it uses

14808
driver/i2c: STM32: I2C performance issue solved.

14807
M2354: inherit PSA_V8_M devices

14803
Use standalone greentea-client

14787
Cypress Asset Update

14786
Move mbed-stubs-drivers to the drivers directory

14783
tfm-post-build: Don't capture subprocess stdout

14780
Update python requirements

14778
CAN TxIRq callback never called -STM32G474

14776
driver/i2c: STM32: I2C memory usage and time delay in read-write solved.

14773
Move mbed-stubs-platform to the platform directory

14751
Fix for fcntl() flags definition

14718
Feature: Make changes for Cortex-A5 support

14716
Cellular: Add AT handler buffer size to configuration

14688
Solution for mutex problem in CAN read ISR

14677
Changes required in STM CAN read API

14663
Portenta: Add support to generic COMPONENT_WHD

14227
CYW43XXX: Add generic transport layer

Using this release

You can fetch this release from the mbed-os GitHub repository, using the tag "mbed-os-6.13.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 - mbed-os-6.12.0

Published by mbedmain over 3 years ago

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.

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: https://github.com/MicrochipTech/cryptoauthlib/issues/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
STM32L5: corrected voltage scaling when using MSI

14713
lgtm: Add initial LGTM configuration file

14710
BLE: support non-low power devices

14709
CMake: Remove forgotten debug message

14708
test: Fix function does not return a value warnings

14705
Fix frozen tools check never failing

14704
Pin name tests update

14702
Silence expansion-to-defined for nrfx

14701
Add Travis test to make sure text files are UTF-8 encoded

14699
STM32 astyle format

14698
STM32: Fixed I2C Bug

14697
TESTS: rename variable interface to fix broken tests

14693
Fix compilation errors with kvstore - TDB_INTERNAL option to store BLE bonding info

14692
STM32WB: improve FLASH size

14691
Add GitHub action for issue triaging script

14689
Information on Asynchronous SPI limitation on High Speeds

14687
STM32L5 update drivers version to CUBE V1.4.0

14686
STM32: correct __cplusplus brackets

14684
Fix missing as_entry method in KVStoreSecurityDb

14683
Baremetal tests: enable BLE tests with NUCLEO_WB55RG

14678
Serial: remove shadowing member variables

14675
i2c: start() should aquire the bus

14674
Update mbed-coap to version v5.1.10

14672
BLE: Fix advertising start and stop

14671
enable aws example test in CI

14670
STM32: add information in README for SLEEP feature

14669
STM32L152: Added ADC Bank_B functionality

14668
Driver: I2C: STM32F2/STM32F4/STM32L1: Fix alternate i2c read.

14667
Update GCC except.S to support ARMC6 and use GCC assembly with ARM toolchain in CMake

14665
Travis: Move frozen tools check to the end

14664
Enable FlashIAP for MCU_NRF52832

14662
Add CANMessage deep comparison operators

14659
STM32: make i2c_salve_read return the number of bytes read

14652
tls: Upgrade to Mbed TLS v2.25.0

14629
Mesh api: Added PHY mode, channel plan IDs and configuration functions

14617
Add legacy I2C/SPI pin aliases

14608
STM32H7 update drivers version to CUBE V1.9.0

14593
STM32F7 update drivers version to CUBE V1.16.1

14592
STM32G4 update drivers version to CUBE V1.4.0

14574
Fix string buffer length in UUID trace helper

14547
CMake: Remove all unittest.cmake script from test suite

14536
STM32: Add LP_TICKER and US_TICKER optimisation macro

14471
COMPONENT_WHD: make reusable code available for other targets

14441
M2354: Support Nuvoton's new target

14221
Enable the RWW function of Macronix Flash MX25LW51245G in OSPI block device driver

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

Results for the tests we run in CI on mbed-os 6.12.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.12.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.12.0, the compilation test targets scope has not changed and remains all mbed OS enabled targets.

At the time of the mbed-os 6.12.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 1723 (+2)
Unittest number 741 (-1)

Code Coverage

Test Code Coverage been tracked and information is published on COVERALLS

Memory Monitoring

Observed no significant changes from mbed-os-6.11.0

Using this release

You can fetch this release from the mbed-os GitHub repository, using the tag "mbed-os-6.12.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 - mbed-os-6.11.0

Published by mbedmain over 3 years ago

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 https://github.com/ARMmbed/mbed-os/pull/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: https://github.com/MicrochipTech/cryptoauthlib/issues/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 to store information about error reason in obj_s->event

14628
ARDUINO_UNO form factor and new PinNames for MIMXRT1050 target

14627
Dispatch Gap::stopPeriodicAdvertising to the right function.

14626
STM32WB update drivers version to CUBE V1.11.1

14625
BLE: Fix overwriting attribute data from read auth callback

14624
error: use __INITIAL_SP from cmsis instead of RTX one

14623
Updated SDK 2.9.1 and added Flash Support for MIMXRT1170_EVK

14619
Add API to get Wi-SUN Neighbor Table

14612
CAN: fix slave CAN start filter bank setup

14609
STM32L0 update drivers version to CUBE V1.12.0

14605
BLE: Fix traces

14603
Avoid init class definition for compatibility

14602
Deprecate indications event onConfirmationReceived

14599
STM32WL: enable lora with baremetal

14594
STM32_gen_PeripheralPins.py : TargetName correction

14589
fix(docs): corrects various typos in project documentation

14588
Add v8.1-M architecture awareness

14587
create symlink for all sub examples which has mbed-os.lib

14585
add #include "wsf_os.h" into hci_drv_apollo3.h

14583
musca: Add detect_code for MUSCA B1

14582
Update TF-M to v1.3.0

14581
STM32G4 : serial issue with LP_UART1

14578
STM32 : new DISCO_WB5MMG target

14576
Trace: Change tr_debug color from gray to bright blue

14573
Nanostack release v13.0.0

14571
CMake: STM32: Add missing emac init files

14569
remove cmake specific example list

14567
M487: Resolve WDT reset H/W limit

14561
Add bare metal support to Renesas targets

14555
Nuvoton: Fix hal_watchdog_kick() with WDT stopped

14554
HAL ticker tests update

14553
Added API to reset MAC statistics and Wi-SUN statistics

14551
Travis: update to focal dist

14550
Fix DeviceKey documentation regarding RoT

14548
STM32F4 update drivers version to CUBE V1.26.1

14542
STM32F3 update drivers version to CUBE V1.11.2

14540
Improve condition for declaring struct timeval

14539
STM32G0 update drivers version to CUBE V1.4.1

14538
Cmake: Add MBED_TEST_MODE macro

14537
Better document MemoryPool behaviour

14505
Adding NXP TARGET- MIMXRT1170_EVK

14497
Check for duplicate status callbacks before adding to the list

14451
STM32 : enable PinMap_GPIO table

14336
Implement polymorphism for CAN driver

13791
mbedtls: Don't attempt to use default_random_seed

Using this release

You can fetch this release from the mbed-os GitHub repository, using the tag "mbed-os-6.11.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 - mbed-os-6.10.0

Published by mbedmain over 3 years ago

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

Summary

The main feature we are releasing is to introduce a new standard for the definition and usage of pin-names, with the goal of simplifying this for Mbed developers looking to port their code between development boards. We'll publish a blog providing more details shortly, and would like to publicly thank both Analog Devices and ST Microelectronics for their contributions and collaboration on these changes.

Migration Guide

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

Remove ownership/acquire in QSPI/OSPI driver

14437

Summary of changes

This PR removes the concept of peripheral acquisition and ownership in the QSPI driver. Its implementation is currently incomplete and undocumented, and has caused problems in some cases (see 11230 12678 12680).

Impact of changes

In cases where multiple instances of QSPI/OSPI are used with the same underlying peripheral, the QSPI/OSPI driver will no longer re-initialize the underlying peripheral to the appropriate configuration when switching instances. The application must call init when switching instances.

BLE: replace obsolete services with the new services repo

14436

Summary of changes

We are removing the old and broken ble services in favour of the external services repository.

Standard Pin Names

14381

Summary of changes

This PR introduces standard pin names for Mbed and migrates a number of ST targets to this standard. It also includes compliance testing tools based on static analysis and Greentea tests, and adds target markers to PinNames.h files so that they can be reliably matched to their corresponding target.

Implement polymorphism for DigitalIn/Out/InOut

13209

Summary of changes

In some IO-constrained applications, it is necessary to use a GPIO expander like the I2C-based MCP23008. To maintain compatibility with existing libraries that require a DigitalIn/Out/InOut handle, it would be beneficial to be able to subclass one of these classes and retarget the read/write, etc calls. This would enable an MCP23008 driver to provide DigitalOut-like objects that abstract away the intermediate I2C transfers. These objects can then be passed to older APIs using DigitalOut pointers.
For this to work properly, some of the DigitalIn/Out/InOut class methods must be made virtual. This PR accomplishes this.
I would encourage Mbed to consider "virtualizing" many of the other hardware drivers for similar use cases.
See #12387 for a similar discussion concerning retargetting Mbed's CAN API to an external SPI-based CAN controller/transceiver.

Impact of changes

None. This should not affect current users of these APIs in any functional way. Code size may be slightly increased due to the addition of virtual tables and new functions.

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: https://github.com/MicrochipTech/cryptoauthlib/issues/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.10.0-RC1

Results for the tests we run in CI on mbed-os 6.10.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.10.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.10.0, the compilation test targets scope has not changed and remains all mbed OS enabled targets.

At the time of the mbed-os 6.10.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 (-1)

Code Coverage

Test Code Coverage been tracked and information is published on COVERALLS

Memory Monitoring

Observed no significant changes from mbed-os-6.9.0

Contents

Ports for Upcoming Targets

14259
Support STM Nucleo-G431RB

Fixes and Changes

14546
CMake: Fix mbed-802.15.4-rf driver

14545
examples: Deprecate mbed-os-example-bootloader

14543
Fix Unbuffered serial enable/disable issue on Cypress kits

14541
Increase baud rate of mbed-os-example-crash-reporting to 115200

14532
Make ticker computation use shift-by-0

14529
CMake: Fix Mbed TLS compilation on Cortex-M0/0+/1/M23

14527
Tests: use only NUCLEO_F401RE for the NFC examples

14524
M487: Adjust placement of SYS_UnlockReg in WDT reset code

14521
Updated TARGET_STM32 board pinMap_PWM table with GPIO_NOPULL

14516
CMake: remove MBED_PATH and use _SOURCE_DIR/MODULE_PATH instead

14511
BLE: Fix start scan command not returning error if parameters haven't been set

14507
make target list for applications in examples_cmake.json consistent with examples.json

14506
Add GattUpdatesEnabledCallbackParams struct

14499
STM32F1 update drivers version to CUBE V1.8.3

14496
STM32: cleanup around devicename information from CMSIS pack

14491
Update FPGA documentation

14486
CMake COMPONENT_BlueNRG_MS: fix mbed-ble

14485
STM32: RTC HSE support review changes

14483
Improve HeapBlockDevice, TDBStore and tests

14482
STM32L4: align all system_clock files

14481
STM32WL: update "lora.max-sys-rx-error"

14480
STM32: Standard Pin Names

14479
STM32L1: enable USBDEVICE

14478
STM32L1 : enable ADC after deepsleep

14477
STM32: Add STM32L5 in arm_pack_manager index file

14473
Update cmake supported example list

14472
CMake: support OUTPUT_EXT from targets.json

14469
STM32: remove critical sections in flash_program_page

14467
Musca targets: align and clean up configurations

14466
GigaDevice: Add bare metal support for targets

14465
Maxim: Add bare metal support to targets

14463
Wisun: Add new start methods to Wi-SUN BR with WisunInterface parameter and deprecated the old ones

14460
Ambiq: Fix baremetal build profile when using CLI 1

14457
Update UART pin names & add MBED_CONF_TARGET_STDIO_UART overrides

14455
Fix RTOS & OS wrapper header conflicts for Mbed CLI 1

14450
FPGA SPI : decrease test frequency for ASYNC test cases

14447
Remove paths to fetched TF-M repos from .gitignore

14445
STM32WB/STM32WL: watchdog LSI frequency

14444
STM32: reset GPIO value is analog mode

14442
Improve WisunInterface set_network_size docs

14438
Update Event Queue Documentation

14437
Remove ownership/acquire in QSPI/OSPI driver

14436
BLE: replace obsolete services with the new services repo

14435
Fix missing linkage of mbed-mbedtls-cryptocell310 to mbed-mbedtls

14429
CMake: Fix STM target build failures

14428
CMake targets: remove labels usage, not required anymore

14424
WIO_BG96: fix macro exclusion - use cellular

14421
SDP-K1: enable IAR compilation

14396
TF-M: Switch to vanilla TF-M's OS wrapper

14381
Standard Pin Names

14359
Add bare metal support to NXP targets

14259
Support STM Nucleo-G431RB

14243
STM32: Add HSE support to RTC

14198
Feature bluetooth traces

13209
Implement polymorphism for DigitalIn/Out/InOut

Using this release

You can fetch this release from the mbed-os GitHub repository, using the tag "mbed-os-6.10.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 - mbed-os-5.15.7

Published by adbridge over 3 years ago

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

Summary

This is the latest support release from the Mbed OS 5.15 branch. This brings a number of important updates which include:

  • Adding support for MIMXRT1050_EVK enabling use with Pelion device management
  • Nanostack has been updated to version 12.8.0 (primarily containing bug fixes and stability improvements to the Wi-SUN protocol)
  • The Mesh API has been updated to replace new calls with a nothrow version
  • A new method 'set_mac_address' has been added that allows the application to set the MAC address on the interface

Please see below for the full list of changes.

Migration Guide

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

[mbed-os-5.15] Improve WisunInterface set_network_size docs

14443

Summary of changes

Clarify set_network_size usage and possible parameter values.
Clarify wisun-network-size help text in mbed-mesh-api/mbed_lib.json
This change is copied from: https://github.com/ARMmbed/mbed-os/pull/14431

Add integer overflow check to the malloc wrappers

14408

Summary of changes

Backport of #14407
Add a check that the combined size of the buffer to allocate and alloc_info_t does not exceed the maximum integer value representable by size_t.

[mbed-os-5.15] Bring in MIMXRT1050_EVK changes from feature-wisun branch

14326

Summary of changes

Bring in MIMXRT1050_EVK related changes from the following pull requests made to feature-wisun branch:
PR #12562 (25 commits)
PR #12774 (6 commits)
PR #13063 (2 commits)
PR #13391 (2 commits)
PR #13526
PR #13569
PR #13927
These same changes are available in the Mbed OS master via PR: https://github.com/ARMmbed/mbed-os/pull/14323
This PR ensures that target MIMXRT1050_EVK can be used with Pelion device management. Verified manually that pelion_border-router application (MIMXRT1050_EVK) connects to Pelion DM and other Wi-SUN nodes can connect to the Wi-SUN network.

[mbed-os-5.15] Added missing const qualifier to mesh ethernet mac addr get

14263

Summary of changes

Added missing const qualifier to mesh ethernet mac addr get. This corrects coverity warning.
This is mbed-os-5.15 version of: https://github.com/ARMmbed/mbed-os/pull/14261

Impact of changes

None

Migration actions required

None

[mbed-os-5.15] Nanostack release v12.8.0

14170

Summary of changes

Nanostack release v12.8.0 to mbed-os-5.15 branch
This release contains bug fixes and stability improvements to the Wi-SUN protocol:

[mbed-os-5.15] travis: fix 3.5 test bug in attrs

14168

Summary of changes

pytest fetched newer attrs that caused an issue for python 3.5. We found few references with an error and they suggested to use 1.19 version.
This is copy of : #14108 to mbed-os-5.15 branch

[mbed-os-5.15] Corrected nanostack coverity warnings

14147

Summary of changes

Corrected nanostack coverity warnings.
This is mbed-os-5.15 version of:
https://github.com/ARMmbed/mbed-os/pull/14146

Impact of changes

None

Migration actions required

None

[mbed-os-5.15] Fix mbed device-management command for Python 3.8

14057

Summary of changes

Bump the future module version to 0.18.0 to fix an ImportError present for Python 3.8:

ImportError: cannot import name 'splitattr' from 'urllib.request' (/usr/lib/python3.8/urllib/request.py)

The upstream issue for the future module -- https://github.com/PythonCharmers/python-future/issues/447. Fixed in v0.18.0.
Fixes #14037.
Copied from master PR #14038

[mbed-os-5.15] Corrected Wi-SUN certificate add and remove functions on Wi-SUN interface

14046

Summary of changes

Corrected Wi-SUN certificate add and remove functions to work properly with .json certificates. .json certificates are used only if certificates added by add functions are not set. Corrected certificate add and remove functions to work properly and improved function descriptions.
This is mbed-os-5.15 version of: https://github.com/ARMmbed/mbed-os/pull/14018

Impact of changes

None

Migration actions required

None

FIX: update cryptography version to 2.5 or later

14034

Summary of changes

Some cryptography dependency libraries not available anymore.
Update cryptography to version 1.5 or later for TravisCI installation to be passed

[mbed-os-5.15] Replaced new calls with nothrow version of the call on mesh api

13954

Summary of changes

Replaced new calls with nothrow version of the call.
This is mbed os 5.15 version of https://github.com/ARMmbed/mbed-os/pull/13937

Impact of changes

None

Migration actions required

None

[mbed-os-5.15] Network interface MAC address set/get

13920

Summary of changes

Add method set_mac_address that Application can use to set MAC address to the interface.
Update get_mac_address to return MAC address correctly from EMAC.
This PR is copied from: https://github.com/ARMmbed/mbed-os/pull/13902

Remove nanostack-border-router example from list of supported examples

13897

Summary of changes

Nanostack border router example is now owned by Pelion and has been moved out of the ARMmbed organisation. Thus this example needs to be removed from the supported examples on the 5.15 branch.

Impact of changes

This example will not be automatically updated when we make a 5.15 release and will not be tested in the Mbed OS CI.

Migration actions required

None

mbed-os-5.15: Add FLASH, FLASHIAP & bootloader support for VK_RZ_A1H board

13879

Summary of changes

Add FLASH , FLASHIAP , bootloader_supported support.
This is the 2-nd and last part of the planned target UPDATE mentioned here #13616 (The 1-st one is here #13639)

Known Issues

There are no new known issues with this release.

Contents

Ports for Upcoming Targets

Fixes and Changes

14443
[mbed-os-5.15] Improve WisunInterface set_network_size docs

14408
Add integer overflow check to the malloc wrappers

14326
[mbed-os-5.15] Bring in MIMXRT1050_EVK changes from feature-wisun branch

14263
[mbed-os-5.15] Added missing const qualifier to mesh ethernet mac addr get

14170
[mbed-os-5.15] Nanostack release v12.8.0

14168
[mbed-os-5.15] travis: fix 3.5 test bug in attrs

14147
[mbed-os-5.15] Corrected nanostack coverity warnings

14057
[mbed-os-5.15] Fix mbed device-management command for Python 3.8

14046
[mbed-os-5.15] Corrected Wi-SUN certificate add and remove functions on Wi-SUN interface

14034
FIX: update cryptography version to 2.5 or later

13954
[mbed-os-5.15] Replaced new calls with nothrow version of the call on mesh api

13920
[mbed-os-5.15] Network interface MAC address set/get

13897
Remove nanostack-border-router example from list of supported examples

13879
mbed-os-5.15: Add FLASH, FLASHIAP & bootloader support for VK_RZ_A1H board

Using this release

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

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 - mbed-os-6.9.0

Published by mbedmain over 3 years ago

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

Summary

The main new functionality delivered as part of this release is support for the current 1.2 version of the TF-M reference software provided by the Trusted Firmware project. TF-M is our recommended secure side software for a Platform Security Architecture-compatible MCU platform. You can find out more on the 1.2 features here: https://www.trustedfirmware.org/blog/tfm-v1-2-blog/

Both the Arm provided PSA platforms, the Musca B1 and Musca B2 have been updated to support this new version of TF-M.

Migration Guide

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

Fix Lora timer cancellation

14422

Summary of changes

Fix abusive use of LoRaWANTimer::stop. Events were cancelled even when they were being executed or after their execution.
This change reset the event ID to 0 before calling the callback.
A new API has been added to achieve this task: LoRaWANTimer::clear

CMake: support signing TF-M targets with post binary hooks

14361

Summary of changes

Changes:

  • Add a post binary hook to sign TF-M targets: mbed_post_build_tfm_sign_image() (should work for any TF-M v1.2+ targets with secure and non-secure images in separate MCUboot slots). This was refactored from the existing tools/targets/ARM_MUSCA.py.
  • Apply the signing hook to ARM_MUSCA_B1 and ARM_MUSCA_S1 targets.
  • Copy the signing keys to each target's own directory, as per the new tools' convention (the old key paths are kept for compatibility of CLI 1 - to be deleted eventually).

Impact of changes

Images built for Musca B1 and S1 with Mbed CLI 2 are now signed and able to run on the targets.

Migration actions required

None.

Update TF-M support to v1.2

14354

Summary of changes

This PR brings in all the changes to update trusted-firmware-m support from v1.1 to v1.2:

  • Mbed TLS 2.24.0 as required by TF-M v1.2
  • TF-M v1.2 targets: PSA APIs from TF-M
  • Support for ARM_MUSCA_B1 and ARM_MUSCA_S1 (configurations, bootloader binaries, secure binaries and signing scripts, etc.)
  • Continued availability of psa_set_key_enrollment_algorithm() - deprecated, included for backward-compatibility only, to be removed from future TF-M updates
  • Miscellaneous fixes to make sure all supported PSA targets work, see the commit history for details
  • Changes in the trusted-firmware-m (link) and tf-m-tests (link) repositories to enable Mbed OS integration. Note that some of the changes have been upstreamed.
    Just as before this update
  • CYTFM_064B0S2_4343W remains on TF-M v1.0, supporting mbed-os-example-psa but not mbed-os-tf-m-regression-tests. Any updates to this target are maintained by Cypress.
  • Mbed PSA (non-TF-M) targets (e.g. K64F) continue to support mbed-os-example-psa. Note that Mbed PSA's APIs currently lag behind these of TF-M.
    The following have been removed:
  • ARM_MUSCA_A as an Mbed target
  • Integration of TF-M v1.1 (replaced by v1.2)
  • <TARGET>_NS aliases for ARM_MUSCA_B1 and ARM_MUSCA_S1
    Not yet included in this PR, to be added in the very near future:
  • Image signing for ARM_MUSCA_B1 and ARM_MUSCA_S1 with Mbed CLI 2. Until we add this, please use Mbed CLI 1 for now.

Impact of changes

See the PR description for targets that are impacted.

Migration actions required

From the perspective of Mbed OS support, applications for ARM_MUSCA_B1 and ARM_MUSCA_S1 should continue to work as before.
A board running the TF-M v1.1 firmware should be able to update to the v1.2 firmware without resetting data (verified on Musca targets), though downgrading is not possible.
Any references to ARM_MUSCA_B1_NS and ARM_MUSCA_S1_NS as target names should be changed to have _NS removed from the names.

Add lw ip opttion for rdnss

14343

Summary of changes

Added Options to turn on RDNSS using from ICMPv6 Router Advertisements (RFC5006)
and output packet queueing.
Default setting in mbed_lib is the same as before and leaving features to be turned off.

Impact of changes

RDNSS option takes about 256 bytes of flash and each DNS entry needs 128 bytes of RAM.
Outgoing packet caching avoids dropping packets during MAC address resolution. Requires increased RAM size for lwIP.

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: https://github.com/MicrochipTech/cryptoauthlib/issues/116
  • Priority: Minor

Tools: Error when running mbed test --compile/run list

  • Description: The error, "pkg_resources.DistributionNotFound: The 'mbed-ls==1.*,>=1.5.1' distribution was not found and is required by icetea, mbed-flasher" is observed when running the command "mbed test -m K64F -t ARM --icetea --compile-list -vv".
  • Workaround: None
  • Reported Issues: https://github.com/ARMmbed/mbed-os/issues/8064
  • Priority: Major

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

Results for the tests we run in CI on mbed-os 6.9.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
  • Unittest Test matrix - ALL PASSED
  • GreenTea test matrix - ALL PASSED
    • Sporadic failure for connectivity-netsocket-tests-tests-network-interface test suite is observed on hardware boards such as K64, K66F, NUCLEO_F429ZI, and NUCLEO_F767ZI. These are observed only for test performed againt our hardare lab. Tests are passing consistently on local boards. This is strongly believed to be an infrastructure issue in our hardware lab and being addressed.
  • 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.9.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.9.0, the compilation test targets scope has not changed and remains all mbed OS enabled targets.

At the time of the mbed-os 6.9.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

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 1675 (+0)
Unittest number 743 (+0)

Code Coverage

Test Code Coverage been tracked and information is published on COVERALLS

Memory Monitoring

Observed no significant changes from mbed-os-6.8.0

Contents

Ports for Upcoming Targets

Fixes and Changes

14423
STM32: AnalogOut: do not call HAL_DAC_Start in dac_write

14422
Fix Lora timer cancellation

14419
STM32: remove mbed.h include in connectivity

14418
EP_ATLAS: Fix mbedtools build errors

14416
CMake: Fix FF1705_L151CC build

14411
CMake: Fix Cortex-A9 flags for GCC_ARM toolchain

14410
CMake: Fix Renesas build error on Linux

14407
Add integer overflow check to the malloc wrappers

14403
update baud rate of CY8CKIT064B0S2_4343W to 115200

14402
Fix sys/stat.h issue for unit tests on macOS

14401
Workaround for Cortex-M33 Arm toochain linking

14393
Doc update: post build now supported on TF-M targets

14392
STM32WB: enable QSPI for custom boards

14391
Update secure binaries with platform init fix for ARM_MUSCA_S1

14390
Add extern "C" around am_hal_secure_ota.h functions

14387
Update serial_api.c - Issue #14353 - Setting BufferedSerial pin to NC throws runtime assertion

14386
Freescale: Remove IAR from list of supported toolchains

14380
CMake: Refactor target MCU_STM32F103xE library name

14379
Nuvoton: Enlarge NuMaker PWM duty cycle range

14378
CMake: Pass application/test name to post build operation

14376
CMake: Add mbed-cmsis-cortex-m into Nuvoton target

14375
CMake: Update readme for greentea test build procedure

14374
targets: Remove target. prefix from ARM-CM3DS-MPS2 override

14373
Add bare metal support to Nuvoton targets

14372
S1SBP6A: Add bare metal support

14368
Fix CMake include path for the minimal-printf test

14367
fix typo: replace underscore by hyphen in lwipstack/mbed_lib.json

14363
Add bare metal support to Silicon Labs targets

14362
Fix imgtool import for CYTFM_064B0S2_4343W signing

14361
CMake: support signing TF-M targets with post binary hooks

14355
CMake - Configure memory map per target to allow multiple add_executable

14354
Update TF-M support to v1.2

14351
STM32 - Add if !defined check for USE_HAL_XXX_REGISTER_CALLBACKS

14350
ARM_MPS2_Target: Fix conflicts in IAR configuration

14349
Add bare metal support to Nordic targets

14348
Add bare metal support to ARM FM targets

14347
Add bare metal support to Ambiq targets

14346
Add bare metal support to Analog Device targets

14345
Add bare metal support to Toshiba targets

14344
CMake: Fix PSOC6 post build script

14343
Add lw ip opttion for rdnss

14342
use calloc for new_interface_server

14341
Update stm32xx_emac driver traces

14340
STM32L5: enable USBDEVICE

14339
STM32F4 update drivers version to CUBE V1.26.0

14338
STM32: update readme with clock information

14337
STM32L1 update drivers version to CUBE V1.10.2

14334
CMake: Remove references of APP_TARGET

14328
CMake: Fix Greentea tests

14325
EP Atlas Target Updates

14323
Bring in MIMXRT1050_EVK changes from feature-wisun branch

14321
Mergify: remove stale label when PR is merged

14318
CMake: Fix path to STM32F0 GCC linker scripts

14316
MAX32625: Fix CMake build

14315
NUVOTON: Remove CMake listing of M261 include directory that do not exist

14314
CMake: Fix ARM MUSCA NS targets build

14313
CMake: Fix Cortex-M33 GCC build

14311
CMake: Fix Cortex-A9 builds with GCC_ARM

14306
CMake: Create CMSIS library targets to remove dependency on MBED_TARGET_LABELS

14305
BLE: fix indexing of array in Cordio host stack

14304
CMake: Refactor post-build hook to remove APP_TARGET references

14303
Add STM32F103xE SOC support

14301
Add bare metal support to Renesas targets

14300
Add bare metal support to ARM_MPS2_Target family of targets

14299
CMake: Refactor mapfile generation

14298
CMake: remove debug print

14295
CMake remove IAR references in the tree

14293
STM32L4 : align CMakeLists.txt with all STM32

14291
Add bare metal support to freescale targets

14271
Add .editorconfig file

Using this release

You can fetch this release from the mbed-os GitHub repository, using the tag "mbed-os-6.9.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 - mbed-os-6.8.0

Published by mbedmain over 3 years ago

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

Summary

There is no major new functionality introduced as part of this release, but some of the enhancements we've made to extend BLE functionality have changed APIs, so as per semantic versioning, we've incremented the release version.

This release includes further changes for CMake support in Mbed OS and this now requires the mbed-tools version to be upgraded to 7.1.0 in order to function correctly.

The CMake changes are summarised below;

CMake: all Mbed OS targets contain CMakelists.txt
CMake: Post build hooks implemented (TF-M not yet supported)
CMake: CMake targets refactored to simplify custom targets creation

Migration Guide

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

BLE: Add APIs to get characteristic authorization callbacks.

14257

Summary of changes

This change adds two APIs to query the registered callbacks in a characteristic.

BLE: Add API to test the presence of an event handler in a chain.

14256

Summary of changes

Add a function to test if a handler is present in an event chain.

Update EventQueue API to use chrono times

13975

Summary of changes

Main dispatch function is updated to take a Chrono duration instead of an integer milliseconds parameter.
To allow for the instances of blocking and non wait versions, which previously were actioned by passing either -1 or 0 as the millisecond delay respectively, two other functions are now available.
dispatch_once() - new
dispatch_forever() - internally modified from the original version but no change in functionality
Note without this fix EventQueue dispatch function is actually broken. Events may not be dispatched at all or in the worst case the chip will crash.

Impact of changes

This is an API change, affecting the following areas:

  • The parameter passed to the EventQueue.dispatch() function will now need to be a Chrono duration.
    E.g. '100ms'
  • The dispatch_forever() function has been changed internally but the API itself remains the same.
  • A new function, dispatch_once() has been added.

Migration actions required

The following migrations actions are required:

  • Calls to EventQueue.dispatch(int ms) will now need to be changed to use EventQueue.dispatch(chrono wait). This should be
    as simple as adding 'ms' to any passed literal value. E.g. '100' becomes '100ms'. Variables passed in will need to be explicitly
    converted.
  • Calls to EventQueue.dispatch(-1) should used EventQueue.dispatch_forever()
  • Calls to EventQueue.dispatch(0) should used EventQueue.dispatch_once()

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: https://github.com/MicrochipTech/cryptoauthlib/issues/116
  • Priority: Minor

Tools: Error when running mbed test --compile/run list

  • Description: The error, "pkg_resources.DistributionNotFound: The 'mbed-ls==1.*,>=1.5.1' distribution was not found and is required by icetea, mbed-flasher" is observed when running the command "mbed test -m K64F -t ARM --icetea --compile-list -vv".
  • Workaround: None
  • Reported Issues: https://github.com/ARMmbed/mbed-os/issues/8064
  • Priority: Major

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

Results for the tests we run in CI on mbed-os 6.8.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
  • 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.8.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.8.0, the compilation test targets scope has not changed and remains all mbed OS enabled targets.

At the time of the mbed-os 6.8.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

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 1675 (+0)
Unittest number 743 (+0)

Code Coverage

Test Code Coverage been tracked and information is published on COVERALLS

Memory Monitoring

No observed changes from mbed-os-6.7.0

Contents

Ports for Upcoming Targets

14207
Adding NUCLEO_WL55JC support

13979
Support for ST STM32 NUCLEO-G431KB Development Board

Fixes and Changes

14289
CMake: Refactor Cypress targets

14286
CMake: remove workaround for targets prior refactor

14284
CMake Arm SSG: refactor CMake targets

14282
CMake: Refactor Nuvoton targets

14281
CMake: refactor GigaDevice targets

14280
CMake: Refactor WIO_EMW3166 support

14279
CMake: Refactor Silicon Laboratories targets

14277
Apollo3: Fix run time error due to memory mapping

14276
CMake: refactor Samsung targets

14275
Fix ST targets naming and linker script issues

14272
Change CMAKE_BINARY_DIR to CMAKE_CURRENT_BINARY_DIR

14270
CMake Maxim: fix targets naming

14269
CMake: Refactor Toshiba targets

14268
CMake: Refactor NXP targets

14267
CMake: Refactor Nordic targets to be CMake buildsystem targets

14266
Fix up some ST CMake targets

14265
CMake: remove need for APP_TARGET

14264
BLE: fix termination of periodic advertising sync

14261
Add missing const qualifier to mesh ethernet mac addr get

14257
BLE: Add APIs to get characteristic authorization callbacks.

14256
BLE: Add API to test the presence of an event handler in a chain.

14255
CMake: fix naming targets

14253
CMake: refactor Renesas targets

14252
CMake: Refactor Freescale targets

14250
example-psa - add MUSCA_S1 and update baudrate

14249
STM32WL : add LoRa support

14248
MAX32625MBED: Gate ticker (timer0) clock on deepsleep

14247
CMake: Refactor Greentea test CMakeLists.txt

14246
ARM FM: refactor CMake targets

14245
STM32WL: I2C and ADC full support

14244
Analog Devices: refactor CMake targets

14242
Ambiq Micro: refactor CMake targets

14239
BLE: fix passkey for display being returned reversed

14238
Update list of licenses in LICENSE.md

14235
CMake: Add post build operation support

14232
CMake: Fix Cypress MCU_PSOC6_M4 build

14230
nRF52: clean pwm structures on deinit

14228
CMake: rename greentea test macro

14215
STM: Fix Hal_GetTick wrap around errors

14213
Add cortex-m55 to CMake support

14212
Expose the public Stream API

14207
Adding NUCLEO_WL55JC support

14205
CMake: better detection of memap dependencies

14204
Set executable suffix in CMake

14203
Adding USB HS Support to the SDP-K1

14202
BLE: return OK when stopping advertising set that is not active

14201
Update maximum version of intelhex to 2.3.0

14199
Refactor ST Mbed targets to be CMake buildsystem targets

14197
Upgrade gtest to 1.10

14196
CMake cores: fix cpu/fpu flags

14195
LoraRadio test update for baremetal support

14190
CMake cores: fix NS cores

14181
CMake: Add support for Mbed TLS Greentea tests

14179
Fix minimal-printf floating point decimal output error

14092
NFC: Add support for M24SR driver

14031
BlockDevices: specify mbed namespace where needed

14030
STM32H7: Compute I2C timing according current I2C clock source

13979
Support for ST STM32 NUCLEO-G431KB Development Board

13975
Update EventQueue API to use chrono times

Using this release

You can fetch this release from the mbed-os GitHub repository, using the tag "mbed-os-6.8.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 - mbed-os-6.7.0

Published by mbedmain over 3 years ago

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

Summary

There is no major new functionality introduced as part of this release, but some of the enhancements we've made to existing functionality have changed APIs, so as per semantic versioning, we've incremented the release version.

The full details are below but in summary we've introduced the following changes;

  • Further evolved the Mbed CLI 2 tools by adding support to build greentea tests using CMake
  • Added the Arduino Portenta H7 as a supported target
  • Add support for the ST Microelectronis BlueNRG_2 BLE Component

Migration Guide

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

CMake: Add CMake support for netsocket greentea test

14101

Summary of changes

  • Added CMakeLists.txt file to every test suite under the netsocket test so that it can build via CMake command

CMake: Add CMake support for events greentea test

14095

Summary of changes

  • Added CMakeLists.txt file to every test suite under the events so that it can build via CMake command

CMake: Add CMake support for rtos greentea test

14094

Summary of changes

  • Added CMakeLists.txt file to every test suite under the rtos so that it can build via CMake command

CMake: Add Support for hal greentea test

14093

Summary of changes

  • Added CMakeLists.txt file to every test suite under the hal so that it can build via CMake command

Update events period method to check for invalid values

14087

Summary of changes

The period method currently allows any ms value:
positive, negative and zero.
A negative value means dispatch a non periodic event. ie just once.
0 is unspecified behaviour.
This commit forces the user to use either positive periods or a new constant, non_periodic
and should any other value be provided will default to non_periodic.
A Greentea test case is also provided to check this works as
expected.
I'm classifying this as a feature change rather than major because allowing a zero value was actually a bug.

Impact of changes

If the user provides a 0 value this will now behave differently. Previously it would have run for a period of
time as if this was an indefinite event before eventually (with a timer wrap) have unspecified behaviour.
Now the event period will default instead to non periodic.
To specify a non periodic event a user could previously use any negative value. Whilst this will still work (due a default
being set on invalid values), the user is encouraged to use the new constant, 'non_periodic' to show that this is what was
intended.

Migration actions required

Use periods that are > 0ms or non_periodic constant.

CMake: Add CMake to platform greentea test

14072

Summary of changes

  • Added CMakeLists.txt file to every test suite under the platform so that it can build via CMake command
  • Added the CMake Macro mbed_greentea_cmake_macro with configurable arguments TEST_NAME, TEST_INCLUDE_DIRS, TEST_SOURCES, TEST_REQUIRED_LIBS so that it can be used across all the greentea test suite by passing their includes, sources required libraries.
  • Added CMake macro MBED_BAREMETAL_GREENTEA_TEST which can ON/OFF via CMake command-line argument at the configuration time to select/unselect baremetal greentea test

CMake: Create mbed-greentea library

14061

Summary of changes

The greentea framework provides all the infrastructure for the test suite to execute in the target like greentea-client, unity, utest so created the mbed-greentea interface library which binds all these framework sources, and all the test suite needs to add mbed-greentea lib into their target_link_library

CMake: Add CMake to drivers greentea test

14060

Summary of changes

  • Added CMakeLists.txt file to every test suite under the mbed_drivers so that it can build via CMake command

Add std::span implementation for cxxsupport

13881

Summary of changes

Adds std::span implementation to cxxsupport folder in namespace mstd.
See discussion in https://github.com/ARMmbed/mbed-os/pull/13868.

Add Arduino Portenta H7 as target

13826

Summary of changes

This PR series introduces the support for Arduino Portenta H7 .
The patchset has been split into independent PRs for an easier review.

Impact of changes

Except the standalone TARGET_PORTENTA* content, some other files have been touched (all of them in separate commits).
In particular, COMPONENT_WHD has been made generic (any mbed target implementing SERIAL_FC can now compile it) but this could impact PSOC6 targets which used to configure it via Cypress HAL.

Support to BlueNRG_2 BLE component

13246

Summary of changes

Add support to BlueNRG_2 BLE Component

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: https://github.com/MicrochipTech/cryptoauthlib/issues/116
  • Priority: Minor

Tools: Error when running mbed test --compile/run list

  • Description: The error, "pkg_resources.DistributionNotFound: The 'mbed-ls==1.*,>=1.5.1' distribution was not found and is required by icetea, mbed-flasher" is observed when running the command "mbed test -m K64F -t ARM --icetea --compile-list -vv".
  • Workaround: None
  • Reported Issues: https://github.com/ARMmbed/mbed-os/issues/8064
  • Priority: Major

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 test and Nightly test, we also ran a branch test on mbed-os 6.7.0-RC1

Results for the tests we run on CI (PR, Nightly, Branch):

  • 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
  • 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.7.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.7.0, the compilation test targets scope has not changed and remains all mbed OS enabled targets.

Greentea test targets have been changed slightly. At the time of the mbed-os 6.7.0 release, we run the greentea tests on the following targets:

  • NRF52840_DK
  • DISCO_L457VG_IOT01A
  • K64F
  • K66F
  • NUCLEO_F429ZI
  • NUCLEO_F767ZI
  • NUCLEO_WB55RG
  • ARM_MUSCA_S1

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 1675 (+1)
Unittest number 743 (+0)

Code Coverage

Test Code Coverage been tracked and information is published on COVERALLS

Memory Monitoring

No observed changes from mbed-os-6.6.0

Contents

Ports for Upcoming Targets

13826
Add Arduino Portenta H7 as target

Fixes and Changes

14186
NXP: Fix CMake support and clean up

14185
CMake: Correct ARM toolchain MCU core flags

14180
Cypress: Fix CYTFM_064B0S2_4343W CMake build

14175
Add declaration to expose enable_* functions from SerialBase

14173
Update cert for testing server

14169
Nanostack release v12.8.0

14166
ARDUINO_NANO33BLE: don't define Arduino pins if compiling in Arduino core

14159
CMAKE : correct "Cortex-M7F" link parameter

14155
CMAKE / M33 : DOMAIN_NS issue

14154
STM32: correct cmake compilation issues

14149
STM32G4: enable TRNG and correct dual bank flash detection

14148
Corrected nanostack coverity warnings

14145
STM32H7: disable uSD transceiver

14144
Update for Arduino Pinnames

14143
Travis: Remove make.py test for events and littlefs

14142
STM32L4: Correct heap size formula

14137
Storage: Fix FATFileSystem unmount issue

14135
NXP: Fix heap size formula in scatter files

14134
GigaDevice: Fix heap size formula in scatter files

14133
STM: Fix heap size formula in scatter files

14132
Apollo3: Fix heap size formula and stack start address in scatter file

14131
MUSCA_B1: Fix heap size formula in scatter files

14130
NRF52840: Fix heap size formula in scatter files

14129
EFM32GG: Fix heap size formula in scatter files

14126
tests: Limit PSA crypto tests to Arm-v7M targets

14125
BLE: Fix Security Manager key generation

14120
STM32F439 : correct cmake compilation

14112
ARM linking issue: compile out trace when not available

14111
BLE: fix scanning/advertising when extended features are available but disabled on host

14109
Remove deprecated connectivity examples

14108
travis: set attrs to 19.1.0, fixes python 3.5 issue

14104
CMake: Fix the listing of system_clock.c for STM32F413xH

14103
CMake: Add support for netsocket/network Greentea tests

14101
CMake: Add CMake support for netsocket greentea test

14100
CMake: Fix path to Ambiq BLE source file

14099
CMake: Add support for CORDIO Greentea tests

14098
CMake: Add support for LoRaWAN Greentea tests

14095
CMake: Add CMake support for events greentea test

14094
CMake: Add CMake support for rtos greentea test

14093
CMake: Add Support for hal greentea test

14091
CMake: Add support for NFC Greentea test

14090
CMake: Add support for Blockdevice Greentea tests

14089
CMake: Add support for Filesystem Greentea tests

14088
CMake: Add support for KVstore Greentea tests

14087
Update events period method to check for invalid values

14084
BLE: Fix GattServer callbacks not being copied to GattServer instance of the service

14083
Add SLEEP/DEEPSLEEP support for MAX32630FTHR

14080
Add bare-metal support for MAXIM targets

14079
CMake: Add Blockdevice dependency to KVstore library

14078
CMake: Add support for OSPIF blockdevice

14076
Replace macros in MbedTester to avoid conflicts

14075
Maxim targets; Add USB stack implementation

14074
CMake: Add cmake support for Toshiba targets

14072
CMake: Add CMake to platform greentea test

14071
Add internal subfolder to USBDriver's CMakelists

14068
Enabled USBDevice in targets.json for H743ZI2

14066
STM32F2 update drivers version to CUBE V1.9.2

14065
CMake: streamline kvstore support

14064
examples:create build_data after example application build

14063
Support arbitrary storage alongside WiFi firmware in external storage on Cypress targets

14062
Cypress Asset Update

14061
CMake: Create mbed-greentea library

14060
CMake: Add CMake to drivers greentea test

14055
CMake: Remove TODO note in device_key list input source file

14050
fix QSPI-API for NRF52

14049
DISCO_L072CZ_LRWAN1: enable LORA by default

14048
nanostack: correct Wi-SUN certificate add and remove functions on Wi-SUN interface

14047
Remove unsupported Nordic SoftDevice build support

14045
CMake: add support for Nordic targets

14042
CMake: Add support for all Ambiq Micro Mbed targets

14041
Add SPDX identifier to files in storage

14038
Fix mbed device-management command for Python 3.8

14036
Add SD component and Update SD card SPI interface for Maxim's MAX32630FTHR

14035
Remove unsupported Renesas target include files

14032
STM32: RESET GPIO during init is configurable

14029
STM32H7: FDCAN: use PLL1Q frequency for calculations

14027
CMake: Fix Analog Devices targets support

14023
Adding QSPI support to SDP-K1 board support package.

14021
CMake: Add support for Renesas targets

14020
Add SPI bitwidths to ST targets where supported

14008
Add proper power save mode command format for MTS_DRAGONFLY_L471

14007
Clean-up: TDBStore no longer requires BlockDevice to have flash behaviour

13976
PSoC 6: rework sleep overrides by Cypress's debug macro

13968
CMake: Add support for all ARM SSG Mbed targets

13965
Clarify the time units stated in the delay and period function headers for events

13944
CMake: Add requirements.txt file for required Python modules

13881
Add std::span implementation for cxxsupport

13826
Add Arduino Portenta H7 as target

13809
Remove Cellular dependency in netsocket

13246
Support to BlueNRG_2 BLE component

Using this release

You can fetch this release from the mbed-os GitHub repository, using the tag "mbed-os-6.7.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 - mbed-os-6.6.0

Published by mbedmain almost 4 years ago

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

Summary

There is no major new functionality introduced as part of this release, but some of the enhancements we've made to existing functionality have changed APIs, so as per semantic versioning, we've incremented the release version.

The full details are below but in summary we've introduced the following changes;

  • BLE update to the GATT API to better reflect what the specification define
  • Add a method to allow an application to set or get the MAC address for Wi-SUN
  • Restructuring of KVStore to better support the bare metal profile
  • Enhancements to printing floating point values
  • Improved memory and performance for ticker support

Migration Guide

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

Update GattAuthCallbackReply_t enumeration.

14014

Summary of changes

Add missing values that are present in pal::AttErrorResponse.
This allows applications to use correct ATT error codes.
The values have been changed to reflect what is actually defined in the specification. The 0x01 was a leftover from softdevice's days.

Network interface MAC address set/get

13936

Summary of changes

Add method set_mac_address that Application can use to set MAC address to the interface.
Update get_mac_address to return MAC address correctly from EMAC.
This PR is copied from: #13902

Restructure KVStore to one library per store type

13908

Summary of changes

Fixes: #13657
Mutually depends on: https://github.com/ARMmbed/mbed-os-example-kvstore/pull/60
In #13307 we combined multiple KVStore types (TDBStore, FileSystemStore) and the global API into one library, kv-global-api. This is inconvenient for users of bare metal: if they only want one store type, they need to add dependencies for other unused types and the global API to "requires". This becomes cumbersome as FileSystem has many dependencies.
This PR restructures KVStore to follow the same logic of BlockDevice: declare the interface at the top level, and treat each type/implementation as a "sub-" library. Users only need to enable the interface + the type they need. So each of the following is a library (containing mbed_lib.json):

  • storage/kvstore: KVStore interface
  • storage/kvstore/tdbstore: TDBStore : KVStore class
  • storage/kvstore/filesystemstore: FileSystemStore : KVStore class
  • storage/kvstore/securestore: SecureStore : KVStore class
  • storage/kvstore/kvstore_global_api: optional API to globally manage instances of KVStore, containing kvstore_global_api functions and KVMap which is a helper class for the global API
  • storage/kvstore/kvconfig: configurations
    Greentea and unit tests have also been moved into subdirectories of corresponding KVStore types.
    Note: The CMake support for KVStore has not been componentised yet - compilation with CMake still brings in all the unused types and dependencies, because everything is under one mbed-storage-kvstore target. Hopefully the CMake team will later componentise each type of KVStore into mbed-storage-kvstore-<type>. similar to what they've already done for BlockDevices. @0xc0170 (Update: required CMake changed included in this PR)

Impact of changes

Users can enable one type of KVStore (e.g. TDBStore) without having to bring in dependencies for unused types of KVStore.

Migration actions required

For a bare metal application, add "kvstore" and the type of KVStore to use (e.g. "tdbstore") to "requires" in mbed_app.json. Note that the KVStore interface library is "kvstore", not "kv-global-api" which now contains only the global API.
To use CMake (full profile and bare metal profile): Add the TDBStore sub-component you need (e.g. mbed-storage-tdbstore) and dependencies (e.g. TDBStore requires mbed-storage-blockdevice) to your app's CMakeLists.txt.

Add width modifier and prepending zeros for hexadecimal output and decimal precision for floating point

13548

Summary of changes

Added width modifier and prepend zeros if the width modifier is given feature to printing integer, hexadecimal and floating point values. So e.g. printf("%04X", i); works now the same as the std version.
Added precision specifier for printing floating point values, as it already existed for strings. If no precision specifier is given MBED_CONF_PLATFORM_MINIMAL_PRINTF_SET_FLOATING_POINT_MAX_DECIMALS will be used.
This PR also fixes #13783.

Impact of changes

Prepending zeros and width modifier work with integer, hexadecimal and floating point values when using minimal_printf.
Also the precision modifier works for floating point variables. If no precision specifier is given MBED_CONF_PLATFORM_MINIMAL_PRINTF_SET_FLOATING_POINT_MAX_DECIMALS is used.

Optimise mbed_ticker_api.c

12897

Summary of changes

The generic code in mbed_ticker_api.c uses run-time polymorphism to handle different tickers, and has generic run-time calculations for different ticker widths and frequencies, with a single special-case for 1MHz.
Extend the run-time special casing to handle any conversion cases where either the multiply or divide can be done as a shift. This is a speed optimisation for certain platforms.
Add a new option target.custom-tickers. If turned off, it promises that only USTICKER and LPTICKER devices will be used. This then permits elimination and/or simplification of runtime calculations, saving size and speed. If either both USTICKER and LPTICKER have the same width, or the same period numerator or denominator, or only one of them exists, then operations can be hard-coded. This is a significant ROM space saving, and a minor speed and RAM saving.
We get to optimise all the calculations, but the run-time polymorphism is retained even if there is only one ticker, as it doesn't significantly affect code size versus direct calls, and the existence of
lp_ticker_wrapper and various us_ticker optimisations requires it, even if only LPTICKER is available.

Impact of changes

  • Targets should make an effort to define the new LP_TICKER_XXX defines to help the optimisation kick in.

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: https://github.com/MicrochipTech/cryptoauthlib/issues/116
  • Priority: Minor

Tools: Error when running mbed test --compile/run list

  • Description: The error, "pkg_resources.DistributionNotFound: The 'mbed-ls==1.*,>=1.5.1' distribution was not found and is required by icetea, mbed-flasher" is observed when running the command "mbed test -m K64F -t ARM --icetea --compile-list -vv".
  • Workaround: None
  • Reported Issues: https://github.com/ARMmbed/mbed-os/issues/8064
  • Priority: Major

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 test and Nightly test, we also ran a branch test on mbed-os 6.6.0-RC1

Results for the tests we run on CI (PR, Nightly, Branch):

  • 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
  • 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.6.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.6.0, the compilation test targets scope has not changed and remains all mbed OS enabled targets.

Greentea test targets have been changed slightly. At the time of the mbed-os 6.6.0 release, we run the greentea tests on the following targets:

  • NRF52840_DK
  • DISCO_L457VG_IOT01A
  • K64F
  • K66F
  • NUCLEO_F429ZI
  • NUCLEO_F767ZI
  • NUCLEO_WB55RG

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 1674 (+0)
Unittest number 743 (+2)

Code Coverage

Test Code Coverage been tracked and information is published on COVERALLS

Memory Monitoring

No observed changes from mbed-os-6.5.0

Contents

Ports for Upcoming Targets

Fixes and Changes

14024
CMake: add Samsungs, Analog devices and WICED targets

14019
Port analog devices to CMake

14017
Nuvoton: Remove DISABLE/ENABLE macro definitions in BSP

14014
Update GattAuthCallbackReply_t enumeration.

14009
ble cyw43xxx: dev/hci driver terminate

14005
Correct/clarify TimerEvent::insert documentation

14003
STM32H7: system power supply configuration

14002
STM32F0 update drivers version to CUBE V1.11.2

14001
Add missing retry to atomic exchange

14000
Add octa RAM calibration feature to GR-MANGO.

13998
Add crash reporting and autoreboot capability to MTS_DRAGONFLY_L471QG

13996
TDBStore: pad program units when writing record_header_t; ensure work buffer is large enough

13995
CMake: Add support for GigaDevice targets

13992
STM32_gen_PeripheralPins.py v1.19

13988
BLE: Fix periodic advertrising sync based on advertiser list

13987
CMake: Set required toolchain and processor flags globally, instead of per-target

13985
CMake: fix memory map generation

13978
S5JS100: remove idle hook in favour of Mbed-default idle hook

13977
CMake: Add support for all Samsung Mbed targets

13973
stm32: delete objects.h

13972
CMake: Add support for WICED target

13970
CMake: Add support for all Maxim Mbed targets

13969
Maxim: Remove support for some Maxim targets

13964
CMake: Add support for all ARM FM Mbed targets

13963
Fix ThisThread warnings

13962
STM: fix ARMClang sct files, using proper -E command

13961
Silabs: Remove EFR32_1 rail files

13960
Add const keyword to get_erase_size declaration

13959
CMake: Add support for all Silicon Labs Mbed targets

13958
Fix a typo in STM32F3's CMakeList.txt

13957
Replaced new calls with nothrow version of the call on mesh api

13953
Add nanostack dependency lib

13952
CMake: Add support for all Freescale Mbed targets

13951
MCU_NRF52832 (NRF52_DK, SDT52832B): use two-region memory model to support MicroLib

13950
Freescale: Remove KL27Z files

13949
Fix mbed::Dir type handling in fat_filesystem

13948
CMake: Simplify BLE library inclusion

13947
Fix erase type determination for [Q/O/]BlockDevice::erase()

13946
Update to reflect Mbed CLI 2 changes

13945
Freescale: Remove K20XX files

13942
ble: Fix persistence in SecurityDB

13939
STM32: LSE DRIVE feature update

13936
Network interface MAC address set/get

13935
Dragonfly Nano(MTQN): power on/off so soft_power_on() fix

13934
CMake: Add support for Cypress targets

13932
Reduce ST QSPI/OSPI trace verbosity to debug

13931
STM32 I2C: use correct HAL API

13930
CMake: pass macros to ARM toolchain linker

13929
STM32: LPUART clock source selection up to a serial driver

13928
Clean remnant of experiment with ARM toolchain

13925
Cypress: Remove CY8CKIT_064S2_4343W files

13924
CMake: Add support for all NXP Mbed targets

13922
CMake: add nuvoton targets

13921
TARGET_NXP: Remove support for LPC55S69

13918
TARGET_NXP: Remove support for LPC11U6X

13917
Move SFDP to blockdevice

13915
CMake: add all TARGET_STM targets

13914
STM32 FLASH API : add critical sections

13908
Restructure KVStore to one library per store type

13907
Workaround to fix RTC-reset issue on the EFM32GG11_STK3701

13906
STM32G070: generic target creation

13898
Adding CAN function to GR-MANGO

13896
STM32 OSPI support

13780
STM32 H7: fix USB in sleep mode

13777
STM32 : full GPIO reset during mbed init

13755
Fix MBED_ERROR call in init_os_timer

13548
Add width modifier and prepending zeros for hexadecimal output and decimal precision for floating point

13085
Change MBED_STATIC_ASSERTs version for built-in

12897
Optimise mbed_ticker_api.c

Using this release

You can fetch this release from the mbed-os GitHub repository, using the tag "mbed-os-6.6.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 - mbed-os-6.5.0

Published by mbedmain almost 4 years ago

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

Summary

The Mbed team are delighted to introduce the foundations of our new command line build tools, which use CMake to configure the build artifacts and, we hope, significantly improve the build experience for Mbed developers. These tools are still being refined and developed, but the basics are now available and will co-exist alongside the existing Mbed CLI tools for the time being. We'd really appreciate feedback from Mbed users on these tools as we want to ensure Mbed developers are seeing value in them.

The new tools can be found here .

We've also added some changes to how the Cordio BLE stack is configured to work with Nordic targets.

Migration Guide

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

Update NRF ble configuration options

13910

Summary of changes

This allows for changes to the buffers allocated in NRFCordioHCIDriver.cpp. Since the amount of buffers can be configured using the mbed_app.json it is only natural to also configure the buffer sizes that go with the number of buffers.
I also removed the confusing configuration settings used only by the NRF52840 which overruled other settings made by the cordio-ll config.

Impact of changes

No functionality change, only configuration changes

Migration actions required

All the default settings remained the same and if no custom configuration is used in mbed_app.json the no actions are required.
If you use the NRF52840 and have overruled any of the following settings you may need to change:

  • "cordio-ll-nrf52840.phy-coded-support" into "cordio-ll.phy-coded-support"
  • "cordio-ll-nrf52840.extended-advertising-size" into "cordio-ll.extended-advertising-size"
  • "cordio-ll-nrf52840.max-acl-size" into "cordio-ll.max-acl-size"
  • "cordio-ll-nrf52840.tx-buffers" into "cordio-ll.tx-buffers"

CMake: Add initial support

13566

Summary of changes

Addition of CMake modules and input source files to configure the project and generate the scripts needed by the build systems (tested with Unix Makefiles and Ninja) to build Mbed OS as a library. Mbed OS is built as collection of all libraries supported by a given target.
There are two main targets: mbed-os and mbed-baremetal. The rest of the components in the Mbed OS repository are targets prefixed with mbed-, for example mbed-ble and mbed-netsockets.
Even though this is still under development. This PR was raised as the current state does not affect builds of the OS with the traditional tools (Mbed CLI, Online compiler, Mbed Studio).
For current state of development, supported targets, supported toolchains, known issues, and build steps, see "Documentations" section below.

Impact of changes

Adding/removing source files or subdirectories requires adding or updating CMake input source files as all source files are listed in them.

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: https://github.com/MicrochipTech/cryptoauthlib/issues/116
  • Priority: Minor

Tools: Error when running mbed test --compile/run list

  • Description: The error, "pkg_resources.DistributionNotFound: The 'mbed-ls==1.*,>=1.5.1' distribution was not found and is required by icetea, mbed-flasher" is observed when running the command "mbed test -m K64F -t ARM --icetea --compile-list -vv".
  • Workaround: None
  • Reported Issues: https://github.com/ARMmbed/mbed-os/issues/8064
  • Priority: Major

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 test and Nightly test, we also ran a branch test on mbed-os 6.5.0-RC1

Results for the tests we run on CI (PR, Nightly, Branch):

  • Build Greentea ARMC6 - SOME FAILS (Issue: MBEDOSTEST-1163 - ARMC6 Failed to build mbed OS with LTO options In Progress)
  • 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 example ARM - ALL PASSED
  • Build CMAKE example GCC_ARM - ALL PASSED
  • Unittest - ALL PASSED
  • Greentea Test - SOME FAILS (Some tests in K66F have failed due to unavailability of properly configured boards in farm.)
  • Example Test - ALL PASSED
  • CMAKE Example Test - ALL PASSED
  • Exporter Test - SOME FAILS (Issue: IOTCORE-1663 - Nightly: Export uvision failing with missing context fault handler Open)
  • Cloud Client integration Test - ALL PASSED
  • Memory Usage Test - ALL PASSED

Toolchain Coverage

In the mbed OS 6.5.0 release. we are testing the following toolchains:

  • ARM compiler 6.14.0
  • GCC_ARM 9-2019-q4-major

Targets Coverage

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

Greentea test targets have been changed slightly:

At the time of the mbed-os 6.5.0 release, we run the greentea tests on the following targets:

  • NRF52840_DK
  • K66F - Please note as highlighted above that this platform is considered unstable at this stage.
  • K64F
  • NUCLEO_F429ZI
  • NUCLEO_F767ZI
  • NUCLEO_WB55RG

We have the following issues on the test jobs:

  • MBEDOSTEST-1163 - ARMC6 Failed to build mbed OS with LTO options In Progress
  • IOTCORE-1663 - Nightly: Export uvision failing with missing context fault handler Open

Test Numbers

  • Greentea test number 1674 (+179)
  • Unittest number 741 (+0)

Code Coverage

Test Code Coverage been tracked and information is published on COVERALLS

Memory Monitoring

No observed change from mbed-os-6.4.0

Contents

Ports for Upcoming Targets

Fixes and Changes

13910
Update NRF ble configuration options

13905
STM32L4: ADC compilation issue with L422

13904
CMake STM32L475xG: fix linker/startup inclusion

13900
mergify: fix travis rename check

13895
CMake: Fix error that prevented re-build

13894
Fix compilation warnings

13893
MIMXRT1050_EVK return bootloader support

13891
Remove nanostack border router from examples list

13889
Nanostack release v12.6.2

13887
CMake: Specify mbedtools in the build instructions

13886
Don't require too old mbed tools

13885
TEST: update cmake example on ble examples

13882
CMake: Use relative paths to list source files and directories

13880
S1SBP6A fix RTC range

13878
Add missing blockdevice mbed_lib.json

13874
STM32F3 update drivers version to CUBE V1.11.1

13870
CMake: Address review comment from PR#13566

13869
Create a USB drivers library

13867
SysTimer: Prevent unacknowledged tick overflow when halted for a while

13864
Fix bare metal builds on Cypress targets

13862
STM32 SERIAL: free RTS/CTS pins

13861
Ambiq apollo3 fix of an SPI related SD bug

13859
STM32L4: Use HSI for LPUART

13853
Samsung: fix baremetal #13851

13849
Add apollo3 sleep

13848
Q/OSPIFBlockDevice: fix misconception in minimum program size

13847
Add workaround for files with permissive binary licenses

13846
STM32 usb: fixing missing header file

13843
Fix linking issue #13793 when using -O0 compiler optimization in ARMC

13839
cmsis: remove math header file

13833
Add new Gap::EventHandler callbacks to ChainableGapEventHandler class

13832
Fix GCC_ARM non-contiguous FW for K64F and K66F

13828
fix ble example names

13822
BLE fix periodic advertising list function parameter checking

13817
STM32: define RCC_LSE_BYPASS to allow using PC_15 as gpio

13816
STM32: allow HS USB endpoints and increase USB OTG_HS endpoints number

13811
Ble conditional compilation

13810
Remove missing examples from the config

13808
Remove erroneous character from SPDX identifer

13802
STM32F4 FLASH API update

13800
OSPI: enable feature in baremetal test configuration

13797
STM32: add setting for LSE drive load level

13796
Update README.md to remove WEP test case with NULL data

13768
COMPONENT_FPGA_CI_TEST_SHIELD: better debug print

13753
Remove Unneeded nordic-bsp Folder from Cordio

13747
Renesas: fix timing to wait UART completion in deep sleep function

13699
Fix sfdp_find_addr_region algorithm

13698
Fix SPIF read dummy cycles not being reset

13692
Fix I2C slave bugs on Renesas RZ/A series.

13691
Remove unused Nordic TARGET_SDK_11

13671
Add an socket option to set type of service to set specific precedence for QoS

13566
CMake: Add initial support

Using this release

You can fetch this release from the mbed-os GitHub repository, using the tag "mbed-os-6.5.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 - mbed-os-5.15.6

Published by adbridge almost 4 years ago

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

Summary

This is the latest support release for the Mbed OS 5.15 branch. It contains a number of important fixes including:

  • Nanostack release v12.6.0
  • Improvements to WiSUN functionality
  • Mbed CoAP updated to v5.1.8

The full list of changes can be viewed below.

Migration Guide

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

mbed-os-5.15: Add initialization to radius retry values

13775

Summary of changes

This corrects uninitialized scalar field coverity warning.
This is Mbed OS 5.15 version of https://github.com/ARMmbed/mbed-os/pull/13740

mbed-os-5.15: Add initialization check to RADIUS ipv6 address

13774

Summary of changes

Added initialization check to RADIUS ipv6 address that prevents the border router from printing unnecessary error trace
when RADIUS is not enabled.
This is Mbed OS 5.15 version of:
https://github.com/ARMmbed/mbed-os/pull/13588

M2354: Upgrade to BSP v3.00.001 (5.15)

13770

Summary of changes

This PR upgrades BSP to v3.00.001 to support MP chip.

Impact of changes

NuMaker-M2354 Ver 1.0 (test chip) gets unsupported. This doesn't do big impact because it is internal only. NuMaker-M2354 Ver 1.1 (MP chip) will be the official one with this upgrade.

mbed-os-5.15: Add APIs for Device min sense and CCA threshold table

13758

Summary of changes

-Added get, set and validate API for device min sens.
-Added get API for CCA threshold table.
Bring in changes from feature-wisun https://github.com/ARMmbed/mbed-os/pull/13521 to mbed-os-5.15 branch.

Nuvoton: Enable fault handler dump message on CM23 targets (5.15)

13739

Summary of changes

This PR is backport of #13738 to mbed-os-5.15 branch. It enables fault handler dump message on Nuvoton's CM23 targets:

  • NU_PFM_M2351
  • NUMAKER_IOT_M263A
  • NUMAKER_IOT_M252

mbed-os-5.15: Add certificate remove before add to wisun tasklet

13736

Summary of changes

This prevents tasklet from adding own certificates multiple times to Nanostack in case bootstrap is made again.
This is mbed-os-5.15 version of https://github.com/ARMmbed/mbed-os/pull/13608

mbed-os-5.15: Enable Nanostack DNS cache usage

13735

Summary of changes

Enable usage of Nanostack DNS cache. The cache may contain DNS server address and DNS query results.
Inherit methods gethostbyname, gethostbyname_async and get_dns_server to Nanostack class.
Methods will try to find DNS server address or DNS query results from Nanostack DNS cache.
These same changes are available in:

mbed-os-5.15: Nanostack release v12.6.0

13719

Summary of changes

Nanostack release v12.6.0 to feature-wisun branch.
This release contains improvements to the Wi-SUN protocol functionality.
These same changes are also available in feature-wisun branch: #13716, and in master: #13718

mbed-os-5.15: Mesh interface global up is indicated always on bootstrap ready

13715

Summary of changes

This indicates e.g. to client that IP address has changed or connection
to network has been established.
This is mbed-os 5.15 version of https://github.com/ARMmbed/mbed-os/pull/13666

mbed-os-5.15: Nuvoton: Fix NuMaker I2C timeout

13709

Summary of changes

This PR is to fix I2C timeout measurement for NuMaker platforms instead of hardcode max timer count on OS-5.15 branch.
The same commit got approval in PR #13679 on OS-6.x master branch.

adapting to new s3 bucket location in travis.yml

13696

Summary of changes

Travis CI uses compilers and other binaries like astyle. These are stored in S3 bucket currently owned by ISG and mbed-os-ci is switching to OSS. This PR adapts the S3 location changes from ISG to OSS for travis CI builds.

TEST: Extend the kvstore test time out to 120s

13693

Summary of changes

Extend the kvstore test time out to 120s, due to this test might take longer time to run on larger size SD card

K82F, KL82Z: Fix the I2C SDK driver slave transfer

13661

Summary of changes

If multiple bytes are send from slave to master, slave is wrongly performing stop signal what brakes communication for 11ms because bus is still active. Slave shouldn't do any Start or Stop signal

Fix STM32H747 Arduino pinout

13652

Summary of changes

Changing Pin Names for Arduino header on STM32H747

M2351: Support GCC and IAR

13643

Summary of changes

This PR is backport of #12353 and #12366 to mbed-os-5.15 branch. It has the following modifications on M2351:

  1. Enable GCC support on non-PSA non-secure target
  2. Enable IAR support on non-PSA non-secure target
  3. Refactor for above toolchain support
  4. Other minor fix
    NOTE1: Disable GCC support on secure targets because of GCC bug (as of 9-2019-q4-major): In non-secure entry function, callee-saved registers must be restored, but they are incorrectly cleared at optimization level Os.
    NOTE2: Disable IAR on secure targets because of IAR toolchain bug (as of IAR 8.32): cmse_nonsecure_caller() is not always inlined.

Add SD, USBDEVICE & LPTICKER support for VK_RZ_A1H board.

13639

Summary of changes

Add SD , USBDEVICE , LPTICKER support.
Some of the files are synced with the other Renesas boards. VK_RZ_A1H ones are a bit old, especially the linker script files!

Impact of changes

SD feature requires an external lib !

Migration actions required

Projects using the SD feature, should include SDHI.

Update Mbed CoAP to v5.1.7

13606

Summary of changes

Update Mbed CoAP to v5.1.7.

  • Removed comparison of IP addresses when validating message resending. This avoids unnessary network errors due to load balancers causing frequent IP address changes.
  • Multiple fixes for out-ouf-bounds memory accesses, a memory leak and an infinite loop condition in packet parser.
  • Mapped MBED_CONF_MBED_CLIENT_RECONNECTION_COUNT Pelion Device Management Client configuration option to SN_COAP_RESENDING_MAX_COUNT in mbed-coap.
  • Fix the token from blockwise ACK message to be empty if the received message doesn't have one.

Fix for linker issue in AdBun-M066

13578

Summary of changes

Linker issue:
The hardcoded __initial_sp from the startup file of AdBun-M066 (startup_TMPM066.S) has been removed.
The initial stack pointer value ARM_LIB_STACK has been imported from the scatter file of AdBun-M066 (tmpm066fwug.sct).
As per scatter file of AdBun-M066,
initial stack pointer = 0x200000C0 + 0x4000 : 0x200040C0 (which is beyond the RAM of AdBun-M066)
So, Stack pointer must be initialized to =
RAM starting address + Size of RAM = 0x20000000 + 0x4000 (16KB)

mbed-os-5.15: Add external RADIUS server configuration to Wi-SUN Border Router

13576

Summary of changes

Added configuration functions and .json configuration options for:

[mbed-os-5.15] Nanostack release v12.5.0

13559

Summary of changes

Nanostack v12.5.0 contains bug fixes and stability improvements to the Wi-SUN protocol stack.
Also 802.15.4.RF RF drivers have been updated to match functionality in Nanostack:

  • Atmel RF driver to v3.3.2
  • STM S2LP driver to v1.0.7
    These same changes are available in feature-wisun branch in PR: #13550

Nuvoton: Fix degrading QSPI to SPI (5.15)

13537

Summary of changes

Same as #13536 but backport to mbed-os 5.15, this PR tries to fix logic with degrading QSPI to SPI. In most cases, we can control degraded QSPI H/W to standard through BSP SPI driver directly as if it is just SPI H/W. However, BSP SPI driver distinguishes among SPI H/W instances in functions:

  • SPI_Open
  • SPI_Close
  • SPI_SetBusClock
  • SPI_GetBusClock
    In these cases, we must change to QSPI version instead for QSPI H/W.

device_management.py supports application access keys 5.15

13525

Summary of changes

The Mbed CLI tool fails to initialize with application access keys. This PR changes the device_management.py so that it works with the new access keys as the legacy API key feature is now deprecated in Pelion Device Management.

Impact of changes

The init script still works with legacy API keys.

mbed-os-5.15: Nuvoton: Fixed NUC472 SD buffer alignment

13512

Summary of changes

This PR is to correct NUC472 SD buffer alignment as 4 bytes instead of original 4K, it could resolve the issue
of mbed-os-example-pelion NUC472 GCC build failed in Pelion PR #147

[mbedos-5.15] Updating mbed-mesh-api

13496

Summary of changes

Adding new parameters for Wi-SUN and Border router interface information.
This is upstream of PR https://github.com/ARMmbed/mbed-os/pull/13453

[mbed-os-5.15] Add WiSun network size configs in JSON

13495

Summary of changes

Add json config items for WiSun network size.
So user could easily config the default WiSun network size via Json file.
This PR is upstreaming changes from #13134

ci: Update arm-none-eabi- version

13487

Summary of changes

The arm-none-eabi- version is updated from version 6 to version 9.
Signed-off-by: Devaraj Ranganna [email protected]

[mbed-os-5.15] Nanostack release v12.4.0

13451

Summary of changes

Nanostack release v12.4.0 to mbed-os-5.15 branch.
Nanostack v12.4.0 contains bug fixes and stability improvements to the Wi-SUN protocol stack.
802.15.4 RF drivers has been updated to match functionality in Nanostack v12.4.0.
This is upstream of PR: #13444

[mbed-os-5.15] ODIN-W2 release v3.7.2 and bug fixes.

13450

Summary of changes

This PR included following features:

  • ODIN binaries compiled with latest toolchains
  • Fixes ARMmbed#12582
  • Fixes ARMmbed#12573

Known Issues

There are no new known issues with this release.

Contents

Ports for Upcoming Targets

Fixes and Changes

13788
Update Mbed CoAP to v5.1.8

13775
mbed-os-5.15: Add initialization to radius retry values

13774
mbed-os-5.15: Add initialization check to RADIUS ipv6 address

13770
M2354: Upgrade to BSP v3.00.001 (5.15)

13758
mbed-os-5.15: Add APIs for Device min sense and CCA threshold table

13739
Nuvoton: Enable fault handler dump message on CM23 targets (5.15)

13736
mbed-os-5.15: Add certificate remove before add to wisun tasklet

13735
mbed-os-5.15: Enable Nanostack DNS cache usage

13719
mbed-os-5.15: Nanostack release v12.6.0

13715
mbed-os-5.15: Mesh interface global up is indicated always on bootstrap ready

13709
mbed-os-5.15: Nuvoton: Fix NuMaker I2C timeout

13696
adapting to new s3 bucket location in travis.yml

13693
TEST: Extend the kvstore test time out to 120s

13661
K82F, KL82Z: Fix the I2C SDK driver slave transfer

13652
Fix STM32H747 Arduino pinout

13643
M2351: Support GCC and IAR

13639
Add SD, USBDEVICE & LPTICKER support for VK_RZ_A1H board.

13606
Update Mbed CoAP to v5.1.7

13578
Fix for linker issue in AdBun-M066

13576
mbed-os-5.15: Add external RADIUS server configuration to Wi-SUN Border Router

13559
[mbed-os-5.15] Nanostack release v12.5.0

13537
Nuvoton: Fix degrading QSPI to SPI (5.15)

13525
device_management.py supports application access keys 5.15

13512
mbed-os-5.15: Nuvoton: Fixed NUC472 SD buffer alignment

13496
[mbedos-5.15] Updating mbed-mesh-api

13495
[mbed-os-5.15] Add WiSun network size configs in JSON

13487
ci: Update arm-none-eabi- version

13451
[mbed-os-5.15] Nanostack release v12.4.0

13450
[mbed-os-5.15] ODIN-W2 release v3.7.2 and bug fixes.

Using this release

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

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 - mbed-os-6.4.0

Published by mbedmain almost 4 years ago

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

Summary

This release contains significant changes to how Mbed supports BLE privacy, addressing issues some users may have seen when pairing a device running Mbed with either Android or iOS.

We've also updated the Mbed COAP implementation to v5.1.8.

Finally, we've made some further improvements to the WiSUN stack to address issues raised by both internal and external testing.

Migration Guide

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

BLE: Introduce ChainableEventHandler and subclasses

13734

Summary of changes

Requires #13727 to be merged first
Merged #13727 since this PR is closely tied to it.
Introduces a ChainableEventHandler base class that is essentially a singly-linked-list of EventHandlers along with two subclasses:

  • ChainableGattServerEventHandler that enables chaining together GattServer::EventHandlers
  • ChainableGapEventHandler that enables chaining together Gap::EventHandlerss
    The ChainableGattServerEventHandler class allows an application to register separate event handlers (eg: for different services that need to handle GattServer events) and then set the global GattServer::setEventHandler to the instance of ChainableGattServerEventHandler with all registered GattServer::EventHandlers.
    The ChainableGapEventHandler accomplishes that same as above for Gap:EventHandler implementations.
    Common functionality has been split off into ChainableEventHandler.
    See #13728 for discussion around this implementation.

Impact of changes

None

Migration actions required

None

Feature ble host privacy

13717

Summary of changes

This PR reimplements Bluetooth privacy for all type of Bluetooth controllers (4.0 to 5.2).
As soon as privacy is enabled, a private address is used to advertise, scan or initiate connection and peers resolvable addresses are resolved if a bond with matching IRK is found in the security database.
This should solve most of the pairing issues observed on Android and iOS where the local device is not able to retrieve a previous bond.
Internally there is two implementations of the address resolution:

Impact of changes

Existing applications should not have anything to change regards to calls to privacy APIs as this PR enables it for all type of controllers and not just resolution when supported by the hardware.
The advertising state was showing up as enabled as soon as the function startAdvertising was called. This is was not correct as it wasn't reflecting the reality of operations. The state is now modified when advertising is actually active. Two new events have been added to Gap::EventHandler to catch the change of advertising state.

Add mutiple push and pop for circular buffer

13563

Summary of changes

Add functions to circular buffer to allow pushing and popping multiple items at a time.

Add OSPI driver to support the Octa mode of Macronix octaflash MX25LM51245G

12644

Summary of changes

Update PR #12619.
Add OSPI HAL driver and OSPIF block device driver for using Macronix octaflash MX25LM51245G.
ST Octo-SPI was ported on QSPI MBED API, but we can only use in SPI mode and the Octo mode is not supported. So, we add OSPI driver to enable Octo mode to improve read and write performance.

Impact of changes

Enable the octa mode of MX25LM51245G.

Migration actions required

N/A

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: https://github.com/MicrochipTech/cryptoauthlib/issues/116
  • Priority: Minor

Tools: Error when running mbed test --compile/run list

  • Description: The error, "pkg_resources.DistributionNotFound: The 'mbed-ls==1.*,>=1.5.1' distribution was not found and is required by icetea, mbed-flasher" is observed when running the command "mbed test -m K64F -t ARM --icetea --compile-list -vv".
  • Workaround: None
  • Reported Issues: https://github.com/ARMmbed/mbed-os/issues/8064
  • Priority: Major

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 test and Nightly test, we also ran a branch test on mbed-os 6.4.0-RC1

Results for the tests we run on CI (PR, Nightly, Branch):

  • Build Greentea ARMC6 - SOME FAILS
  • 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
  • Exporter Test - SOME FAILS
  • Cloud Client integration Test - ALL PASSED
  • Memory Usage Test - ALL PASSED

Toolchain Coverage

In the mbed OS 6.4.0 release. we are testing the following toolchains:

  • ARM compiler 6.14.0
  • GCC_ARM 9-2019-q4-major

Targets Coverage

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

Greentea test targets have been changed slightly:

At the time of the mbed-os 6.4.0 release, we run the greentea tests on the following targets:

  • NRF52840_DK
  • DISCO_L457VG_IOT01A
  • K64F
  • NUCLEO_F429ZI
  • NUCLEO_F767ZI
  • NUCLEO_WB55RG

We have the following issues on the test jobs:

  • MBEDOSTEST-1163 - ARMC6 Failed to build mbed OS with LTO options In Progress
  • IOTCORE-1663 - Nightly: Export uvision failing with missing context fault handler Open

Test Numbers

  • Greentea test number 1674 (+179)
  • Unittest number 741 (+6)

Code Coverage

Test Code Coverage been tracked and information is published on COVERALLS

Memory Monitoring

No observed change from mbed-os-6.3.0

Contents

Ports for Upcoming Targets

13713
STM32H7: add NUCLEO_H7A3ZI_Q new target

Fixes and Changes

13787
Update Mbed CoAP to v5.1.8

13785
BLE: Fix access to attcCb.onDeck and attsCb.prepWriteQueue access

13782
scancode: fix SPDX check - only warning

13779
BLE: Fix scan state and host resolution of RPAs

13778
STM32G4 update drivers version to CUBE V1.3.0

13771
Separate cloud example configurations to another file

13757
wisun: Add APIs for Device min sense and CCA threshold table.

13749
Add missing args to weakly defined PalRtc functions

13745
Scancode: Fix false positive reported by scancode output analyser script

13744
Use NUCLEO_F429ZI for Azure IoT Hub and Google IoT Core examples testing

13743
Define SD and STORAGE for the MAX32630FTHR and prevent warnings during compilation on Mbed 5.12 and above

13742
nanostack: Add initialization to radius retry values

13741
STM32L4 update drivers version to CUBE V1.16.0

13738
Nuvoton: Enable fault handler dump message on CM23 targets

13737
Add certificate remove before add to wisun tasklet

13734
BLE: Introduce ChainableEventHandler and subclasses

13733
Enable Nanostack DNS cache usage

13729
BLE: Enable getting an implicitly-created CCCD through GattCharacteristic::getDescriptor

13725
STM32: update SetSysClock for NUCLEO_L476RG

13724
Add license notice to Arm copyrighted source files plus SDPX to already licensed files

13723
Add crash RAM to STM32F412xG

13718
Nanostack release v12.6.0

13717
Feature ble host privacy

13714
nanostack: mesh interface global up is indicated always on bootstrap

13713
STM32H7: add NUCLEO_H7A3ZI_Q new target

13707
Fix ESP8266

13704
ble: reset transport last and reset the default chars in gatt server

13697
STM32L5 update drivers version to CUBE V1.3.1

13694
adapting to new s3 bucket location in travis.yml

13690
STM32H7 update drivers version to CUBE V1.8.0

13684
nanostack: fix inclusion of kvstore

13683
USB STM32: fix header inclusion, removing mbed.h

13681
Nrf52840 spim3 updates

13679
Nuvoton: Fix NuMaker I2C timeout

13677
psoc64: Update flash layout of CYTFM_064B0S2_4343W

13674
Samsung: uart fixes

13669
STM32L0 update drivers version to CUBE V1.11.3

13659
STM32WB update drivers version to CUBE V1.8.0

13655
STM32_gen_PeripheralPins.py v1.17

13654
Remove WEP security Green Tea Test case as the WEP security Key are sequence of Hex Values

13653
Use impl namespace in GattServer att_cb registration, not ble

13649
Make mbed-trace available to bare metal

13646
Make STM32F412xG system_clock.c functions weak

13645
Patch STM32F4 HAL to fix F412CG USART3 issue

13640
STM32: Fix system clock setup for XTAL and/or internal source on STM32H743

13634
STM32L4: link issue with IAR

13633
STM32WB: FLASH compilation issue with baremetal

13632
fix DAPLINK error for S1SBP6A Target using GNU Toolchain.

13623
Refactor mbed-os design docs

13621
Refactor remaining TESTS related to hal, rtos, and platform dir

13619
Travis: remove status functionality

13611
Edit on Toolchain linker files for stm32L071xx target

13610
Fix #13490 Cellular disconnect does not deactivate context

13607
Update Mbed CoAP to v5.1.7

13602
WEP Security fix for Cypress Target Kits

13601
Fix AnalogIn implementation on STM32G4 series

13600
Refactor COMPONENT_FPGA_CI_TEST_SHIELD directory structure

13595
Nordic: Support 31250 baud rate

13593
STM32F: skip LittleFileSystem default instance and TDBStore tests

13586
travis: license check for new files

13565
Feature stm32g4 can support

13563
Add mutiple push and pop for circular buffer

13549
Make readdir reentrant

13545
Fix enabling/disabling BLE-Features

13432
Enable PDP type IPV6 and IPV4V6 to support more cellular service prov

13406
STM32F1 USBDevice

12644
Add OSPI driver to support the Octa mode of Macronix octaflash MX25LM51245G

Using this release

You can fetch this release from the mbed-os GitHub repository, using the tag "mbed-os-6.4.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 - mbed-os-6.3.0

Published by mbedmain about 4 years ago

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

Summary

This release contains additional cloud connectivity integrations with examples of how to use Microsoft Azure IoT and Google Cloud IoT with Mbed OS.

We also release a new BLE integration test suite that allows both hardware vendors and developers the ability to run BLE tests as part of their development efforts.

Further changes are made to the Mbed directory structure as we prepare the code base for the new build tools we are developing.

Support is added for the Arm Musca-S1 platform, a collaboration between Arm and Samsung Foundry to create the industry’s 1st PSA Certified Arm-based Smart IoT Device demonstrator enabling secure eMRAM-enabled Root of Trust (RoT) and secure Root of Execution (RoE) IoT Device services.

Migration Guide

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

Add RADIUS configuration options to Wi-SUN

13573

Summary of changes

Added support for external RADIUS server configuration to Wi-SUN Border Router.
Added configuration functions and .json configuration options for:

Impact of changes

None

Migration actions required

None

Fix pwm out resets after suspend

13492

Summary of changes

Fixed a Problem where PwmOut resets settings after suspend.
The problem is described here: https://github.com/ARMmbed/mbed-os/issues/13480

Impact of changes

Fixes: https://github.com/ARMmbed/mbed-os/issues/13480

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: https://github.com/MicrochipTech/cryptoauthlib/issues/116
  • Priority: Minor

Tools: Error when running mbed test --compile/run list

  • Description: The error, "pkg_resources.DistributionNotFound: The 'mbed-ls==1.*,>=1.5.1' distribution was not found and is required by icetea, mbed-flasher" is observed when running the command "mbed test -m K64F -t ARM --icetea --compile-list -vv".
  • Workaround: None
  • Reported Issues: https://github.com/ARMmbed/mbed-os/issues/8064
  • Priority: Major

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 test and Nightly test, we also ran a branch test on mbed-os 6.3.0-RC2

Results for the tests we run on CI (PR, Nightly, Branch):

  • Compilation tests: ARMC6 - SOME FAILS
  • Compilation tests: GCC_ARM - ALL PASSED
  • Unittest - ALL PASSED
  • Greentea Test - SOME FAILS
  • Example Test - ALL PASSED
  • Exporter Test - SOME FAILS
  • Cloud Client integration Test - ALL PASSED
  • Memory Usage Test - ALL PASSED
  • Wisun Mesh Test - ALL PASSED

We have the following issues on the test jobs:

  • IOTCORE-1717 - ARMC6 Failed to build mbed OS with LTO options
  • IOTCORE-1663 - Nightly: Export uvision failing with missing context fault handler
  • IOTSTOR-1032 - NUCLEO_F767ZI failed with features-storage-tests-kvstore-general_tests_phase_1&2
  • MBOTRIAGE-2756 - CY8CPROTO_062_4343W failed at cordio-tests-cordio_hci-driver Greentea Test
  • IOTPAN-662 - NUCLEO_F303RE targets failed in nightly test with WIFI-SCAN test

Test Numbers

  • Greentea test number 1495 (+0)
  • Unittest number 735 (+0)

Toolchain Coverage

In the mbed OS 6.2.0 release. we are testing the following toolchains:

  • ARM compiler 6.14.0
  • GCC_ARM 9-2019-q4-major

The following toolchains have been dropped since the mbed OS 5.15.0 release

  • ARM compiler 5.06 update 6
  • IAR 8.42

Targets Coverage

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

Greentea test targets have been changed slightly:

At the time of the mbed-os 6.3.0 release, we run the greentea tests on the following 8 targets:

  • NRF52840_DK
  • DISCO_L457VG_IOT01A
  • K64F
  • K66F
  • NUCLEO_F411RE
  • NUCLEO_F429ZI
  • NUCLEO_F767ZI
  • CY8CPROTO_062_4343W

Coverity

The number of total issues increased from 92 to 108, and high impact issues increased from 35 to 49.
This is thought to be mainly caused by the restructuring of the mbed-os folders.

Code Coverage

Test Code Coverage been tracked and information is published on COVERALLS

Memory Monitoring

No change from mbed-os-6.2.0

Contents

Ports for Upcoming Targets

13538
Ambiq AMA3B1KK and SparkFun Artemis Boards Target Update

13509
Adding STM32L071xx target

13196
Add ARM_MUSCA_S1 as a new target platform

13006
NUCLEO_G031K8: Add new target

Fixes and Changes

13594
PSA - Generate root of trust before accessing kvstore

13592
Add test examples.json config for Azure and Google Cloud

13587
MCU_STM32G031xx : decrease boot-stack-size

13584
Revert "Always build both .hex and .bin files"

13583
STM32: correct few Arduino pins value

13580
TEST: Update example scripts for cmake feature

13579
double negation fixed and ifs normalised

13574
Fix a typo in PeripheralPins.c for EFM32GG11

13573
Add RADIUS configuration options to Wi-SUN

13572
STM32H7 ADC: clock selection lost after deepsleep

13564
STM32Gx: LSI clock selection when LSE is not available

13562
Nanostack release v12.5.0

13558
STM32L4+ : SRAM3 is powered off in deepsleep

13552
general_block_device test: support non-uniform erase sizes

13547
Nuvoton: Fixed NUC472 SD buffer alignment

13546
Remove duplicate mbed-os/TESTS/host_tests scripts

13544
TEST: remove MUSCA_B1 from attestation example test

13542
B_L4S5I_IOT01A: new ST target

13538
Ambiq AMA3B1KK and SparkFun Artemis Boards Target Update

13536
Nuvoton: Fix degrading QSPI to SPI

13533
Update test examples.json AWS config

13531
Nuvoton: Set M252 Flash internal size for kv store test

13524
device_management.py supports application access keys

13523
STM32H7 ADC: No MultiMode configuration needed for ADC2

13522
STM32 USB connect procedure update

13518
add option for a custom cert in connectivity-netsocket-netsocket-tls

13516
Cypress: Rename CY8CKIT_064B0S2_4343W to CY8CKIT064B0S2_4343W

13514
STM32 USB: use SNG_BUF

13513
STM32 readme update

13509
Adding STM32L071xx target

13502
Targets: Add default "supported_form_factors" for all targets

13501
USB-DEVICE tests: move host scripts

13497
Updating mbed-mesh-api

13494
Add WiSun network size configs in JSON

13493
Fix SSID bug on Cypress Targets

13492
Fix pwm out resets after suspend

13489
Refactor hal directory

13486
Fix heap stats overhead_size calculation

13484
KVSTORE tests: move directories

13481
STM32G0 compilation warning

13476
Fix trivial compiler Warnings

13475
Ble remove user facing abstraction

13473
Nanostack release v12.4.0

13472
Fix for targets where DEVICE_SPI or DEVICE_INTERRUPTIN are defined but not both

13470
Update dragonfly linkers

13469
Support ignore list for spell checks

13468
Add ccache to travis

13467
Cypress: Update psoc6cm0p library to 1.2.1.676

13464
adr: Recommend CMSIS component source structure

13462
BLE remove address from API to cancel connect

13460
Move PSA FEATURE_EXPERIMENTAL_API directory to platform

13459
platform: fix internal platform headers

13456
USBPhyHw: remove mbed.h inclusion

13452
Use boot stack size from config system

13449
BLE: Fix writing attributes larger than MTU size

13445
Refactor storage COMPONENT_xx directory

13443
Update mbed-client-cli from v0.5.0

13435
ci: Update arm-none-eabi- version

13434
Move Callback tests to platform, USB tests to drivers

13433
Refactor device_key

13430
Relocated libraries in features/frameworks

13425
Fix bare metal support on Cypress targets

13416
Update CYSBSYSKIT_01

13400
Call mbed_tfm_init before mbed_toolchain_init

13399
QSPIF: options to preset reset sequence for legacy SFDP

13397
Provide enablement of nrf52840 SPIM

13375
Add GR_MANGO as a new target

13196
Add ARM_MUSCA_S1 as a new target platform

13006
NUCLEO_G031K8: Add new target

Using this release

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

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