Skip to content

Releases: ARMmbed/mbed-os

mbed-os-5.4.4

05 Oct 15:56
Compare
Choose a tag to compare

We are pleased to announce the mbed OS 5.4.4 release is now available. This release includes a reworking of the internal ADC channels code for numerous STM boards, a new callback API for CAN, support for the bootloader and FlashIAP for NUC472/M453, plus numerous core software and tools bug fixes to improve and further stabilize the codebase.

Fixes and changes

4008: [NUC472/M453] Support bootloader and FlashIAP

4102: Add SCL and SDA defs for I2C[0-2]; redefine I2C_[SCL,SDA] to I2C2

4106: Fix a scoping typo in toolchains

4118: [STM32F4] Rework internal ADC channels

4126: [STM32F4] Remove SERIAL_TX and SERIAL_RX from available pins

4069: Update gnuarmeclipse to preprocess linker scripts

4107: Allow configuration of artifact name in app config

4122: Fix compiler warning in mbed_retarget.cpp

4123: Update CAN to new Callback API

4148: Revert "STM32F4 Internal ADC channels rework"

4152: [STM32F4] Rework internal ADC channels

4074: [Silicon Labs] Update pinout

4133: [U-BLOX_C030] Default XTAL is now 12MHz onboard. Option to use Debug 8MHz

4141: Fix mbed_board.c compiler warning

4168: Generate GNU ARM Eclipse .mbedignore file with jinja2

4170: Fix include paths for Windows builds

4173: Fix Traceback in CMSIS export

4142: [EFM32] Fixed pwmout_all_inactive being inversed

3888: [Tools] Add new examples

4016: [NRF5] Fix rtc overflow-while-set-timestamp issue

4031: [STM32] Increase IAR heap size for big RAM targets

4129: Remove old filesystem test

4137: [MCUXpresso] Update ARM linker files to eliminate reserving RAM for stack and heap

4150: Move config system into its own folder and refactor header generation

4171: Fix typo in lpcxpresso exporter template

4172: Fail IAR exports without linker scripts with NotSupportedException

4176: [STM32L4] Rework internal ADC channels

4184: [Events] Remove strict-aliasing warning

4192: Fix gcc [-Wsign-compare] warning

4154: [STM32F7] Rework internal ADC channels

4174: [NRF52840] Fix rtc overflow-while-set-timestamp issue

4180: [UBLOX_C030] Create target hierarchy for the specific versions of the C030 board

4153: [STM32F2] Rework internal ADC channels

Using the release

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

Please feel free to ask any questions or provide feedback on this release on the forum or to contact us at [email protected].

mbed-os-5.4.3

05 Oct 16:03
Compare
Choose a tag to compare

We are pleased to announce the mbed OS 5.4.3 release is now available. This release includes new target support for nRf52840 and UBLOX_C030. There are also a number of bug fixes to improve the stability of the code and improvements to the tools.

Ports for upcoming targets

3841: Add nRf52840 target

3992: Introducing UBLOX_C030 platform

Fixes and changes

3951: [NUCLEO_F303ZE] Correct ARDUINO pin

4021: Fix a macro to detect when RTOS was in use for the NRF52840_DK

3979: [KW24D] Add missing SPI defines and Arduino connector definitions

3990: [UBLOX_C027] Construct a ticker-based wait, rather than calling wait_ms(), in the C027 board startup code

4000: Add some type checking of configs

4003: Fix OBOE in async serial tx for NRF52 target, fix #4002

4012: [STM32] Correct I2C master error handling

4020: [NUCLEO_L011K4] Remove unsupported toolchain files

4046: [USBHOST] Fix device disconnection from hub during hub port reset

4049: [Tools] Turn off page alignment of sections

4065: [K66F] Move bss section to m_data_2 Section

4014: [Issue 3763] Reduce heap allocation in the GCC linker file

4030: [STM32L0] Reduce IAR heap and stack size for small targets

4060: [lpc1768] Remove invalid use of IP_SOF_BROADCAST_RECV option

4070: Elide adding regions to profile when empty

4072: Remove superfluous space

4085: Fix mbed-cli issue #468 and add LPCTargetCode.lpc_patch to POST_BINARY_WHITELIST

4101: Modify semihost_disabledebug() to support more interface FW revs

4109: [NUCLEO_L476RG] Make minor serial pin update

3911: [IAR exporter] Extend debugger settings template with modifiable options needed for Nordic targets

3982: [Ticker] Fix kl25z bug for handling events in the past

4112: Only link in LPC17xx ethernet ISR as needed

4098: Raise error when mbed_app.json is bad

Using the release

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

Please feel free to ask any questions or provide feedback on this release on the forum, or to contact us at [email protected].

mbed-os-5.4.2

05 Oct 16:08
Compare
Choose a tag to compare

We are pleased to announce the mbed OS 5.4.2 release is now available.

This release includes support for the new target EFM32PG12, some driver updates for NUC472/M453, an update for STM32 to Cube version v1.6.0 and TLS hw acceleration (AES ECB) for NUCLEO_F439ZI. There are also bug fixes and improvements to the tools and mbed-os core.

Ports for upcoming targets

3934: [Silicon Labs] Update to HAL and devices

Fixes and changes

3691: [TLS/hw acceleration] AES ECB for NUCLEO_F439ZI

3827: Correct return values for I2C::write(int, const char*, int, bool)

3862: Trap earlier when a Thread instance is reused

3869: [NCS36510] Default range changed from 0 to 950mV - ADC

3893: [STM32F7] Update STM32 Cube version v1.6.0

3895: Use PATH env variable when GCC found in PATH

3917: Fix mistake register setting in serial_format()

3931: ARM Pack Manager improvements

3927: [DELTA_DFBM_NQ620] Add RC calibration setting and revise mbed_overrides.c

3747: bd: Add randomness to block device test and more debug friendly output

3918: [NUC472/M453] Support unique locally administered MAC address and other driver updates

3920: Adjust heap size to work for both tls-client and mbed-client

3924: Don't set the build_dir to anything on export

3933: #3593 Add template entry to fix exported project build error

3953: OS2 tests minor updates for STM32

3969: [NUCLEO_F302R8] Add missing PB_8/PB_9 CAN pins

3975: [NSAPI/lwIP] Free held netbuf on close

3976: mbed-coap error fixes merge to mbed OS

3968: [Greentea] Fix test code mbed-os-tests-mbed_hal-flash

3949: Fix C declaration of dir functions and types

3922: Fix/improve error parsing from API messages

3939: Update mbed trace

Using the release

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

Please feel free to ask any questions or provide feedback on this release on the forum, or to contact us at [email protected].

mbed-os-5.4.1

05 Oct 16:09
Compare
Choose a tag to compare

We are pleased to announce the mbed OS 5.4.1 release is now available.

This release includes an update of mbed TLS to version 2.4.2, bringing essential and critical security patches, including a fix for CVE-2017-2784. For core mbed OS, there are a number of bug fixes to improve the stability of the code and improvements to the tools.

Fixes and changes

3716: fix for issue #3715: correction in startup files for ARM and IAR, alignment of system_stm32f429xx.c files

3741: STM32 remove warning in hal_tick_32b.c file

3780: STM32L4 : Fix GPIO G port compatibility

3831: NCS36510: SPISLAVE enabled (Conflict resolved)

3832: lwip: Increase timeout on network tests with python projects

3836: Allow to redefine nRF's PSTORAGE_NUM_OF_PAGES outside of the mbed-os

3840: STM32: gpio SPEED - always set High Speed by default

3844: STM32 GPIO: Typo correction. Update comment (GPIO_IP_WITHOUT_BRR)

3846: STORAGE: removal of unsupported tests having ported to sd-driver repository

3850: STM32: change spi error to debug warning

3860: Define GPIO_IP_WITHOUT_BRR for xDot platform

3875: Add post-build hook white-list to exporters

3880: DISCO_F469NI: allow the use of CAN2 instance when CAN1 is not activated

3897: Ignore FuzzyWuzzy warnings

3898: Prevent underflow in heap size calculation

3913: [NRF51822] Fix reference to sleep in hal_patch override

3795: Fix pwm period calc

3828: STM32 CAN API: correct format and type

3842: TARGET_NRF: corrected spi_init() to properly handle re-initialization

3843: STM32L476xG: set APB2 clock to 80MHz (instead of 40MHz)

3852: Ignore build directory from scan resources

3866: bd: Fix missing const attributes on functions

3879: NUCLEO_F446ZE: Add missing AnalogIn pins on PF_3, PF_5 and PF_10.

3877: Update mbed TLS feature to mbedtls-2.4.2

3902: Fix heap and stack size for NUCLEO_F746ZG

3864: Fix mbed 2 builds

3829: can_write(): return error code when no tx mailboxes are available

Using the release

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

Please feel free to ask any questions or provide feedback on this release on the forum, or to contact us at [email protected].

mbed-os-5.4.0

14 Jul 09:43
@sg- sg-
Compare
Choose a tag to compare

This is the release note for ARM mbed OS 5.4.0. It summarizes the major enhancements in this version.

You can find the mbed OS 5.4.0 release on GitHub.

About this release

mbed OS 5.4.0 incorporates functionality you can use to prepare for the upcoming mbed Cloud device management services. This includes bootloader and filesystem infrastructure and the certified Thread 1.1 stack for developers. In addition, this release contains many minor fixes and enhancements and brings target platform support up to 74 targets.

The following sections provide more details about this release.

Core

mbed OS 5.4 adds flexible filesystem support to address the needs of IoT applications requiring storage within the end node. This release already includes a FAT filesystem implementation for removable media, such as SD cards, and future releases will add embedded flash filesystems and encryption.

The filesystem is integrated with the C standard libraries of the ARM, IAR and GCC compilers. It is available for use across all mbed Enabled platforms.

The release also includes early access to the mbed OS bootloader, so partners can add support for their targets' flash controllers. This forms part of the support for the upcoming mbed Cloud Update service, which allows managing device firmware update campaigns.

To read the documentation, see file system and bootloader.

Connectivity

mbed OS 5.4 uses the recently certified mbed Thread 1.1 stack to provide solutions for building end nodes and border routers.

A Linux-based Access Point reference that uses the Thread border router is also available.

The mbed OS LoRaWAN APIs are available for partner feedback and integration.

Security

The mbed crypto libraries in mbed TLS include all the internal partner APIs and documentation for enabling hardware entropy and symmetric and asymmetric cryptographic acceleration. Partners are working on implementations for their target platforms, and a partner workshop will support them. We expect support for the first set of targets in 5.5.

Upcoming

The feature branch work on our CMSIS5 and CMSIS-RTOS2 upgrade is nearing completion, so testing will begin soon after the release of 5.4. We are aiming for inclusion on mainline for 5.5.

Throughout the year, we also plan a program of upgrading supported compilers to ensure the latest features and fixes from the different ARM compilers are available to developers; this will mean supporting ARM GCC Embedded 6, ARM Compiler 6 and IAR Embedded Workbench 8.

If you would like to be involved in helping test any of these upgrades to help minimize the effect on developers, please contact us.

Targets

Thanks to our partners’ hard work, mbed OS 5.4 now supports 74 target platforms.

We will continue to add new targets in our biweekly releases as partners introduce support.

Fixes and changes

Please see the mbed-os GitHub repository referenced below for a full list of changes introduced in this release.

Known Issues

Online IDE does not support multiple binary production

  • Description: Compiling an application with bootloader only produces the standalone application binary. It should produce the composite binary.

  • Workaround: Use mbed CLI.

  • Reported Issue: ARMmbed/mbed-os-example-bootloader-blinky#4

  • Priority: MAJOR

mbed TLS causes stack overflow in mbed OS targets

  • Description: The stack memory usage of some mbed TLS features is higher than 4 KB, which may cause stack overflow errors when running in constrained embedded environments with mbed OS, which are particularly limited in RAM.

  • Workaround: The amount of stack required depends on the application and what features of the library it chooses to use. More intensive, demanding tasks may not be possible on more limited, constrained devices, so we recommend designing for the limitations of the target device or choosing a device suitable for your application.

  • Reported Issue: ARMmbed/mbed-os-example-tls#14

  • Priority: MAJOR

mbed TLS DTLS renegotiation checks also compare record epoch value

  • Description: The TLS renegotiation routines execute after the DTLS record sequence number for incoming or outgoing messages has exceeded a user-defined period. According to the RFC 6347 Section 4.3.1, the record sequence is a 6 byte unsigned integer, but the mbed TLS function ssl_check_ctr_renegotiate() compares 8 bytes. The additional 2 bytes correspond to the record epoch value, which may result in the incorrect execution of the renegotiation routines.

  • Workaround: There is no known workaround for this issue.

  • Reported Issue: Mbed-TLS/mbedtls#687

  • Priority: MAJOR

mbed TLS server does not check that TLS_FALLBACK_SCSV is the last cipher suite

  • Description: An mbed TLS server does not check that the TLS_FALLBACK_SCSV value is the last element in the cipher suites part of the ClientHello message. Note that RFC7505 Section 4 states that placing the SCSV at that position is a SHOULD for the client. However, the server behavior description in RFC7505 Section 5 does not prescribe anything regarding the location of the TLS_FALLBACK_SCSV in the ClientHello.

  • Workaround: There is no known workaround for this issue.

  • Reported Issue: Mbed-TLS/mbedtls#810

  • Priority: MAJOR

mbed TLS commissioner does not retransmit message when it receives retransmission

  • Description: There are two issues with DTLS handshake retransmission. First, the joiner fails to correctly parse received records because it does not correctly handle queued retransmissions received. Second, the commissioner may cause a deadlock because it does not retransmit certain records after it receives retransmission as instructed in RFC6347 Section 4.2.4.

  • Workaround: There is no known workaround.

  • Reported Issue: openthread/openthread#1207

  • Priority: MAJOR

Using the release

You can fetch the mbed OS 5.4.0 release from the mbed-os GitHub repository using the tag “mbed-os-5.4.0”.

Please feel free to ask any questions or provide feedback about this release on the forum, or to contact us at [email protected].

mbed-os-5.3.6

04 Oct 14:08
Compare
Choose a tag to compare

We are pleased to announce the mbed OS 5.3.6 release is now available.

This release includes a number of bug fixes to improve stability.

Fixes and Changes

3590: [NUC472/M453] Export IAR project and other bugfixes

3740: STM32L4 HAL update for RTC Wake Up Timer

3739: STM32F7 : remove multiple HSE_VALUE define value

3759: STM32: spi_frequency table index fix

3760: Fix #3756 for 64 bytes transfers

3779: NCS36510: Fix the sporadic semaphore timing issue

3806: NXP KL43Z/KL27Z: fix spi format bits check

3814: NCS36510: I2C idle delay of 1us

3803: Bug fix of initial value of interrupt edge in "gpio_irq_init" again

Using the release

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

Please feel free to ask any questions or provide feedback on this release on the forum, or to contact us at [email protected].

mbed-os-5.3.5

04 Oct 14:06
Compare
Choose a tag to compare

We are pleased to announce that the mbed OS 5.3.5 release is now available.

Fixes and Changes

3432: Target STM USBHOST support

3181: NUCLEO_F207ZG extending PeripheralPins.c: all available alternate functions can be used now

3624: Fix Stack stats by running the test command with "-DMBED_HEAP_STATS_ENABLED=1"

3626: NUCLEO_F412ZG : Add USB Device +Host

3628: Fix warnings

3629: STM32: L0 LL layer

3632: IDE Export support for platform VK_RZ_A1H

3642: Missing IRQ pin fix for platform VK_RZ_A1H

3653: Adding fatal error detection to toolchains

3661: [Exporters] Add core to uvision exporter template

3664: Fix ncs36510 sleep definitions

3655: [STM32F4] Modify folder structure

3657: [STM32L4] Modify folder structure

3658: [STM32F3] Modify folder structure

3685: STM32: I2C: reset state machine

3689: Updated to allow for new directory structure for mbed-dev source.

3718: Fixing uvisor defines to fix build issues

3692: uVisor: Standardize available legacy heap and stack

3621: Fix for #2884, LPC824: export to LPCXpresso, target running with wron

3649: [STM32F7] Modify folder structure

3669: Adding case insensitive 'error' detection

3695: Enforce device_name is valid in targets.json

3717: Add IAR export support for NUCLEO_F207ZG

3723: NCS36510: spi_format function bug fix

3727: Fix access before variable defined bug in test_api

3708: [NUC472/M453] Fix USB EP setting error in USBAudio

Using the release

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

Please feel free to ask any questions or provide feedback on this release on the forum, or to contact us at [email protected].

mbed-os-5.3.4

04 Oct 14:05
Compare
Choose a tag to compare

We are pleased to announce the mbed OS 5.3.4 release is now available.

This release includes:

  • New target support for DISCO_F769NI, DELTA_DFCM_NNN50 and MAX32630FTHR.
  • Miscellaneous tool updates and fixes.

Known Issues

No known issues for this release.

Ports for Upcoming Targets

3571: DISCO_F769NI introduction

3605: Add DELTA_DFCM_NNN50 platform

3640: [MAX32630FTHR] Adding new platform

Fixes and Changes

3397: Add uVisor support for the DISCO_F429ZI

3573: fix failing RTC initialization for MTS_DRAGONFLY_F411RE

3575: Dev stm factorize gpio

3584: STM32: make PeripheralPins.h a common file

3583: STM32F7 Cube FW new release v1.5.1

3534: Turn on debugging by default when exporting. Remove optimizations for IAR and Uvision

3560: Refactor scan resources to account for base_paths

3574: Fix invalid assert in exporters

3578: Target system - Inherit names from target parents

3586: Linking to latest

3587: Fixing toolchain executable not found error for build.py

3588: arm-pack-manager - fix tracebacks

3594: Allow user overrides of LINKER_SCRIPT Make variable

3599: K22F: Enable TRNG

3600: [toolchains] Refactor sys libs

3603: Delete testing_mbed_OS_5.md

3604: Renaming test_env.cpp in greentea to avoid warning

3608: Exporters: make jinja engine strict

3612: tests: Fix error on MacOS for udp_dtls_handshake test

3613: README: Build info; Docs version updated

3614: STM32: make PortNames.h a common file

3617: EFM32GG: Fix GCC_ARM linker script

3618: STM32: Move types definitions to a common file

3601: Clean export dir

3630: Delete mbed_targets.md

3631: F3 CUBE update V1.7.0

3635: STM32 I2C : Fix bug in i2c_byte_read function

3651: Max32630 - fix LED4

Using the release

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

Please feel free to ask any questions or provide feedback on this release on the forum, or to contact us at [email protected].

mbed-os-5.3.3

04 Oct 14:04
Compare
Choose a tag to compare

We are pleased to announce that the mbed OS 5.3.3 release is now available.

This release includes numerous fixes to code and tools (listed below).

Known Issues

There are no known issues for this release.

Fixes and Changes

3470: [RZ/A1H]Support RTX v4.80 for Cortex-A and a few Malloc API

3488: Dev stm i2c v2 unitary functions

3492: Fix #3463 CAN read() return value

3503: [LPC15xx] Ensure that PWM=1 is resolved correctly

3504: [LPC15xx] CAN implementation improvements

3513: NUCLEO_F412ZG - Add platform in RTOS tests + build_travis

3514: [NUC472/M453] Remove Tab in USB HAL

3518: Preventing app_config from clobbering CLI macros

3526: lwip - Fix static IP address issues with IPv4

3531: Correctly format include paths for eclipse export

3537: Remove default -m and -i options for project.py

3538: Remove deprecated clean argument

3539: NUCLEO_F412ZG - Add support of TRNG peripheral

3540: STM: SPI: Initialize Rx in spi_master_write

3438: K64F: Add support for SERIAL ASYNCH API

3521: Repair the Emblocks exporer and rename to EmBitz

3550: events - Fix overflow of timeout on STM32F4

3559: exporters - group by directories in prj root

3519: MCUXpresso: Fix ENET driver to enable interrupts after interrupt handler is set

3528: Modify update command to directly edit the mbed-os.lib files for each example

3532: Eclipse debug fixes (build w/ DEBUG=1 and load symbols)

3544: STM32L4 deepsleep improvement

3546: NUCLEO-F412ZG - Add CAN peripheral

3547: Add support for ethernet-only configuration with Nanostack.

3551: Fix I2C driver for RZ/A1H

3562: Alphabetize UVision groups

3558: K64F UART Asynch API: Fix synchronization issue

3563: LPC4088 - Fix vector checksum

3567: Dev stm32 F0 v1.7.0

3577: Fixes linking errors when building with debug profile

Using the release

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

Please feel free to ask any questions or provide feedback on this release on the forum, or to contact us at [email protected].

mbed-os-5.3.2

04 Oct 14:01
Compare
Choose a tag to compare

We are pleased to announce the mbed OS 5.3.2 release is now available.

This release includes:

  • New target support for UBLOX_EVK_NINA_B1.
  • A rename of the KSDK2 package to MCUXpresso.
  • CAN support for the DISCO_F303VC.
  • A number of bug fixes and improvements.

Ports for Upcoming Targets

3459: Target: Add new target UBLOX_EVK_NINA_B1

Fixes and Changes

3430: Fix ci shield eeprom test

3381: STM32F1 : map ST HAL assert into MBED assert

3389: STM32F2 : map ST HAL assert into MBED assert

3390: STM32F3 : map ST HAL assert into MBED assert

3402: nsapi - Fixed open/close issue in Socket

3410: STM32L4 : map ST HAL assert into MBED assert

3422: Enable CAN on DISCO_F303VC

3428: Change slave address in I2C master slave asynch test

3442: Dev stm i2c f1

3450: Correctly filtering examples in test script

3460: KSDK I2C: Update the return value to match the API documentation change

3478: Delete TESTING.md

3477: Delete COMMITTERS.md

3479: Delete Toolchain_Profiles.md

3480: Delete config_system.md

3481: Delete memap.md

3339: USB audio callback rx and tx

3472: [RZ/A1H]Fix TTB setting of RO_DATA area

3439: Remove unused arguments from detect targets

3451: Rename KSDK2 to MCUXpresso. This is the new name of this package

3469: Remove invalid thread::start example

3391: STM32F4 : map ST HAL assert into MBED assert

3454: STM32: Refactor lp_ticker.c + rtc_api.c + sleep.c + rtc_api_hal.h files

3457: [ONME-2844] Supporting non-blocking connect()

3458: [ONME-2844] Avoid option level collisions

3484: Limiting the thread stack for parallel threads test

3486: Move clean functionality out of the export api

3493: Delete events.md

3494: Delete ignoring_files_from_build.md

3476: Removing default toolchain paths

3489: NUCLEO_F103RB - Correct CAN and PWM alternate-functions

3405: Repair the transmit mailbox (0,1,2) empty interrupt flag not clear BUG

3473: Stm32f7 ethernet fix for IAR issue #3387

3475: Delete BUILDING.md

3483: Improve error message when exporting for make without a linker script

3490: Fix deprecated Thread ctor usage in RTOS tests

3502: MCUXpresso I2C: Handle 0 byte write

3500: Update mbed-client-c version 3.0.4

3365: [NUC472/M453] Support USB device

Using the release

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

Please feel free to ask any questions or provide feedback on this release on the forum, or to contact us at [email protected].