Skip to content

Releases: ARMmbed/mbed-os

mbed-os-6.0.0-alpha-2

19 Feb 15:48
c12b433
Compare
Choose a tag to compare
mbed-os-6.0.0-alpha-2 Pre-release
Pre-release

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

12400

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

12335

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

12321

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

12317

Summary of changes

Add Flash support for MXRT1050

Cellular: Remove support for multiple ATHandlers

12305

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 default FileHandle and shares it with AT -classes
  • Controlling hang-up -detection moved as CellularContext::configure_hup(). Cannot be configured via CellularDevice 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 takes FileHandle as parameter
  • CellularDevice::get_file_handle() removed. ATHandler::get_file_handle() can be used instead.

MIMXRT1050: Add Watchdog support

12299

Summary of changes

Add WatchDog support for MXRT1050 EVK

Cellular: Remove API's empty default implemetations

12293

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

12278

Summary of changes

  • Rename target.default_lib to target.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

12273

Summary of changes

Disable coverage report filtering because of poor results.

e.g. mbed test --unittests -r Socket --coverage htmlg
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

12260

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

12253

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

12251

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()

12249

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

12240

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)

12234

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

12207

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

12150

Summary of changes

Upgrade to Mbed TLS 2.20.0d1 and Mbed Crypto 3.0.0d0.

Thread: remove methods deprecated in 5.10

12142

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

Read more

mbed-os-5.15.1

11 Feb 12:20
e642a7d
Compare
Choose a tag to compare

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

15 Jan 17:07
430e64f
Compare
Choose a tag to compare
mbed-os-6.0.0-alpha1 Pre-release
Pre-release

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

12214

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

12143

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

12141

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

12128

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

12123

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

12122

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

12120

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

12081

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

12068

Summary of changes

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Added the new test suite for testing the build tool changes for default_lib and supported_c_libs.
  6. 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

12055

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

12048

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 means SharedPtr(NULL) or SharedPtr(0) will no longer work; users must use SharedPtr(nullptr) or SharedPtr().

Add MBED_FALLTHROUGH attribute

12032

Summary of changes

C++17 standardised [[fallthrough]] for switch statements to suppress compiler warnings. Provide ac...

Read more

mbed-os-5.15.0

19 Dec 10:48
64853b3
Compare
Choose a tag to compare

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

11958

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

11941

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

11921

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

11914

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

11892

Summary of changes
  1. Provide types that will hold static pin maps for peripherals (PWM, AnalogIn, AnalogOut, SPI, I2C, UART, QSPI, CAN).
  2. Provide xxx_init_direct(xxx_t *obj, static_pinmap_t *) functions to HAL API (these functions will not use pin map tables).
  3. Provide additional constructors in drivers layer, which will use the xxx_init_direct(xxx_t *obj, static_pinmap_t*) HAL functions.
  4. Provide default weak implementations of xxx_init_direct(static_pinmap_t *) functions. These functions will call standard xxx_init(xxx_t *obj, PinName, ...) function (backward compatibility for targets that don't support static pin map mechanism).
  5. Provide constexpr utility functions to look up for pin mapping in compile time (requires C++14).
  6. Initialize console using static pin map mechanism, so hal\mbed_pinmap_common library is not needed and can be removed.
  7. Modify FPGA tests to verify xxx_init_direct(xxx_t *obj, static_pinmap_t*) APIs.

Make SMS configurable in Cellular stack

11873

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

11796

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

11785

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

11687

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.

11595

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

11556

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

11539

Added support for DER formatted certificates and keys to Wi-SUN certificate API.

DNS manual cleanup mechanism added

11535

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

11514

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

mbed-os-5.14.2

21 Nov 16:24
cf4f12a
Compare
Choose a tag to compare

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:

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

Read more

mbed-os-5.14.1

17 Oct 17:45
679d248
Compare
Choose a tag to compare

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

Read more

mbed-os-5.14.0

25 Sep 12:15
b6e5a0a
Compare
Choose a tag to compare

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

11315

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

Read more

mbed-os-5.13.4

28 Aug 16:41
1bf6b20
Compare
Choose a tag to compare

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

11165

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

15 Aug 14:28
808c450
Compare
Choose a tag to compare

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

31 Jul 12:25
b81aeff
Compare
Choose a tag to compare

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.