Skip to content

mbed-os-6.1.0

Compare
Choose a tag to compare
@adbridge adbridge released this 30 Jun 12:29
· 4350 commits to master since this release

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

Summary

The major feature we introduce in this release aims to improve your experience with Arm’s Platform Security Architecture when used in conjunction with Mbed OS. Platform Security Architecture, or PSA, is an Arm- led framework for securing IoT devices. In Mbed OS we support PSA in conjunction with the TF-M (www.trustedfirmware.org) project, and we have made major changes in how we integrate TF-M into Mbed in this release, with the overall goal of simplifying how Mbed users consume it. The main change is that we now support building the Secure side binary directly, using the latest supported TF-M version for the target and linking that into the Mbed build.

We are working with our silicon partners to assist them in migrating their PSA platforms to support this change,

Migration Guide

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

Remove Musca A1 target

13165

Summary of changes

The Musca A1 target hasn't been Mbed Enabled nor considered supported in 6.0.
Although support exists in Mbed OS 5.15 and 6.0, it is not officially supported and hence removed.However, it continues to be available in 5.15.

Impact of changes

NA - continues to be available in the mbed-os-5.15 branch.

Migration actions required

Switch to the mbed-os-5.15 branch.

Cellular: ALT1250: Store RAT to permament memory

13149

Summary of changes

Save RAT selection to modem's permanent memory.

Impact of changes

This avoid unnecessary changing of RAT on every reboot if it is different than the default saved in modem's permanent memory.

M2351: Remove from master

13148

Summary of changes

Since Mbed OS 6.0, secure build is not supported yet. Remove it from master temporarily.
For non-TF-M support (NU_PFM_M2351_NPSA_S/NS), go to mbed-os-5.15 branch and Mbed OS 5.15 release.
For TF-M support (NU_PFM_M2351_S/NS), this needs M2351 integrated into TF-M repo first.
Expect M2351 TF-M support can come back into master after integration with TF-M is finished.

Impact of changes

M2351 non-TF-M targets NU_PFM_M2351_NPSA_S/NS are removed from Mbed OS 6.0. Its support is kept on Mbed OS 5.15.

Fix esp8266 driver compilation warning

13144

Summary of changes

Removed the unused variable and the redundant const return from set_ip_addr() function to fix compilation warnings.

Impact of changes

With these changes, no more compilation warning get reported during the build.

Migration actions required

None.

EMAC: Fix Chrono compliation warnings

13142

Summary of changes

Fixed the Chrono compilation warning in EMAC drivers by using Chrono based time argument in EventQueue call_every() API call.

Impact of changes

With these changes, no more compilation warning get reported during the build.

Cypress: us_ticker fixes

13130

Summary of changes

  • Explicitly disable the timer used for the us_ticker before attempting to enter DeepSleep.
    A running timer will block DeepSleep, which would normally be good because we don't want the timer to accidentally lose counts. We don't care about that for us_ticker (If we're requesting deepsleep the upper layers already determined that they are okay with that), so explicitly stop the us_ticker timer before we go to sleep and start it back up afterwards.
  • Add optional post-bsp-init hook
    This allows the application to inject its own resource reservations immmediately after the BSP (and therefore HAL) is initialized, ensuring that they can claim require resources before mbed tries to use them for more flexible purposes. For example, the application might want to claim a particular timer to make sure that it doesn't get picked for us_ticker (which can use any arbitrary timer instance).

Cypress: Add target CY8CKIT_064B0S2_4343W, update psoc6pdl, psoc6cm0p

13122

Summary of changes

This is final PR to add Cypress new secure boot target CY8CKIT_064B0S2_4343W to mbed-os.
This PR also includes update of psoc6pdl and psoc6cm0p libraries for Cypress targets.

Impact of changes

  • Target CY8CKIT_064B0S2_4343W BSP code will be added
  • psoc6pdl will be updated - impacts all Cypress targets
  • CY8CKIT_064S2_4343W, CY8CPROTO_064_SB, CYESKIT_064B0S2_4343W will be removed as obsolete due to production release of PSOC64 chips and thus new Secure Boot flow, represented in this PR
  • Secure Boot post build scripts will be substituted to new implementation for this and all following Secure Boot targets
  • psoc6cm0p will be updated - impacts all Cypress targets
    All existing Cypress targets BSP will switched to new versions assets in next PRs.

Migration actions required

Configuration of mbed-os CI need to be updated per new post build hooks.

  • CY8CKIT_064S2_4343W, CY8CPROTO_064_SB, CYESKIT_064B0S2_4343W will be removed as obsolete due to production release of PSOC64 chips and thus new Secure Boot flow, represented in this PR.
    New release of mbed-os 6.0 will no longer support targets above, updated PSOC64 targets instead will be added to support new tools.

Fix BOOT_HEADER_SIZE allocation in ARM scatter files (#13058)

13100

Summary of changes

PSoC 64 secure BSP post-build hook (cysecuretools image signing)
expects the HEX file with start address 0x10000400 (first KB of
internal FLASH is reserved for MCUboot headers area).
In order to get the correct HEX file produced by ARM fromELF tool,
the ELF file should allocate LR_IROM1 starting from address
0x10000400, not 0x10000000. Otherwise the generated HEX file
allocates rows at addresses 0x10000000 ~ 010000400 and the
final application image is not signed correctly.
Fixes #13058.

Impact of changes

Fix TARGET_CY8CPROTO_064_SB and TARGET_CYESKIT_064B0S2_4343W signed HEX image generation with TOOLCHAIN=ARM.

STM32F1 update drivers version to CUBE V1.8.0

13086

Summary of changes

ST Cube drivers version is updated from V1.6.0 to V1.8.0,
which is the latest official version from:
https://www.st.com/en/embedded-software/stm32cubef1.html
@ARMmbed/team-st-mcd

Impact of changes

  • TARGET_STM32F1 directory has been reworked to match the same structure as other STM32 families
  • MCU_STM32F103xB created in targets.json. NUCLEO_F103RB now inherits from it like any custom boards.
  • MCU_STM32F103x8 created in targets.json to ease BLUEPILL_F103C8 use.

STM32H7 update drivers version to CUBE V1.7.0

13083

Summary of changes

ST Cube drivers version is updated from V1.5.0 to V1.7.0,
which is the latest official version from:
https://www.st.com/en/embedded-software/stm32cubeh7.html
@ARMmbed/team-st-mcd

Impact of changes

  • TARGET_STM32H7 directory has been reworked to match the same structure as other STM32 families
  • MCU_STM32H745I renamed in MCU_STM32H745xI
  • MCU_STM32H747xI created in targets.json. DISCO_H747I now inherits from it like any custom boards.

Nanostack release v12.3.0 to master

13082

Summary of changes

Nanostack release v12.3.0 to master branch
Nanostack v12.3.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.3.0.
This is upstream of PR: #13079

Impact of changes

Wi-SUN protocol stack is more stable and is scaling to larger number of devices.
Mesh applications that are using Wi-SUN protocol can define S2LP RF driver PIN configuration in the application configuration file.

Python reference equality changed to value equality

13077

Summary of changes

In tools/config/__init__.py a reference comparison (is) was used to compare a variable with a string literal, but a value comparison (==) should be used instead.
This shows up as a python warning during compilation. Python documentation is here for the obsolete Python 2.7, the minimum supported version (by the Python foundation) 3.5, and the latest 3.9.

Impact of changes

This will remove the warning emitted during compilation with the cli (and probably elsewhere).
This should fix any potential issues if cpython and friends decide to change how string caching works.

Migration actions required

None.

Allowed to set Wi-SUN certificates in DISCONNECTED state

13048

Summary of changes

Allow setting of Wi-SUN certificates after disconnect for the reconnection.
Support changing of certificates when stack is already running.
Fixes the following bug #12798

Impact of changes

This only extends the usability of the API allowing new way to use the interface

Migration actions required

No Actions

ST boards: Fix sleep tracing

13034

Summary of changes

Prevent singleton lock if the RTOS is not yet ready.
lp_ticker is used during the RTOS initialization process.
ST lp_ticker implementation calls sleep functions
which in turn attempts to print to the console when sleep tracing
is enabled. Console initialization attempts to lock the singleton mutex.
fixes #11497
fixes #12593
To test:

  1. Clone mbed-os-example-blinky.
  2. Build, program, and open a serial terminal with: mbed compile -t <TOOLCHAIN> -m <ST_TARGET> -f --sterm -DMBED_SLEEP_TRACING_ENABLED.
  3. Sleep tracing is enabled (and printing on the console), the board does not reboot.

Impact of changes

Sleep tracing can be enabled with ST boards.

Migration actions required

N/A

Deprecate MBED_STATIC_ASSERT and MBED_STRUCT_STATIC_ASSERT for built-in keyword

13002

Summary of changes

Deprecates (in doxygen only) MBED_STATIC_ASSERT and MBED_STRUCT_STATIC_ASSERT macros as these uses are now provided with the built-in static_assert (or for C without <assert.h>: _Static_assert).
Cuts down the number of MBED_STATIC_ASSERT and MBED_STRUCT_STATIC_ASSERT macro definition #if cases to just C++ or not C++.
If static_assert is not recognized by the compiler, it implies it is before either C11 or C++11. I do not consider this a breaking change as C11 and C++14 are now the minimum supported language versions.
These changes also clean up some of the code documentation as well.

Impact of changes

This should only go in v6.0.0, so no issues assuming at least C11 or C++14 are used.

Migration actions required

Since the MBED_STATIC_ASSERT and MBED_STRUCT_STATIC_ASSERT macros are deprecated, users should use static_assert going forward as these could eventually be removed.

Fix Mbed TLS adjust-config.sh script

12998

Summary of changes

The Mbed TLS import script is quite fragile, and depends on certain lines to be present in the files it adjusts to be able to do the modifications it needs to to allow Mbed TLS to build within Mbed OS.
This commit changes the adjust-config.sh script to look for a the end of the config.h file, defined as #endif /* MBEDTLS_CONFIG_H */ rather than the include line for "check_config.h".
That's because the inclusion of "check_config.h" is being removed upstream in Mbed TLS to fix another issue, which you can see here.
I recommend to the maintainers that they put in their backlog to remove or replace these scripts. They were added as a temporary measure some years ago, and were never updated.

Impact of changes

This change should work with the current Mbed OS source, but critically, the change is necessary to allow a future version of Mbed TLS to work.

Migration actions required

None.

Cellular: Enable tac info for ALT1250

12973

Summary of changes

ALT1250 supports tac info in registration status, so this commit enables the feature.

Impact of changes

CellularNetwork::get_registration_params can now return cell info.

Replace Mbed PSA with TF-M PSA

12955

Summary of changes

Replace the Mbed implementation of PSA with the implementation from TrustedFirmware-M (TF-M).
PSA is and continues to be provided as an experimental feature (under FEATURE_EXPERIMENTAL_API). The PSA implementation provided by TF-M is not guaranteed to provide the same functionality or API as the previous Mbed PSA implmementation being replaced.

Impact of changes

v8-M NS targets are now the only v8-M targets supported in Mbed OS for PSA platforms, as the TF-M build system outputs the S binary that Mbed OS consumes as-is. As such, targets like ARM_MUSCA_A1_NS have been renamed to ARM_MUSCA_A1 (although old names are temporarily provided for backwards compatibility).

Migration actions required

How targets enable PSA has changed. Please refer to features/FEATURE_PSA/supporting_psa_in_mbed-os.md for updated instructions on adding PSA to your target as a new target porting person.

Modify the operation of setting qspi frequency when calling Octo controller

12937

Summary of changes

Modify the operation of setting qspi frequency when calling Octo controller in qspi_api.c.
Because the value of hospi->Init.ClockPrescaler has been subtracted 1 in stm32l4xx_hal_ospi.c.

Impact of changes

N/A

Migration actions required

N/A

Timer: minor revisions

12905

Summary of changes

  • C++11-ify a little.
  • Constify relevant methods. (already done in #12425)
  • Make it copy/move constructible.
  • Remove unneeded lock from destructor. (already done in #12425)

Impact of changes

Timer and LowPowerTimer are a little more flexible, and slightly optimised.

Migration actions required

n/a

Added kv store adaptation to nanostack file interface

12900

Summary of changes

This is port of #12878 to Mbed OS master.
Added NS filesystem API module to mbed-os Nanostack HAL. Module provides kv_store interface for the Nanostack. Feature is disabled by default on .json configuration.

Impact of changes

None

Migration actions required

None

Added Wi-SUN statistics interface

12899

Summary of changes

This is port of #12766 to Mbed OS master.
Added network, physical layer, MAC and FHSS statistics to Wi-SUN interface. There are new functions to enable/disable and read the statistics.

Impact of changes

None

Migration actions required

None

Add new configuration parameters to Wi-SUN network interface and Border Router class

12898

Summary of changes

This is port of #12657 to Mbed OS master.
Added get/validate/set functions for following Wi-SUN mesh interface configuration options:

  • Network name
  • Regulatory domain
  • Network size
  • FHSS channel mask
  • FHSS unicast channel function related parameters
  • FHSS broadcast channel function related parameters
  • Timing parameters
    Moved Wi-SUN .json configuration parsing from wisun tasklet to Wi-SUN mesh interface class.
    Added Wi-SUN Border Router class. Class can be used to start and stop Wi-SUN Border Router.
    Border Router class supports following configuration options:
  • RPL DIO trickle parameters
  • PAN configuration
    Added support of network interface name method to Nanostack Mesh, EMAC and PPP interfaces.

Impact of changes

None

Migration actions required

None

Add enum class flag definition to platform

12772

Summary of changes

Add a macro for adding bitwise operators to enum class types.
This addition is necessary to use bitwise operators on enum class (scoped enums) introduced in C++11.
Without this macro, either the whole boilerplate would have to be written to take advantage of C++ namespaces and scope, or a C style, visible-to-the-world enum would need to be used.
This:

enum class MyEnum {
HasNose = (1 << 0),
HasEars = (1 << 1),
HasFur  = (1 << 2)
};
inline constexpr MyEnum operator |( T lhs, T rhs)
{
return (MyEnum) ( 
static_cast<std::underlying_type<MyEnum>::type>(lhs) |
static_cast<std::underlying_type<MyEnum>::type>(rhs));
}
inline constexpr MyEnum operator &( T lhs, T rhs)
{
return (MyEnum) ( 
static_cast<std::underlying_type<MyEnum>::type>(lhs) &
static_cast<std::underlying_type<MyEnum>::type>(rhs));
}
...
// Repeat for ~, ^=, |= overloads
...
inline MyEnum& operator &= (T & a, T b) { \
a = a & b; \
return a; \
}

becomes

MBED_SCOPED_ENUM_FLAGS(MyEnum)  {
HasNose = (1 << 0),
HasEars = (1 << 1),
HasFur  = (1 << 2)
};

Now, using the enum class allows for scope and bitwise operation:

MyEnum cat = MyEnum::HasNose | MyEnum::HasEars | MyEnum::HasFur;
MyEnum neighbor = MyEnum::HasNose | MyEnum::HasEars;

Impact of changes

The only impact is if the macro is used. If the macro is unused, standard enum class definitions are unaffected by the bitwise operators. If the macro is used, the implementing code becomes more concise (and hopefully readable), and the DRY principle is realized.
Regarding code size, the operations should be no different than if written out with static_cast calls.
In the future, standard C enum bit flags could be converted over to enum class for better scoping and collision avoidance.

Migration actions required

If a scoped enum bit flag is desired, include the header and use. Otherwise, none.

Extend AnalogIn API: read_voltage

12471

Summary of changes

For calculating real-world parameters (eg: ohms, amps) from ADC readings, it is often useful to know the actual voltage represented by the ADC's numerical output. This functionality can indeed be abstracted elsewhere, but I think it makes sense to put this in the ADC API itself.
As it stands, the AnalogIn API only provides a normalized output and leaves the application up to calculate the actual voltage based on the system's ADC reference.
This PR adds the ability for the user to configure a default ADC Vref by overriding target.default-adc-vref. Additionally, an AnalogIn instance's reference voltage can be set at runtime in case multiple ADC references are possible in the target (in the case of multiple ADC peripherals or internally configurable ADC references such as in the case of Nordic chips).

Impact of changes

Since this PR only extends the AnalogIn API, there should be no impacts on existing users.

Migration actions required

None

Known Issues

We publish Mbed OS as a collection of modules on GitHub. Issues are raised in the specific repositories and then tracked internally. The purpose of this section is to provide a single view of the outstanding key issues that have not been addressed for this release. As such, it is a filtered and reviewed list based on priority and potential effect. Each item summarizes the problem and includes any known workarounds, along with a link to the GitHub issue (if applicable). We welcome any comments or proposed solutions.

For more information about an issue, contact us on the forum.

TLS: IP addresses in the X.509 certificate subjectAltNames

  • Description: Parsing IP addresses in the X.509 certificate subjectAltNames is not supported yet. In certificate chains relying on IP addresses in subjectAltNames a BADCERT_CN_MISMATCH error is returned.
  • Workaround: merge branch https://github.com/ARMmbed/mbedtls/tree/iotssl-602-san-ip into your copy of Mbed TLS before building the application. It is still in EXPERIMENTAL stage, use it on your own responsibility!
  • Reported Issue: Issue reported by a customer in email.
  • Priority: MAJOR

TLS: Mismatch of root CA and issuer of CRL not caught

  • Description: The x509_crt_verifycrl() function ignores the CRL, when the CRL has an issuer different from the subject of root CA certificate.
  • Workaround: Make sure that the issuer of the CRL and the root CA certificate's subject are the same before passing them to x509_crt_verifycrl().
  • Reported Issue: Reported by a partner.
  • Priority: MAJOR

TLS: Self Test Failure with Some Hardware Accelerators

  • Description: Most HW acceleration engines (if not all) require the parameters to be from contiguous memory.
    All the self tests use test vectors that are defined in the .bss section, which means these are not contiguous. This causes the self test to possibly fail, when implementing HW accelerated engines.
  • Workaround: There are no known workarounds.
  • Reported Issue: Reported by the development team.
  • Priority: MAJOR

TLS: Hardware-accelerated hash creates CBC padding oracle in TLS

  • Description: The current countermeasures against CBC padding oracle attacks in Mbed TLS call a low level internal API. The implementation of this API might not be possible with the hardware accelerator API and even if it is, the timing might still have detectable differences. The lower level API is called out of sequence and accelerators that are not aware of this might crash.
  • Workaround: Keep MBEDTLS_SSL_ENCRYPT_THEN_MAC enabled in mbedtls/config.h and enable the Encrypt-then-MAC extension (RFC7366) on the peers side.
  • Reported Issue: Reported by the development team.
  • Priority: MAJOR

Crypto: Mbed OS ATECC608A example fails to build with IAR

  • Description: The current ATECC608A secure element example fails to build with the IAR toolchain. The Microchip-provided cryptoauthlib library does not build with IAR.
  • Workaround: Use a different toolchain, like GCC_ARM.
  • Reported Issue: MicrochipTech/cryptoauthlib#116
  • Priority: Minor

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: #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.1.0-RC1

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

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

We have the following issues on the test jobs:

  • LTO failed on ARM compiler compile tests ---- Tracked by defect MBEDOSTEST-1083 - ARMC6 Failed to build mbed OS with LTO options Open
  • Export uvision failing with missing context fault handler IOTCORE-1663 - Nightly: Export uvision failing with missing context fault handler Open
  • NUCLEO_F767ZI failed on storage tests ---- Tracked by defect IOTSTOR-1032 - NUCLEO_F767ZI failed with features-storage-tests-kvstore-general_tests_phase_1&2 Open
  • CY8CPROTO_62_4343W failed on sleep/deepSleep tests ---- Tracked by defect IOTHAL-560 - CY8CPROTO_062_4343W target failed at sleep/deep sleep test Open
  • NUCLEO_F303 and NUCLEO_F411 failed on client example compile tests

Test Numbers

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

Toolchain Coverage

In mbed OS 6.1.0 release. we are testing following toolchains:

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

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

  • ARM compiler 5.06 update 6
  • IAR 8.42

Targets Coverage

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

Greentea test targets have been changed slightly:

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

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

Coverity

In mbed OS 6.1.0 release,there are 94 coverity issues.

Code Coverage

Test Code Coverage been tracked and information is published on COVERALLS

Memory Monitoring

No change from mbed-os-6.0.0

Contents

Ports for Upcoming Targets

13128
Add support for Embedded Planet target Atlas

12482
NUCLEO_G474RE: Add new platform

Fixes and Changes

13175
psa: Remove not needed TF-M ITS KVStore adapter

13165
Remove Musca A1 target

13158
WIFI: Add NSAPI_PRESENT macro in the WicedInterface

13149
Cellular: ALT1250: Store RAT to permament memory

13148
M2351: Remove from master

13144
Fix esp8266 driver compilation warning

13143
STM32H7: correct Ethernet issue in baremetal

13142
EMAC: Fix Chrono compliation warnings

13135
Restore MTS_MDOT_F411RE bootloader binary

13130
Cypress: us_ticker fixes

13128
Add support for Embedded Planet target Atlas

13122
Cypress: Add target CY8CKIT_064B0S2_4343W, update psoc6pdl, psoc6cm0p

13119
Move target implementations of NanostackRfPhy into nanostack-interface

13118
Replaced rtos profile with full profile

13117
Fix compliation warnings

13115
MIMXRT1050_EVK: Add USB support

13100
Fix BOOT_HEADER_SIZE allocation in ARM scatter files (#13058)

13098
Cellular: Fix CellularContext destructor memory leak

13095
STM32: MCU_STM32 supports rtos and bare-metal profiles

13093
UNITTESTS: Fix TestPPPInterface::get_interface_name

13091
STM32 baremetal support step3/3 (F2/F4)

13090
STM: move us_ticker_defines.h include

13089
Add a coverage_patterns kwarg to ARM_MICRO

13086
STM32F1 update drivers version to CUBE V1.8.0

13083
STM32H7 update drivers version to CUBE V1.7.0

13082
Nanostack release v12.3.0 to master

13081
Reinstate post build hooks for legacy targets

13077
Python reference equality changed to value equality

13073
STM32H7: FPGA tests support

13070
add mbed-os-example-aws to the example list

13069
Cellular: Fix unittest for CellularNetwork

13066
mergify: add release type

13064
nxp: fix vector redefinition from CMSIS

13060
BLE: fix direct advertising on Cordio

13055
BLE: RF tester commands (and Cordio unhandled command complete)

13053
STM32 more information in README file

13052
BLE: fix conn params update

13048
Allowed to set Wi-SUN certificates in DISCONNECTED state

13047
NRF: Migrate ARM Compiler 5 feature re-locate zero initialized variables

13046
Use std::chrono based functions

13045
CYESKIT_064B0S2_4343W: Remove parentheses from arduino pins

13044
NRF: fix implicit declarations

13043
NRF serial: Use nrf_uarte_event_t enum to avoid implicit conversion

13042
Ensure all overridden virtual functions are marked with override

13041
Cordio: put parentheses to correct order of precedence in ternary expressions

13040
BLE: Add tx power control to cordio HCI driver

13039
BLE: remove limitation in the Cordio to update adv payload

13037
BLE: Fix privacy and signing handling in Security Manager

13036
STM32_gen_PeripheralPins.py script v1.12

13035
Fix capacity check when service data are added to BLE advertising payload

13034
ST boards: Fix sleep tracing

13030
Fix ThisThread::get_name definition

13022
STM32: add weak TargetBSP_Init function

13019
Documentation update - MBRBlockDevice::partition type parameter

13016
tests-mbed_hal-rtc patch to match IAR compilation issue

13015
Force callback non-trivial for IAR

13014
DISCO_H747I_CM4 is supporting now hex format

13013
Cellular: Fix packet data registration after CREG

13009
Add support for the Telit ME310 module

13002
Deprecate MBED_STATIC_ASSERT and MBED_STRUCT_STATIC_ASSERT for built-in keyword

13001
STM32 baremetal support step2 (L1/L4/WB)

12998
Fix Mbed TLS adjust-config.sh script

12996
STM32F412 bypass PLL configuration when already done by bootloader

12992
STM32 baremetal support step1 (F0/F1/F3/H7/L0)

12991
Nuvoton: Support EMAC bus reset as while bus err

12988
OS timer uses LPTICKER by default, then USTICKER

12985
Update CYSBSYSKIT_01

12983
Mutex::unlock - decrement _count inside lock

12979
stack_size_unification test: set expected stack sizes from config

12973
Cellular: Enable tac info for ALT1250

12966
DRAGONFLY_F413RH: Update power on and power off functionality

12955
Replace Mbed PSA with TF-M PSA

12937
Modify the operation of setting qspi frequency when calling Octo controller

12905
Timer: minor revisions

12900
Added kv store adaptation to nanostack file interface

12899
Added Wi-SUN statistics interface

12898
Add new configuration parameters to Wi-SUN network interface and Border Router class

12824
Optimise fault handler assembly

12772
Add enum class flag definition to platform

12751
STM32WB: enable USB Device

12747
STM32 MBEDTLS support with HW crypto

12615
FPGA UART test cases addition with 7 and 9 bits data length

12482
NUCLEO_G474RE: Add new platform

12471
Extend AnalogIn API: read_voltage

Using this release

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

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