Feature releases of Mbed OS are made available on a roughly quarterly basis. We release patch releases every two weeks. The latest version is always available through our development tools and on GitHub.
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.
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.
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.
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.
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.
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
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.
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.
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 -os/pull/14462
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.
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
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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: -os/pull/14018
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: -v1-2-blog/
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
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.
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.