Releases: ARMmbed/mbed-os
mbed-os-6.0.0-alpha-2
We are pleased to announce the Mbed OS 6.0.0-alpha-2 release is now available.
Summary
This is the second preview of approaching Mbed OS 6.0 release. We continue our efforts to remove previously deprecated APIs and features. This release intentionally breaks compatibility both with Mbed OS 5 series and previous Mbed OS 6 preview. For details of breaking changes please have a look at the release notes below.
Migration Guide
This section lists specific changes which are part of this release and may
need special attention.
Add an exception for ARMC5 toolchain build
Summary of changes
The Arm Compiler 5 is no longer supported so removed the deprecate warning and added the exception in the build tool to stop building with ARM compiler 5.
Impact of changes
With these changes, Arm compiler 5 build fails
Migration actions required
Upgrade the enviroment to use Arm Compiler 6 refer
Remove CPU usage example from CI build
Summary of changes
- Removed the CPU usage example from the Mbed OS build tool CI configuration as it's deprecated.
Impact of changes
With these changes, Mbed OS CI will no longer build CPU usage example on every PR check.
Ble driver set random static address
Summary of changes
This PR adds the function set_random_address
to the HCIDriver
class. It allows drivers writer to set the Random Static Address of the controller without using the deprecated API Gap:: setAddress .
This PR supersede #12235 .
MXRT1050 Flash support
Summary of changes
Add Flash support for MXRT1050
Cellular: Remove support for multiple ATHandlers
Summary of changes
This commit removes multi ATHandler
support from cellular. This has not been used and causes unnecessary complexity and memory consumption.
Memory statistics of mbed-os-example-cellular with NRF52840_DK + BG96:
GCC:
Total Static RAM memory (data + bss): 29360(+296) bytes
Total Flash memory (text + data): 130660(-832) bytes
ARM:
Total Static RAM memory (data + bss): 261554(+8) bytes
Total Flash memory (text + data): 127573(-1193) bytes
IAR:
Total Static RAM memory (data + bss): 25479(+296) bytes
Total Flash memory (text + data): 102418(-527) bytes
RAM increase is because now ATHandler
is no longer created with new -operator but is now member of AT_CellularDevice
, so image tool is able to count it. Actual total RAM consumption has decreased due to removed variables.
Impact of changes
Major changes:
- Dependency to FileHandle removed from base classes
AT_CellularDevice
owns the defaultFileHandle
and shares it with AT -classes- Controlling hang-up -detection moved as
CellularContext::configure_hup()
. Cannot be configured viaCellularDevice
any more.
Migration actions required
- Enabling hang-up detection is now configured using
CellularContext::configure_hup()
. CellularDevice::enable_hup() and context creation with BufferedSerial handle removed. Cellular will now automatically enable and disable HUP when switching between AT and PPP mode. CellularDevice::create_context()
no longer takesFileHandle
as parameterCellularDevice::get_file_handle()
removed.ATHandler::get_file_handle(
) can be used instead.
MIMXRT1050: Add Watchdog support
Summary of changes
Add WatchDog support for MXRT1050 EVK
Cellular: Remove API's empty default implemetations
Summary of changes
Cleanup the Cellular API by removing empty default implementations and making them pure virtual.
Targeted for release-version 6.0.0.
Impact of changes
- Classes inheriting
CellularDevice
will have to have implementation for the new pure virtual methods: clear()
get_context_list()
- Classes inheriting
CellularContext
do not have to have implementation for: get_netmask()
get_gateway()
if they do not differ from the NetworkInterface's default implemetations:
nsapi_error_t NetworkInterface::get_netmask(SocketAddress *)
{
return NSAPI_ERROR_UNSUPPORTED;
}
nsapi_error_t NetworkInterface::get_gateway(SocketAddress *)
{
return NSAPI_ERROR_UNSUPPORTED;
}
Migration actions required
See Impact of changes section.
Rename "default_lib" to "c_lib".
Summary of changes
- Rename
target.default_lib
totarget.c_lib
as it is more meaningful. These changes are done only for MBED OS 5 targets and in the build tool.
Impact of changes
With these changes, target.default_lib
attribute is no longer being supported.
Migration actions required
- The
target.c_lib
is the new attribute used for C library selection. The choice remains unchanged("std" or "small"
)
unittests: disable coverage report filtering
Summary of changes
Disable coverage report filtering because of poor results.
e.g. mbed test --unittests -r Socket --coverage html
g
This command will run all unittests with names containing Socket
and then create coverage report with the same scheme, filtering all source files with names containing Socket
.
The problem is that coverage report will be correct only when filtered test name will be the same as corresponding source file name (to be covered) - the same (-r) pattern is used to filter both test names and source file names used in coverage report
Due to described problems it was decided to disable coverage report filtering.
-r
will only filter test names and pattern won't be passed to coverage report generator.
Add KSZ8041 as a supported PHY for the LPC17xx series
Summary of changes
Adds the Microchip KSZ8041 PHY as a supported device for the LPC17xx series.
storage_abstraction: deprecated since Mbed OS 5.5 and now removed
Summary of changes
Removes deprecated API's under hal/storage_abstraction
and the folder itself. Only target which had implemented the functionality was K64F and the implementation gets removed with this PR.
Impact of changes
Removes deprecated storage_abstraction API.
Migration actions required
Migration not possible. Developers who were relying on this API should study Mbed OS Storage documentation.
Cellular: Remove friend definitions from cellular state machine
Summary of changes
Instead of defining which classes can access state machine, CellularStateMachine
class is now "a normal" CPP class with public API.
Impact of changes
This is potentially a breaking change but as CellularStateMachine
is only used internally there shouldn't be any impact.
Cellular: Remove deprecated CellularDevice::stop()
Summary of changes
Cellular: Remove deprecated CellularDevice::stop()
Impact of changes
Removed method CellularDevice::stop()
Migration actions required
CellularDevice::shutdown()
should be used instead.
Cypress: add SoftAP host tests
Summary of changes
Cypress: Initial commit of SoftAP host tests.
Basic SoftAP test with host as STA.
ESP8266: Add built-in hostname resolution handling (disabled by default)
Summary of changes
Fixes #11982 (some routers fail to work with the UDPSocket-approach, but are proved to work when ESP uses its embedded hostname resolution AT command).
The feature is disabled by default and can be enabled in mbed_app.json with "esp8266.built-in-dns": true
. When enabled then the synchronous hostname resolution will use the ESP's CIPDOMAIN
AT command, but asynchronous resolution will keep on using the UDPSockets as before (no point rewriting the nsapi_dns). Also caching does not work.
I tested with the netsocket-dns testsuite. Obviously caching tests often fail, but if lucky I can get 15/16 passes.
@zhiyong80, please verify if this works with your router.
Impact of changes
None, until user enables the esp8266.built-in-dns
option.
Add BufferedSerial class to replace UARTSerial
Summary of changes
Implement the BufferedSerial
class to replace UARTSerial
. BufferedSerial
is UARTSerial
renamed to convey the original purpose of the class. Also remove usage of UARTSerial
in Mbed OS Core diretories
Update Mbed TLS and Mbed Crypto to latest as of 2019-12-20
Summary of changes
Upgrade to Mbed TLS 2.20.0d1 and Mbed Crypto 3.0.0d0.
Thread: remove methods deprecated in 5.10
Summary of changes
Remove various Thread
methods that were deprecated in Mbed OS 5.10
Impact of changes
Code using the old methods will no longer compile
Migration actions req...
mbed-os-5.15.1
As we prepare for the release of the next major version of Mbed OS, we still need to ensure that the needs of partners and customers are met, so today we are releasing a patch release for Mbed OS 5.15 (Mbed OS 5.15.1) This release includes a mix of defect fixes required to support existing customers and the enablement of a small number of new targets to support marketing activities ahead of Embedded World later this month.
Our focus on the next major Mbed OS release continues and we’ll do our second alpha release next week.
Summary
In this release we have added the following targets:
- Samsung Exynos i S111
- NUCLEO_G071RB
- HANI_IOT
- NUCLEO-L552ZE-Q
We have fixed the following reported issues:
12361
OKDO odin driver - ARM in nightly error hciCmdAlloc not defined
12087
Bad AT+COPS command with plmn
12005
Build error with NUCLEO_H743ZI2 (Armc5, Mbed os 5.14)
There are also a number of other fixes and code improvements.
Known Issues
There are no new known issues with this release.
Contents
Ports for Upcoming Targets
12355
HANI_IOT: add new target board support
12106
Add Samsung Exynos i S111 target
12093
TARGET_STM: add support of board NUCLEO_G071RB
12306
STM32L5: NUCLEO-L552ZE-Q new target
Fixes and Changes
12377
Update psoc6cm0p asset to 1.1.0
12370
OKDO_ODIN_W2: Reenable lp-ticker and BLE
12355
HANI_IOT: add new target board support
12306
STM32L5: NUCLEO-L552ZE-Q new target
12167
Update Cypress Targets and Assets
12164
Pr dev/remove hardcoded timeout in cypress bt code
12147
mbed-coap uint16 overflow fix
12146
mbed-coap buffer overflow fix
12140
STM32 clean mbed_rtx.h file
12134
Fix LPC11U35_401 baremetal build
12126
Robustify equeue multithread unit test
12106
Add Samsung Exynos i S111 target
12093
TARGET_STM: add support of board NUCLEO_G071RB
12088
Cellular: Fix AT command for COPS manual network selection
12022
Make ESP8266 compatible with bare metal profile
12015
STM EMAC: compilation issue with ARMC5
Using this release
You can fetch this release from the mbed-os GitHub repository, using the tag "mbed-os-5.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-6.0.0-alpha1
We are pleased to announce the Mbed OS 6.0.0-alpha-1 release is now available.
Summary
This is our first engineering preview of Mbed OS 6.0 focusing on general cleanup and bug fixes. It contains everything that we worked on since December and was deemed ready to merge to master. Please note that this release intentionally breaks compatibility with Mbed OS 5 series. To find out more details please have a look at sections below.
Migration Guide
This section lists specific changes which are part of this release and may need special attention.
Cellular: Move string_to_pdp_type method to CellularContext
Summary of changes
string_to_pdp_type
is only used in CellularContext
classes and by having the conversion method in CellularContext it can be used also to check the non-standard Non-IP PDP type string.
Impact of changes
Migration actions required
Classes derived from CellularContext must implement new function:
virtual const char *get_nonip_context_type_str() = 0;
This API has already been implemented in AT_CellularContext though, so current code does not change.
Blockdevice config changes to make it possible to run littlefs filesystem tests
Summary of changes
Moves BlockDevice configurations used by SystemStorage as BlockDevice defaults. This makes it possible to use the defaults to execute littlefs filesystem tests.
Adds SPIF/QSPIF/SPIFReduced- and SDBlockDevice specific app configs for making it possible to run the forementioned tests.
Impact of changes
none
Migration actions required
Thread: remove constructors deprecated in 5.1
Summary of changes
Remove the immediate-start constructors deprecated in Mbed OS 5.1.
Impact of changes
Code using the old constructors will no longer compile
Migration actions required
Code using immediate-start Thread
constructors must be changed to use the Thread::start
method.
Remove unsupported folder
Summary of changes
Mbed OS was carrying the unsupported
directory for a long time. The main reason was
to enable users to benefit from some form of USB stack. Now when there
is a proper implementation of USB stack in Mbed I think it's time for
unsupported to go. If any other functionality present in this
directory will be needed it'll need to be introduced in Mbed OS
properly.
Impact of changes
As the name suggest 'unsupported' directory was unsupported, but it was there that means our community was free to use any of the functionality present. So in theory it is breaking change, even if the code was never properly supported.
Migration actions required
Removed functionality was never supported and its use was not recommended. If you used USB device mode, please port your code to use the supported version from drivers directory. If you need any other features please consider contributing it properly to Mbed.
Cellular: Refactor cellular variable visibilities
Summary of changes
Cellular: Refactor cellular variable visibilities
- Earlier some variables were public even though used only internally
- Also refactored variables to the end of class definitions
- Removed duplicate _property_array from CellularDevice
- Changed _impl methods as protected
Impact of changes
This can potentially be a breaking change but at least currently none of the existing mbed-os cellular targets required any changes.
Migration actions required
If customer wants to use some cellular variable marked as private, they need to inform @ARMmbed/mbed-os-wan and we can review the case.
ATHandler refactoring
Summary of changes
As ATHandler is part of Cellular's public API it is now moved to /API folder
Also some functions and variables are refactored to be private/protected where applicable
Also virtual cmd_start() (and destructor) method(s) devirtualised because not needed.
Unittests updated to reflect changes
Impact of changes
As ATHandler is part of Cellular's public API it is now moved to /API folder
Also some functions and variables are refactored to be private/protected where applicable
Also virtual cmd_start() (and destructor) method(s) devirtualised because not needed.
Migration actions required
Visibility of some methods have been changed in ATHandler and should not cause any issues if those were not used (as they shouldn't have been).
Also if include path has been used correctly for ATHandler.h there are no cahnges needed
ONME-4433 SocketAddress::operator== should also check port
Summary of changes
Currently SocketAddress::operator== does not check port number. Adding this check can be considered as a breaking change. Now SocketAddress::operator== checks port also. All greentests and unitests was checked and fixed.
Impact of changes
N/A
Migration actions required
N/A
Expose target_offset and header_offset parameters in targets.json
Summary of changes
The app_offset and header_offset parameters have always been a part of the target configuration parameters. However, they were intercepted by the tools and never exposed to the application. The new FOTA (update client next generation) functionality requires these parameters in the code as well now. So this PR adds them to targets.json file. The only result of this PR is the addition of these two macros into the code.
Note that the tools already expose the macros APPLICATION_ADDR and HEADER_ADDR having the same values. However, these macros are only available when the application is built with the bootloader. If it isn't, these macros aren't available, hence this PR.
This change is required for new fota client.
Impact of changes
None
Migration actions required
None
Enabling small C library option and deprecating uARM toolchain
Summary of changes
- In Mbed-OS 2-region memory model, ARM Std and Microlib scatter files are common
more info on https://github.com/ARMmbed/mbed-os/blob/master/docs/design-documents/platform/memory-model/ram_memory_model.md,
so replaced ARM Std scatter file 1-region memory model with Microlib scatter file 2 region memory model. - Moved the "__aeabi_assert" function from Microlib boot code file to mbed_retarget file so that it can be available for both RTOS Microlib and bare metal to resolve the undefined symbol linker issue.
- Copied ARM Microlib boot code into ARM std boot code and guarded with __MICROLIB. This is required in order to build a RTOS application with Microlib.
- Added a new target config "supported_c_libs" in targets.json and build tools to check if the selected "default_lib" is supported for the selected toolchain. If not the build tool will raise an exception.
- Added the new test suite for testing the build tool changes for default_lib and supported_c_libs.
- PR changes tested with blinky and blinky bare metal examples and greentea bare metal tests run locally.
Impact of changes
With these changes, uARM toolchain is being deprecated.
Migration actions required
As uARM toolchain is deprecated, the user has to redefine a supported_c_libs configuration with "small" for arm toolchain on the target in targets.json to enable Microlib support like
"supported_c_libs": {
"arm": ["std", "small"],
"gcc_arm": ["std", "small"],
"iar": ["std"]
}
and change the scatter file to the 2-region memory model see more info.
Instead of -t uARM, use default_lib with "small" in mbed_app.json configuration for ARMC6 toolchain.
cmsis: remove arm math
Summary of changes
Not needed file, should be part of DSP. The functionality is part of the library provided
by CMSIS.
I would like to test this, for all devices. This header file should be removed in 6.0.0 as we do not provide DSP library. Thus I set this as Major update.
Fixes #12054
Impact of changes
Applications should use CMSIS DSP package. As the order of includes is not defined in our tools, this might cause an error - hard to tell which cmsis math header was actually included. The removed math header we used in this code base was much older version.
Migration actions required
Use CMSIS DSP release (not part of Mbed OS at the moment) - the header file cmsis math is included there.
SharedPtr: add nullptr constructor
Summary of changes
For consistency with std::shared_ptr
, and mbed::Callback
, and as a
potential optimisation aid, give SharedPtr
a distinct constructor for
nullptr
.
Impact of changes
- Optimise clearing by adding
nullptr
overload.
Migration actions required
- The added
nullptr
overload meansSharedPtr(NULL)
orSharedPtr(0)
will no longer work; users must useSharedPtr(nullptr)
orSharedPtr()
.
Add MBED_FALLTHROUGH attribute
Summary of changes
C++17 standardised [[fallthrough]]
for switch
statements to suppress compiler warnings. Provide ac...
mbed-os-5.15.0
We are pleased to announce the Mbed OS 5.15.0 release is now available.
Summary
This is the last planned minor release from the Mbed OS 5 series and, as such, doesn't contain many new features. We focused on fixing issues and working on quality and size improvements.
We put a lot of effort into networking, working on various improvements to Wi-SUN, Cellular and DNS, as well as BG96 and ESP2866 modules drivers. We also introduced support for offloading TLSSockets to an external hardware module.
We updated our tools to support Python 3, so they are ready for the imminent end of life of Python 2.7.
We introduced the static pin map extension to the HAL layer, which allows developers to save memory by selecting the used pins at compile time.
We also updated our code base and infrastructure to use the newest versions for compilers: GCC9 and Arm Compiler 6.13.
Migration guide
This section lists specific changes that are part of this release and may need special attention.
Add support for Wi-SUN RF channel configuration
Summary of changes
Added support for Wi-SUN RF channel configuration options to Wi-SUN tasklet.
Impact of changes
Wi-SUN RF channel .json options have effect on channel configuration, and they need to be valid.
Migration actions required
Default configuration used with Wi-SUN should be that none of the settings affected by this pull request are set, and Wi-SUN will use the defaults for them.
If application .json configuration file has any of the these settings defined:
wisun-uc-channel-function
wisun-bc-channel-function
wisun-uc-fixed-channel
wisun-bc-fixed-channel
wisun-bc-interval
wisun-bc-dwell-interval
wisun-uc-dwell-interval
they need to be removed or checked for validity.
Remove string-based API usage within mbed-os
See #11914 for deprecation information. This PR provides SocketAddress
-based APIs if they were missing after previous changes but does not remove the old APIs.
Summary of changes
New SocketAddress
based API added to ESP8266
module, anticipating future string-based API removal.
Impact of changes
None.
Migration actions required
None.
Updates to tools for Python 3 compatibility
Python 3 is now supported by the tools.
Summary of changes
No functional changes, code should be equivalent.
Impact of changes
Code should be Python 3 compatible.
Migration actions required
None.
Deprecate string-based APIs in IPCore
This is NOT a breaking change, but it is worth notifying all API users that the string-based APIs are going to be removed soon.
Summary of changes
The following API functions are being deprecated and will be removed in Mbed OS 6:
TCPServer (whole class is deprecated already)
TCPSocket::connect(const char *host, uint16_t port);
TLSSocket::connect(const char *host, uint16_t port);
DTLSSocket::connect(const char *host, uint16_t port)
InternetDatagramSocket::sendto(const char *host, uint16_t port, data, size);
InternetSocket::bind(const char *address, uint16_t port);
L3IP:add_ipv4_multicast_group(const char *address);
L3IP:add_ipv6_multicast_group(const char *address)
L3IP:remove_ipv4_multicast_group(const char *address);
L3IP:remove_ipv6_multicast_group(const char *address)
NetworkInterface::get_ip_address()
NetworkInterface::get_netmask()
NetworkInterface::get_gateway()
NetworkInterface::set_network(const char *ip_address, const char *netmask, const char *gateway)
NetworkStack::get_ip_address()
NetworkStack::get_ip_address_if()
Impact of changes
Code gives deprecated
warnings whenever old API is used.
Migration actions required
Switch to the new SocketAddress
based API.
Bring static pin map extension to master
Summary of changes
- Provide types that will hold static pin maps for peripherals (
PWM
,AnalogIn
,AnalogOut
,SPI
,I2C
,UART
,QSPI
,CAN
). - Provide
xxx_init_direct(xxx_t *obj, static_pinmap_t *)
functions to HAL API (these functions will not use pin map tables). - Provide additional constructors in drivers layer, which will use the
xxx_init_direct(xxx_t *obj, static_pinmap_t*)
HAL functions. - Provide default weak implementations of
xxx_init_direct(static_pinmap_t *)
functions. These functions will call standardxxx_init(xxx_t *obj, PinName, ...)
function (backward compatibility for targets that don't support static pin map mechanism). - Provide
constexpr
utility functions to look up for pin mapping in compile time (requires C++14). - Initialize console using static pin map mechanism, so
hal\mbed_pinmap_common library
is not needed and can be removed. - Modify FPGA tests to verify
xxx_init_direct(xxx_t *obj, static_pinmap_t*)
APIs.
Make SMS configurable in Cellular stack
Summary of changes
Cellular stack now has configurable SMS support. This is added to Cellular mbed_lib.json. It is enabled by default for backward compatibility.
Impact of changes
If one does not need SMS, disable it in mbed_app.json to decrease the application footprint.
Migration actions required
None.
mbed_retarget: Add a minimal console implementation to provide basic functionalities
Summary of changes
Add a minimal console implementation in mbed_retarget
to provide basic console functionalities.
A new configuration parameter platform.stdio-minimal-console-only
has been added to select it.
Impact of changes
Smaller memory footprint for applications that only require basic console functionalities.
Migration actions required
None.
Deprecates NVStore
Summary of changes
NVStore is marked as deprecated.
Impact of changes
NVStore won't be available from the next major release onward.
Migration actions required
Users must switch to use KVStore. For documentation, please see Docs APIs Storage KVStore .
Update to Mbed TLS 2.20.0d0 and Mbed Crypto 2.1.0d0
What is breaking?
The PSA Crypto secure element (SE) driver API - an additional parameter (a persistent data pointer) is now also passed to the slot validation for the driver to use.
Why is this breaking?
Mbed OS tracks the unstable PSA Crypto API. This particular break is to enable drivers to modify persistent data during slot validation.
Migration
Users implementing SE drivers should add an additional void *persistent_data
parameter to the slot validation callback, regardless of whether the persistent_data
will be used or not.
Old | New |
---|---|
psa_drv_se_validate_slot_number_t did not have a modifiable persistent_data parameter |
psa_drv_se_validate_slot_number_t now has a modifiable persistent_data parameter |
New declaration of psa_drv_se_validate_slot_number_t
:
typedef psa_status_t (*psa_drv_se_validate_slot_number_t)(
psa_drv_se_context_t *drv_context,
void *persistent_data,
const psa_key_attributes_t *attributes,
psa_key_creation_method_t method,
psa_key_slot_number_t key_slot);
Old declaration of psa_drv_se_validate_slot_number_t
:
typedef psa_status_t (*psa_drv_se_validate_slot_number_t)(
psa_drv_se_context_t *drv_context,
const psa_key_attributes_t *attributes,
psa_key_creation_method_t method,
psa_key_slot_number_t key_slot);
Check return of BlockDevice::init() in TDBStore.
TDBSTore::init()
is now allowed to return error codes from underlying BlockeDevice.
Previously, the API was limited to return only MBED_ERROR_READ_FAILED
or MBED_ERROR_WRITE_FAILED
, which might have hidden the actual error code from the device.
Now, the application will get the original return value passed from BlockDevice.
modified Wi-SUN tasklet to return success when calling connect twice
Summary of changes
As stated in the Mesh API documentation, we should return the status NSAPI_ERROR_IS_CONNECTED if connect is called twice. This PR (11556) fixes it.
Impact of changes
If connect method is called twice, a different status code is returned.
Migration actions required
Implementations that rely on NSAPI_ERROR_DEVICE_ERROR status code when calling connect twice as their recovery method need to change the handling to the correct status NSAPI_ERROR_IS_CONNECTED.
Enable DER coded certificate support to Wi-SUN mesh API
Added support for DER formatted certificates and keys to Wi-SUN certificate API.
DNS manual cleanup mechanism added
Add nsapi_dns_reset()
function to be able to clear a DNS cache when it is not needed anymore.
ESP8266 unlocks deep sleep when disconnected
This release contains changes for ESP8266.
UART input is enabled and deep sleep is locked:
- If module is connected to the network.
- For operations which communicate with the devic...
mbed-os-5.14.2
We are pleased to announce the Mbed OS 5.14.2 release is now available.
Summary
In this release we have added the following targets:
- CY8CKIT_064S2_4343W
- DISCO_H747I (CM7 core)
- DISCO_H747I_CM4 (CM4 core)
- CYW9P62S1_43012EVB_01
As an exception to our normal patch release rules we have added a new API called get_ipv6_link_local_address in NetworkInterface class. This API returns IPv6 link local address.
The QSPI interface permits the alt (aka mode) bits to be any multiple of the bus width. Previously the values
in qspi_alt_size_t only supported multiples of bytes. This has been fixed in this release. This is a backwards
compatible change as compatibility macros are provided for the old qspi_alt_size_t values.
We have updated LittleFS to v1.7.2. The release notes for this change can be found here:
- v1.7.2: https://github.com/ARMmbed/littlefs/releases/tag/v1.7.2
- v1.7: https://github.com/ARMmbed/littlefs/releases/tag/v1.7.0
The Cypress WiFI Host Driver (WHD) has been updated to version 1.40. This includes the following changes:
- Security fix (KRACK all-zero-key)
- Fixed Wi-Fi connection issue after receiving DISASSOC_IND messages
- Fixed ioctl buffer length overflow
- Added API input argument checks
It should be noted that the base target name for NU_PFM_M2351_CM has been changed to NU_PFM_M2351 in this release.
We have fixed the following reported issues:
- 11530 Gaps in QSPIFBlockDevice SFDP Implementation
- 11413 Board will not enter Deep Sleep after communications with Cell Module
- 11606 Cellular: Cannot use private _is_connected flag.
- 11633 QSPIF general_block_device test is failing on EFM32GG11_STK3701
- 11659 STM32F767ZI - I2C FastModePlus not properly enabled
- 11674 STM trng_api uses always RCC_RNGCLKSOURCE_PLL
- 11361 Sleep/deepsleep and Serial class
- 11565 Profiles contain RTX symbol (bare metal error)
- 11442 UDPSocket::sendto does not work with ipv6 and local-link interface addresss
- 11643 Cypress GPIO pull mode tests fail on CY8CKIT_062_WIFI_BT
- 11545 DISCO-L475VG-IOT01A lp_timeout test fails CI on IAR
- 11769 Cypress: PWM FPGA test wrong assert
- 11778 EventQueue: impossible to cancel event with negative unique id
- 11758 Using rawSerial adds about 600A
- 11795 Cypress: SPI FPGA test: tester always respond 0 when MODE other then 0
- 10342 USBMSD not recognised in MacOS
- 11652 The online compiler fails to build the Xadow-M0 target with MBED2 rev. 142 and later.
- 11746 AnalogIn test issue
- 11768 BLE: Security Manager doesn't restore saved security parameters
We have also:
- Added FLASHIAP component support to DISCO_H747 and NRF52840_DK
- Enabled MBED_TICKLESS for MCU_PSOC_M4
- Added support for the Watchdog on nRF52 devices
- Added bootloader support for Seeed Arch-MAX
- Added iar exporter support for TT_M3HQ and TT_M4G9
- Enabled RESET_REASON and WATCHDOG for EFM32GG11_STK3701
There are also a number of other fixes and code improvements.
Known Issues
There are no new known issues with this release.
Contents
Ports for Upcoming Targets
11715
Add CYW9P62S1_43012EVB_01 board
11605
DISCO_H747I dualcore support
11434
Initial addition of files to support CY8CKIT_064S2_4343W target
Fixes and Changes
11902
Cellular: Enable ePCO IE for BG96 driver
11872
Change mbed-os-example-wifi to build only DISCO_L475VG_IOT01A
11871
TESTS: Add socket.set_timeout in udpsocket_echotest
11869
IOTSTOR-978: Skip a unstable testcase until fixed
11861
Replace calls to printf() with mbed-trace in netsocket tests
11859
Cellular: Fix queue scheduling for bare metal
11854
ATHandler build warning fixed
11850
Correct PB_6/PB_7 Serial AF mapping
11848
Remove ITM Trace support from Arduino Nano 33 BLE
11844
EFM32: Enable RESET_REASON and WATCHDOG for EFM32GG11_STK3701
11843
Fix ethernet memory handling issues on CM3DS
11840
Update Cypress WifiHostDriver to version 1.50
11836
Add sender address and port verification to UDPSOCKET_ECHOTEST
11834
Fix flag checks to allow disabling unsecure tests
11833
TESTS: turn off blinky log compare test due to example changed
11831
BLE: Added call to delete the security database object upon SM reset.
11830
Cypress: Add implementation of free() for gpio
11828
MCU_LPC11U35_501: fix MCU inheritance
11823
IOTBTOOL-333: Fix SimpleQueue build failure on py3
11822
TLSSOCKET_HANDSHAKE_INVALID test skip if DNS AAA record not available.
11818
Adding baud rate setting to TLS and UDP echo burst tests
11816
Fix failure of building non-RTOS for GR-PEACH, GR-LYCHEE and VK-RZ/A1H
11815
Updated targets.json file to go along with pr-11770
11814
USBMSD: implement MODE SENSE (10) command
11813
Fix ARM issue 11795: - Cypress: SPI FPGA test: tester always respond
11810
SecureStore: Add member initializers for inc_handle_t
11800
Update common Cypress libraries
11797
IOTSTOR-953: Fix address calculations from SlicingBlockDevice
11790
nrf52: reset UARTE peripheral in serial_free
11782
equeue: avoid non-standard bit shifts
11780
Nuvoton: Add implementations of HAL API i2c_free and analogin_free
11777
IOTBTOOL-377: Fix scatter file include path online
11776
Fix for issue #11769 (Cypress: PWM FPGA test wrong assert)
11775
LPC55S69: fix serial_set_flow_control
11772
Cellular: updated cellular context flags and cid in ublox-api
11770
Update CM0P pre-built images to build 1.0.0.35
11767
Increase STM32 default deep sleep latency to 4ms
11765
Cypress: fix GPIO mode NONE
11763
Display full path of generated coverage output from unittests.
11759
STM32 QSPI: Use defines for setting address size
11756
Add option to use CCMRAM on F303xE.
11754
Cellular: Added write_hex_string to AT handler
11752
FlashIAP: Get erase value from HAL instead of hardcoding it
11749
M2351: Change base target name 'NU_PFM_M2351_CM' to 'NU_PFM_M2351'
11748
Fix spurious link up/down when AP IP address range change
11747
Update the internal kvstore flash reservation size to from 7k to 65K for Cypress Devices
11743
fpga i2c test: limit tested peripherals
11742
Fix the reset_reason host test in the CI
[11739](https://github.com/ARMmbed/mb...
mbed-os-5.14.1
We are pleased to announce the Mbed OS 5.14.1 release is now available.
Important note about this patch release
The Nanostack RF driver has been updated and as an exception to our normal release protocol, contains
a breaking change.
Summary of changes
4-octet FCS which follows IEEE Std 802.15.4-2015
Bug fix related to channel spacing configuration
Impact of changes
This release contains version of a S2-LP driver which is not inter-operable with previous versions of the driver.
Migration actions required
To make previous version (Mbed OS 5.14.0) of the S2-LP driver inter-operable with this release, following changes are needed.
/components/802.15.4_RF/stm-s2lp-rf-driver/source/NanostackRfPhys2lp.cpp
@@ -553 +553 @@ static void rf_init_registers(void)
- rf_write_register_field(PCKTCTRL1, PCKT_CRCMODE_FIELD, PCKT_CRCMODE_0X1021);
+ rf_write_register_field(PCKTCTRL1, PCKT_CRCMODE_FIELD, PCKT_CRCMODE_0x04C11DB7);
@@ -556,0 +557 @@ static void rf_init_registers(void)
+ rf_write_register_field(PCKTCTRL2, PCKT_FCS_TYPE_FIELD, PCKT_FCS_TYPE_4_OCTET);
@@ -1001,0 +1003 @@ static void rf_receive(uint8_t rx_channel)
+ rf_channel_multiplier = 1;
/components/802.15.4_RF/stm-s2lp-rf-driver/source/s2lpReg.h
@@ -251,0 +252,3 @@ extern "C" {
+#define PCKT_FCS_TYPE_FIELD 0x20
+#define PCKT_FCS_TYPE_4_OCTET (0 << 5)
+#define PCKT_FCS_TYPE_2_OCTET (1 << 5)
@@ -255,0 +259 @@ extern "C" {
+#define PCKT_CRCMODE_0x04C11DB7 (5 << 5)
Summary of changes
In this release we have added the following targets:
- NUMAKER_M252KG
- ST DISCO-H747I
- OKDO
- TARGET_CY8CPROTO_063_BLE
- MTS_DRAGONFLY_F413RH
Cypress targets have been updated to the latest PSoC 6 CSP (HAL, RTOS abstraction, Resource Abstraction).
This update includes:
- Minor bugfixes/code cleanup
- Re-organization of resource/rtos abstraction folder structure
- Documentation improvements
The Cypress Specific HCI Cordio Driver has also been updated to add:
- MCU and BT device low-power support
- HCI UART enhanced to work at 3M baud rate for improved BT performance. In order to put the UART interface at 3M baud rate the state machine for initialization has been modified
- Updated BT device-wake pin drive mode from input to output mode to be able wake up the BT device from low-power state when needed
- Added delays to BT device wake de-assert function to ensure that UART data is drained
We have provided an STM32H7 ST CUBE V1.5.0 update. The main impact of this update is the introduction of a
Cortex-M4 instruction cache through ART accelerator.
We have had to disable tickless mode on UBLOX_EVK_ODIN_W2 as it appears to cause crashes in WiFi tests (Issue #11557).
It will be re-enabled once this has been addressed.
This release also includes a Nanostack update to v11.3.0. This includes coap-service updates and
bug fixes to the Wi-SUN protocol.
We have fixed the following reported issues:
- 11295 QSPIFBlockDevice does not differentiate between mode (alt) and dummy cycles
- 11362 Pin speed control
- 11496 iar export: multiple -O in the project - fails to build
- 10854 Mbed Os 5.12.4 ATHandler::resp_stop
- 11508 LSI as RTC clock source on certain STM targets
- 10880 VREFINT_CAL_ADDR wrong address for MTB_RAK811
We have also:
- Added an initial implementation of Cypress Crypto hardware acceleration for mbedTLS
- Re-enabled GCC/ARMCC support for RTL8195AM
- Enabled asynchronous serial with DMA for K66F
- Added flow control (IFC) into the BG96 AT driver
There are also a number of other fixes and code improvements.
Known Issues
There are no new known issues with this release.
Contents
Ports for Upcoming Targets
11573
Add 413 dragonfly
11561
Add TARGET_CY8CPROTO_063_BLE
11407
Add OKDO platform
11384
ST DISCO-H747I introduction
11176
Support Nuvoton target NUMAKER_M252KG
Fixes and Changes
11678
Travis CI: Fixed issue where jobs are getting stalled/timing out
11649
Fix memory leak on NetworkInterface destruction
11647
Nanostack RF driver updates for Mbed OS 5.14.1
11639
Nanostack patch release for mbedos 5.14.1
11638
Change imgtool lib import to relative import
11628
Make devicekey remainder test more meaningful
11627
pinmap_peripheral function: update error code for easier debug
11626
DISCO_L4R9I: update default STMOD+ pin
11625
Revert tickless on UBLOX_EVK_ODIN_W2
11621
STM32L151: update calibration memory address
11618
Cellular: Fix CellularStateMachine to not loop between init/power states
11616
Cellular: Setting timeout before send command in gethostbyname.
11615
Cellular: Remove old deprecated tests
11612
IPCore unittests improvements
11607
Tests: USB: Move control endpoint buffers to heap
11601
DNS tests modification for ESP8266-specific scenario
11598
AT_CellularDevice.cpp - unused variable err warning
11597
Missing errno.h include
11596
LoRa: Fix build warning about _ongoing_tx_msg
11590
Moved Cypress TriggerMux initialization out of the HAL and into the BSP
11589
Enable PSA tests for fastmodel
11587
ATCmdParser doxygen header's documentation update for scanf
11585
NRF52: Fixed missing guard in port_api.c
11583
STM32H7 ST CUBE V1.5.0 update
11582
TEST: change integration fs test format and mount order
11581
Cellular: Fix setting of PDP context ID (cid)
11573
Add 413 dragonfly
11572
Tighten GCC 2-region _sbrk
11568
Speed up unit test build with parallel jobs
11567
Simplicy QSPIF target overrides for PSoC6
11566
EP_AGORA: Add config logic to enable BLE, cell, and LoRa by default
11564
Fix ARMC6 linker error for the bare metal profile
11562
STM32H7: memory relocation
11561
Add TARGET_CY8CPROTO_063_BLE
11560
Explicitly set tdb internal flash size for PSoC6 Targets
11558
Coverity fixes
11548
Cellular: Fix resolving of DNS server IPv4/6 address
11546
Tests: USB: Fix Python 3 compatibility
11542
Update Cypress targets
11541
esp8266 oob* : recv() brought back where it was needed
11540
Tests: USB: Update error handling in basic tests
11538
Cellular: Enable IPV6 for WISE_1570
11534
Cellular: Handle SEND FAIL and ERROR response
11529
PSOC6: update to PDL 1.3.1
11525
STM32WB/STM32H7 : LSI selection when LSE is not available
11523
Correct force inline syntax for IAR compiler
11518
Cypress Cordio Driver Update
11517
TCP Packet loss happens due to running of out of Mailbox size.
11516
Update to latest psoc6csp
11499
Cellular: Fix stop tag for Quectel M26 send command
[11498](https://github.com/ARMmbe...
mbed-os-5.14.0
We are pleased to announce that the Mbed OS 5.14.0 release is now available.
Summary
This release continues to improve and stabilize Mbed OS. We added a static mode for the event queue, which doesn't require using dynamic memory. This aligns the event queue's memory usage with other parts of the system, including RTOS. You can still use dynamic memory, but if you are worried about memory fragmentation or know your memory requirements upfront you can only rely on static memory. We updated the version of C++ standard to C++14, to leverage modern features of the language. We implemented multiple changes to our connectivity, including PPP support for the Nanostack and enterprise security for WiFi. A big item that we started working on is splitting our public interfaces from the internal code; the work for the OS core is done, and we'll continue this work in future releases for other parts of the system. It will add clarity and help our users use only public and stable APIs. We introduced a minimal version of the standard library printf family calls, which addresses most of the common use cases in a fraction of the memory footprint. We continued to update our PSA support to track the upstream development in PSA and Trusted Firmware. We doubled our effort in tracking and fixing Coverity warnings, reducing the number by 50%.
Compatibility
This release is compatible with Device Management Client 4.0.0
Migration Guide
This section lists changes that may require your attention.
Update Mbed OS for PSA Crypto API 1.0b3
Background
Mbed Crypto is our implementation of the PSA Crypto APIs. We shipped an implementations of prerelease versions of the PSA Crypto API in Mbed OS 5.11, 5.12, and 5.13, with a warning in the documentation that these APIs were subject to change and that we did not intend to maintain backwards compatibility with them. The PSA Crypto API has continued to develop and change over the past few months and a number of breaking changes have been made since the pre-release version we based our Mbed Crypto implementation on.
What is being broken?
The PSA Crypto APIs in Mbed OS as shipped in Mbed OS 5.13 are breaking.
PSA Crypto API 1.0b3 API breaking changes, addressed in Mbed OS 5.14 (see #11315)
- Use key attributes structures for key creation
- Make generating or importing a key also allocate the key
- Update key derivation functions to accept chunked inputs
- Update key agreement API
- Align PSA Crypto error codes with other PSA error codes
- Rename functions for consistency with each other and the rest of PSA
- Be consistent in use of stdint types
Expected PSA Crypto API 1.0 API breaking changes, to be addressed in the next Mbed OS release
- None
Why is it being broken?
Mbed Crypto needs to track the upstream PSA Crypto API as maintained by ATG in order to pass ATG's PSA Compliance Kit tests. The PSA Crypto API was not yet finalized in Mbed OS 5.13 and continues to evolve. We shipped an implementation in Mbed OS 5.13 to enable other teams working on Mbed OS to develop their services a top APIs that should be mostly similar to the final APIs, rather than save up all the integration pain for a later Mbed OS release when the APIs are finalized.
Analysis of impact on users
There should be no surprises to users based on our statements of PSA API instability. We've worked with Mbed TLS, Pelion Client, Storage (ITS), SPM, and Attestation teams to ensure the message of API instability was understood and to coordinate our changes to the API. There are potentially other users of the PSA Crypto API, and our documentation states the stability level of the API for these users.
Alternatives
We could continue to provide the version of the PSA Crypto API shipped with Mbed OS 5.13, but to save flash size and reduce the maintenance burden of maintaining an API we clearly communicated we'd be breaking in the next release, this was deemed not worth the cost.
Mitigation and migration path for users
Users must update to use the new version of the API.
Renaming of key pair names
Replace KEY_PAIR
in names that would have used KEYPAIR
in the previous API version. For example, PSA_KEY_TYPE_ECC_KEY_PAIR
replaces PSA_KEY_TYPE_ECC_KEYPAIR
.
Using persistent keys
Use psa_open_key()
to open a persistent key. Previously, volatile keys could also be opened. With PSA Crypto API 1.0b3, keys are implicitly opened for you upon import, generation, or derivation.
psa_status_t psa_open_key(psa_key_id_t id,
psa_key_handle_t *handle);
Only persistent keys can be opened, so there is no need to pass the lifetime anymore.
It is no longer necessary to call psa_create_key()
to make a key persistent. A key is persistent if it is created with a lifetime other than PSA_KEY_LIFETIME_VOLATILE
. As part of key creation, use psa_set_key_id()
to set both the key's persistent identifier and to set the lifetime to persistent and then call the key creation routine: like psa_generate_key() or psa_import_key()
Old | New |
---|---|
psa_open_key() |
Only use for opening previously created persistent keys |
psa_create_key() |
psa_set_key_id() Keys with IDs are made persistent implicitly upon creation |
Allocating keys
Key creation will implicitly allocate resources as necessary, so psa_allocate_key()
has been removed from the API and is no longer needed.
Old | New |
---|---|
psa_allocate_key() |
Not necessary. Delete calls to psa_allocate_key() . |
Importing keys
Previously, you had create a policy structure and pass many function arguments to communicate the properties you wanted the imported key to have. Now, you describe them entirely within the attributes structure, passing only the attributes and data to psa_import_key()
.
Old | New |
---|---|
psa_key_policy_init() |
psa_key_attributes_init() |
psa_key_policy_set_usage() |
psa_set_key_usage_flags() , psa_set_key_algorithm() |
Pass key type to psa_import_key() |
psa_set_key_type() |
psa_set_key_policy() |
Pass the attributes to psa_import_key() |
psa_import_key() |
psa_import_key() |
Generating keys
Previously, you had create a policy structure and pass many function arguments to communicate the properties you wanted the imported key to have. Now, you describe them entirely within the attributes structure, passing only the attributes and data to psa_generate_key()
.
Old | New |
---|---|
psa_key_policy_init() |
psa_key_attributes_init() |
psa_key_policy_set_usage() |
psa_set_key_usage_flags() , psa_set_key_algorithm() |
Pass key type to psa_import_key() |
psa_set_key_type() |
psa_set_key_policy() |
Pass the attributes to psa_import_key() |
psa_generate_key() |
psa_generate_key() |
Reading key policy or information
What used to be two functions with many parameters each is now one function that returns the attributes in one structure, in the same format you'd use to create new keys.
Old | New |
---|---|
psa_get_key_policy() , psa_get_key_information() |
psa_get_key_attributes() |
Deriving keys
The previous "generator" class of functions has been renamed to "key_derivation". The psa_crypto_generator_t
structure was previously used to derive keys. Use of the psa_key_derivation_operation_t
structure replaces psa_crypto_generator_t
for deriving keys.
Old | New |
---|---|
psa_crypto_generator_t |
psa_key_derivation_operation_t |
psa_generator_abort() |
psa_key_derivation_abort() |
psa_get_generator_capacity() |
psa_key_derivation_get_capacity() |
Function parameter | psa_key_derivation_set_capacity() |
psa_generator_read() |
psa_key_derivation_output_bytes() |
Use of generator with PSA_ALG_SELECT_RAW |
psa_raw_key_agreement() |
psa_key_derivation() |
Deriving keys now uses key derivation objects and consists of multiple parts. See the getting started guide for details. |
Key agreement
Old | New |
---|---|
psa_key_agreement() |
psa_key_derivation_setup() , psa_key_derivation_key_agreement() , psa_key_derivation_output_key() |
Hashing
Note: Not yet implemented
The PSA Crypto API 1.0b3 adds a few new functions to help with hashing. Specifically, functions to perform one-shot computation or comparison of hashes.
Old | New |
---|---|
Many hash function calls | psa_hash_compute() |
Many hash function calls | psa_hash_compare() |
Computing or verifying a MAC
Note: Not yet implemented
The PSA Crypto API 1.0b3 adds a few new functions to help with working with MACs. Specifically, functions to perform one-shot computation or comparison of MACs.
Old | New |
---|---|
Many MAC function calls | psa_mac_compute() |
Many MAC function calls | psa_mac_verify() |
Symmetric cryptography
Note: Not yet impleme...
mbed-os-5.13.4
We are pleased to announce the Mbed OS 5.13.4 release is now available.
Summary
In this release we have added the following targets:
- CC3220SF_Launchxl
- Arduino Nano 33 BLE
mbed-coap has been updated to version 4.8.1. This brings the following changes:
- Store ACK's also into duplicate info list.
- ROM size optimization. Flash size has gone down ~1100 bytes.
- IOTCLT-3592 - Client does not handle Duplicate ACK messages during blockwise registration correctly, issue closed
We have fixed the following reported issues:
- 11175 Watchdog issue with timeout
- 10198 FATFileSystem::stat() function broken with IAR
- 11143 TT_M3HQ fails to compile with mbed-os master
We have also:
- Enabled MBED_TICKLESS on K22F, K64F, K66F, K82F, KL82Z, KW24D, KW41Z, MIMXRT1050 and HEXIWEAR
- Added SPISlave, SPI_ASYNCH, I2CSlave, I2C_ASYNCH and RTC features to Toshiba's TMPM46B
- Added TRNG support for MIMXRT1050_EVK
- Implemented Watchdog & Reset Reason for LPC1768 targets
- Updated MCUXpresso SDK SPI drivers
- Add ethernet support for NUCLEO_H743ZI
- Added FlashIAP and USBDEVICE support for K22F
There are also a number of other fixes and code improvements.
Migration Guide
This section lists specic changes which are part of this release and may
need special attention.
Allows placing KVStore and update images on separate storage devices - to internal and external flash
Fixes TDB_INTERNAL configuration - makes possible to have the KVStore inside internal flash while update images are kept in an external storage.
Known Issues
There are no new known issues with this release.
Contents
Ports for Upcoming Targets
11137
Add Arduino Nano 33 BLE target
11063
Add CC3220SF_Launchxl to Mbed OS
Fixes and Changes
11284
K22: Add USBDEVICE support
11282
K22F: Add FlashIAP for storage
11280
Tweak stm_spi_api Coverity warning.
11274
Add ethernet support on NUCLEO_H743ZI board
11273
Fix Coverity uninitialized pointer field Thread.h
11270
Update mbed-coap to version 4.8.1
11268
Update MCUXpresso SDK SPI drivers
11267
NXP MCUXpresso: optimize us_ticker for LPC platforms
11261
MCUXpresso: Add TICKLESS support for LPC platforms
11260
Typo in USBSerial.h function prevents compilation
11259
FATFS / IAR compilation issue Pe029
11255
Update NVRAM image for target CY8CMOD-062S2-43012
11250
hal fhss timer: removed unnecessary and potentially unsafe memset
11243
Python3 fixes
11241
LoRaWAN: Terminate RX when receiving uplink messages
11237
Fix TT_M3HQ build problem
11231
Python3 fixes
11226
LPC1768 Watchdog & Reset Reason
11222
BLE: fix recursive call
11216
BLE: make advertising data parser handle early termination
11215
LPC1768: Make use of the other 32K of RAM
11204
BLE: add nonscannable connectable type
11194
Greentea testing wifi connect nonblocked
11193
FATFileSystem::stat() enabled for all compilers
11189
__cplusplus guard fixed pwmout_device.h for STM32 families
11188
MIMXRT1050_EVK: Add TRNG support
11183
M252KG: Fix kvstore-static_tests failing with OOM
11180
tweak atomic_test timeout
11178
ST: Watchdog: Fix timeout registers value calculation
11172
make watchdog kick reset test pass CI (LSI problem)
11171
Add Nuvoton M261 sub-family into arm_pack_manager
11169
TLSSocketWrapper::recvfrom sets SocketAddress output variable
11167
Fix lp ticker and common ticker tests
11166
Fix inclusion of test related directories by build tool
11165
Allows placing KVStore and update images on separate storage devices - to internal and external flash
11157
Relax us ticker frequency requirement + test update
11137
Add Arduino Nano 33 BLE target
11127
Fix ANALOGIN support for LPC55S69
11118
Add new features to Toshiba's TMPM46B
11116
Define IC related pin names for the L-Tek FF_LPC546XX target
11063
Add CC3220SF_Launchxl to Mbed OS
11021
Nuvoton: Enlarge LPTICKER_DELAY_TICKS for safe
11020
Nuvoton: Enlarge required deep sleep latency
10796
NXP: Enable MBED_TICKLESS on various NXP platforms
Using this release
You can fetch this release from the mbed-os GitHub repository, using the tag "mbed-os-5.13.4".
If you need any help with this release please visit our support page, which provides reference links and details of our support channels.
mbed-os-5.13.3
We are pleased to announce the Mbed OS 5.13.3 release is now available.
Summary
In this release we have added the following targets:
- CY8CKIT_062S2_43012
We have fixed the following reported issues:
- 10912 How to reset Cellular network interface?
- 9850 GREENTEA can't compile if DEVICE_SERIAL is not enabled
We have also:
- Added a USB device implementation for PSOC6
- Added the missing serial_free() implementation for FUTURE_SEQUANA
- Fixed rom start & size for CY8CKIT_062_WIFI_BT & CY8CPROTO_062_4343W
- Added crash capture support to STM32F413 targets
There are also a number of other fixes and code improvements.
Migration Guide
This section lists specific changes which are part of this release and may
need special attention.
Known Issues
In this release the release version block in mbed_version.h was not updated correctly and still points
to mbed-os-5.13.2.
Contents
Ports for Upcoming Targets
Fixes and Changes
11179
Zero initialise all NVStore&kvstore members
11173
Coverity and compilation warnings fixes
11168
Xpresso: qspi_write fix
11163
Bring back SPIF module-specific debug logs
11162
Add DNS servers from cellular PDP to nsapi
11161
Fix include path issues on NRF5x with Cordio
11160
Nuvoton: Remove dead code nu_delay_cycle_x4
11151
Fix PSoC 6 inout pins
11150
__cplusplus guard fixed pwmout_device.h for STM32F4
11141
freescale: fix i2c_byte_read function
11139
STM32F413 Crash Capture
11138
fix rom start & size for CY8CKIT_062_WIFI_BT & CY8CPROTO_062_4343W
11132
Fix MBED_ASSERT for UTs
11131
FUTURE_SEQUANA: Add missing serial_free() implementation
11130
Updated testcases
11123
NRF52 need to call TIMER_TASK_SHUTDOWN for current consumption
11103
STM32F7: Do not generate redundant IN tokens
11101
PSoC 6 I2C and SPI driver updates
11086
Mbed-os compile without DEVICE_SERIAL
11080
Add target for CY8CKIT_062S2_43012
11071
PSOC6: USB device implementation
11066
Cellular: Fix cellular statemachine stop and BG96 power up
Using this release
You can fetch this release from the mbed-os GitHub repository, using the tag "mbed-os-5.13.3".
If you need any help with this release please visit our support page, which provides reference links and details of our support channels.
mbed-os-5.13.2
We are pleased to announce the Mbed OS 5.13.2 release is now available.
Summary
In this release, we have made a number of quality improvements:
- Updated Mbed TLS to 2.18.1 and Mbed Crypto to 1.1.1
- Updated the MCUXpresso AnalogIn driver to pass the FPGA test shield tests
- Enabled FPGA-based SPI testing on Silicon Labs targets
- Added information about sectors to STM32F446ZE targets
The following reported issues have also been fixed in this release:
- Fixed the MCUXpresso LPC GPIO IRQ driver to not disable both rising and falling edges of the interrupt
- Fixed SAADC resolution for nRF52-based targets
- Fixed serial device IRQ infinite loop in STM devices when buffer size is greater than 256 bytes
There are also a number of other fixes and code improvements.
Known Issues
There are no new known issues with this release.
Contents
Ports for Upcoming Targets
Fixes and Changes
11090
Cellular: Fix to delete context just once
11079
NRF52840: enable TRNG in Nordic SDK config
11078
NRF52840: fix include path issues for ble pal cordio ll and gcc
11077
NRF52840: remove align instructions from gcc linker for ARM.extab exi
11069
add defines sectors for STM32F446ZE
11064
MCUXpresso: Fix the LPC GPIO IRQ driver
11062
Fix SAADC resolution for nRF52-based targets... again
11060
MCUXpresso: Update LPC spi driver
11059
GCC ARM: Increase develop and release debug level
11052
Update MCUXpresso AnalogIn driver for LPC devices
11049
Normalize line endings for IM880B startup files.
11042
Fixed serial_device IRQ infinite loop bug due to uint8_t overflowing in STM devices
11035
mbedtls: Update to Mbed TLS 2.18.1
11028
Fix FPGA CI Test Shield warnings
11026
Add a restricted peripheral list
11022
Fix watchdog tests failing with OOM
11015
Fix wrongly declared ADC pinout for EFM32GG11 STK3701A
11014
Increase ADC tolerance to 5% in FPGA-based tests
11010
FPGA SPI: ASYNC issue
11008
Enable FPGA-based SPI testing on Silicon Labs targets
11007
Fix PWM output on Silicon Labs targets for large pulsewidths
11005
FPGA PWM: wait 1 period before measurement
11004
FPGA I2C: correct init bloc number
11003
LPC MCUXpresso: Remove extra I2C transaction on byte write
10994
Add DEVICE_SERIAL_FC guards to serial HAL API
10963
PSA TESTS: Include mbedtls/config.h before evaluating MBEDTLS_PSA_CRYPTO_C
Using this release
You can fetch this release from the mbed-os GitHub repository, using the tag "mbed-os-5.13.2".
If you need any help with this release please visit our support page, which provides reference links and details of our support channels.