Skip to content

Releases: ARMmbed/mbed-os

mbed-os-5.9.6

30 Aug 04:24
0fdfcf7
Compare
Choose a tag to compare

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

Summary

The CMake exporter is now capable of creating combined hex files for targets.

The low power ticker has been updated to prevent unnecessary rescheduling.

Fast Models' memory regions have been updated to make maintenance simpler as well as use an extra region of SRAM that was previously unutilized. Additionally, the change prepares the targets for other changes that will be showing up in the near future.

There are also a number of bug fixes and test enhancements.

Known Issues

The release version did not get updated as part of this release so is still showing 5.9.5.

Contents

Ports for Upcoming Targets

Fixes and Changes

7686
Correct MTB_ADV_WISE_1530 led configuration

7738
Timeout tests : unstable result

7750
Cellular: Fixed sms greentea tests init

7752
tests-mbed_drivers-timer: change delay method

7771
Update mesh_system_heap_error_handler to use new error handler

7645
nrf_drv_twi: remove redundant nrf_drv_disable call in nrf_drv_twi_uninit

7693
Fix for CM3DS GPIO api

7716
Fix issue #5119, changed pwmout_api.

7777
STM32F1 RTC : wrong Sunday value

7719
Lora: Document all possible error codes for LoRaWANBase methods

7740
Cellular: Handle AT response stop in case IP address is missing from

7741
tests-mbed_hal-common_tickers: disable ticker free test cases.

7769
Fix build_data functionality with python 3

7782
equeue: Fix overflow in rtos-less timeout code

7600
Remove unnecessary low power ticker rescheduling

7670
Check max possible keys in NVStore tests

7797
Fix target_name variable in some use cases

7786
Moved ASYNCHRONOUS_DNS_SIMULTANEOUS_REPEAT under mbed extended tests

7706
Refactoring memory regions definitions for Fast Models MPS2 targets

7681
BLE: store secure connections ltk in both local and peer entry

7830
Fix uvisor ticker issue on K64F

7212
FlashIAP & NVStore tests: Skip test if overwriting code in flash

7770
LoRa: Fix MAC initialization for connection with parameters

7768
Cellular: Document all possible error codes for cellular API.

7775
STM32 wrong MBED_ASSERT use

7791
Fix TMPM64B IAR linker file

7798
Add bootloader support for target NUCLEO_F303RE

7807
Compiler warning: unused variable in LoRaMac.h

7823
MIMXRT1050_EVK: Update the I2C driver

7826
Fix stack size for LwIP on EFM32GG11

7832
Nanostack: Fix return code for unsupported socket options

7831
LoRaWAN: Restoring default RX2 data rate

7790
STM32 LPTICKER : RTC wake up timer is reset before setting a new one

7785
Lora: Fix join-response failure handling

7762
Add combined hex target to CMake

7843
MIMXRT1050: Fix I2C Byte transfer functions

7744
RTOS threads test: Handle out of memory cases

Using this release

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

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

15 Aug 14:40
f8b140f
Compare
Choose a tag to compare

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

Summary

In this release we have added LPTICKER support for Renesas devices and support for SLEEP in
MXRT1050EVK.

We have updated mbed-coap to version 4.5.1. This fixes an issue where blockwise observations were not completing.

We have also updated CubeF1 for STM32F1 to V1.6.1. This includes:

  • CubeF1: updated from V1.5.0 to V1.6.1
  • HAL driver: updated from 1.1.0 to 1.1.2
  • CMSIS driver: unchanged (V4.2.0)

There were some bugs from the cancel_sending() method in LORAWAN:

  1. The system crashed if the method was called before initialization.
    Now LORAWAN_STATUS_NOT_INITIALIZED is returned.
  2. The method returned LORAWAN_STATUS_BUSY error when no send request was pending.
    LORAWAN_STATUS_OK should be returned in this case.
  3. LORAWAN_STATUS_BUSY is now returned if the backoff timer is just about to be
    dispatched (time_left returns 0).

These are now fixed.

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

7273
Cellular: added unit tests for new API functions (sim, power, base, device).

6985
Fix heap base/limit error with ARM_LIB_STACK/ARM_LIB_HEAP in RTOS-less

7289
On STM32F439xI IAR linker file decreased stack size and increased heap

7545
Fix for Thread::max_stack not returning right value when OS_STACK_WATERMARK is enabled

7622
MPS2 platform: Enable interrupt on rx for UART

7628
Optimize the configuration for RTX evr events

7632
Remove debug print

7641
LoRaWAN: Fixing incorrect NetID causing ABP Failures

7653
Update mbed-coap version to 4.5.1

7565
Nuvoton: Fix NUC472 SD-Host HW IP reset definition

7658
Add default interface for wiced WiFi.

7655
Remove device emac check from emac greentea tests

7642
Changing default SPI CS pin to SD card on MTB

7620
Lora: Fix cancel_sending

7606
STM32F1: update to CubeF1 V1.6.1

7552
Renesas: Add LPTICKER

7465
Skip a few tests if not enough memory can be allocated for them

7648
Add init reference count to all block devices

7621
cellular: astyle fix

7664
fix comment copy/paste error

7661
Clear CONN_IN_PROGRESS flag after incomplete connect()

7668
STM32F7: remove HAL_InitTick() declaration in us_ticker_data.h files

7374
Cellular: fix greentea tests C027 and BG96

7675
Renesas : Improve Flash iap

7676
Nuvoton: Organize file structure

7660
Remove inclusion of mbed.h and mbed namespace from filesystem code

7383
FlashIAP: Add timing test

7687
BLE: set correct default privacy configuration for centrals

7689
PR template: fix target update list

7643
STM32: remove uart force_reset at init

7703
Resolve us_ticker.c api discrepancy between EV_COG_AD4050LZ and EV_COG_AD3029LZ

7678
Nanostack: fix error code

7691
events: astyle fix

7419
MIMXRT1050EVK: Fix Sleep support

7531
Cellular: sms greentea tests

7640
iar: remove nxp duplicate definitions

7721
Fix owner restoration and discard across nvstore init

7688
BLE: call secure connections versions of ltk functions

7717
STM32: check for UART ongoing transfers before entering deepsleep

7725
Update Lwip error calls to use new error codes and mbed_error call

7731
Cellular: WISE_1570's system clock back to HSE_XTAL

7722
Fix Microlib compatibility for -t ARM

7729
Rename text region in ARM linker file for Renesas & Realtek boards

Using this release

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

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

02 Aug 03:48
485bdee
Compare
Choose a tag to compare

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

Summary

This release showcases several new targets added to Mbed OS:

  • Silicon Labs has enabled their EFM32GG11 chips, with the supporting STK3701 dev board
  • Toshiba has added a new target, the TMPH3H6
  • Nuvoton has enabled the NUMAKER_PFM_M2351, the first Cortex-M23 CPU in Mbed OS, and the first ARMc6 target enabled

MPS2 Fast Model targets have now been added and enabled.

An IAR linker fix for the NRF52832 had been made, shrinking the ram size of the part to match it's datasheet.

Several Silicon Labs targets have now enabled hardware CRC acceleration.

Unity macros have now been added to enable the ability to skip tests if requested.

A variety of smaller bug fixes and general improvements were also brought into Mbed OS.

Known Issues

There are no new known issues with this release.

Fixes and Changes

7079
Add support for EFM32GG11

7448
Unity: Add macros for test skipping.

7396
Tools: Show Mbed-2-only targets in mbed compile -S

7302
Support Nuvoton's NUMAKER_PFM_M2351 target

7468
Remove LoRaWAN license from top-level directory

7533
Fix linker script for NRF52832/IAR

7504
Feature itm fix

7544
Remove extra ARMc6 instance in unique mapping

7479
Silicon Labs: Add support for hardware CRC

7520
LoRaWAN: Wrong return code for JoinRequest retry

7548
Fix some targets fail to pass ticker overflow test

7539
STM32F2/F4/F7 : LL API is now available for IRQ

7491
EFM32: fix weak PeripheralPins configuration

7556
Fix spelling in error message in fault handler

7536
Add Support for Toshiba TMPM3H6

7480
Add MTS Dragonfly bootloader back after accidental removal from pr #7131

7510
STM32: Improve GPIO IRQ edge detection when waking from deepsleep

7519
Wiznet: fix us_ticker & gpio bug

7530
RTOS SYSTIMER test error in TICKLESS mode

7553
STM32L496: fix RAM size in ARM scatter file

7554
Enable HAL Flash API on Fast Models MPS2 targets

7549
Revise heap and stack size for Ethernet of GR-PEACH

7551
realtek rtl8195am remove DEVICE_EMAC

7584
Minor enhancement to wait_us

7578
Makes Greentea TCP test cases to timeout less in connection errors

7603
Nuvoton: Replace __wrap__sbrk with overriding _sbrk

7609
Make location meaningful in print_error_report

Using this release

You can fetch this release from the mbed-os GitHub repository, using the tag "mbed-os-5.9.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.9.3

19 Jul 02:24
50bd61a
Compare
Choose a tag to compare

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

Summary

In this release, we have enabled the ability to determine the Mbed OS release version from within compiled code.

Nanostack has been updated with the option to use the global event queue to save on memory usage.

ST and Silicon Labs brought in various clock changes and updated to their targets.

Mbed OS tools now have the ability to source other C++ file extensions, along with a plethora of smaller changes.

There are also a number of bug fixes and test enhancements.

For full details of this and previous releases, please visit our [[https://os.mbed.com/releases/ | releases]] page.

Known Issues

There are no new known issues with this release.

Contents

Ports for Upcoming Targets

Fixes and Changes

7368
Tools: Include Symbols in dependency list

7370
build_api.py : add comment about separate_names

7359
Cellular: EasyCellularConnection::connect doesn't have any check that "CellularConnectionFSM" object is created or not

7326
STM32: add lpuart_clock_source config

7369
Fix race condition in serial_api.c for NRF52 series

7348
LoRaWAN: Correcting doxygen

7239
netsocket: dns: make dns-cache-size:0 remove whole DNS cache code

7029
Nuvoton: Adhere to reworked ticker spec to release with Mbed OS 5.9

7008
AStyle : drivers/hal/platform folders update

7367
Tools: Detect Arm Compiler version using Component

7331
Improve the process for Cortex-A9 in mbed_application

7384
Fix memory leakage with MBR on exiting error path

7403
LPC546XX: Fix UART mux setting in the LPCXpresso board

7342
Add kernel ticker test

7376
DISCO_L496AG: change LED1 and LED2 pins

7377
Tools: Summarize stats when depth is 0

7386
Make clock source changeable over mbed_app.json for EFM32-Targets

7390
DISCO STM32L4 : Add TWO_RAM_REGIONS macro

7401
Fix interrupt initialization for NRF52 series

7405
Fix target definition for NRF52 series

7411
Fix wrong config binding

7413
Modified Wiced drivers EMAC instance get

7371
Improve efficiency and formatting of ITM output

7420
MIMXRT1050_EVK: Fix the GPIO IRQ number assignements

7421
MIMXRT1050_EVK: Move clock enable after check of pin

7406
NANO130: Change PLL clock source to HIRC instead of HXT

7429
MXRT1050: Ensure the pins are in input mode for analogin

7412
apply FatFs 0.13b hotfix - fix readdir() never terminates when dir is full

7352
STM32: Fix RTC test issue on targets using a 16-bit timer for us_ticker

7437
Recognize ".cc" and ".hh" source file extensions

7410
Tools: Move exporter alias handling to CLI

7333
Cellular: More unit tests for ATHandler's read routines

7466
Tools: py3 compatible version checks

7446
Disable LSE for MTB_USI_WM_BN_BM_22

7404
Do not print error reports in release builds

7453
Fix SWI conflict in SoftDevice for NRF52 series

7042
Flash API: Enable Flash api on CM3DS

7474
Replace build profile changes with config

7290
STM32: Refactor us_ticker files

7365
STM32 RTC : bypass shadow registers

7487
Allow STDIO pins to be NC in NRF52 series

7107
Add option to make Nanostack use global event queue

7486
Fix linker script for NRF52840/IAR

7501
Tools: Make directories before gen file uses them

7489
Cellular: HSI set to be source clock for WISE_1570

7471
tests-mbed_drivers-lp_timer: change delay method

7318
Cellular: Remove max_packet_size

7434
Separate version header file in Mbed OS

7461
Raytac: target removal

7445
LoRaWAN: Remedy for issue #7230

7505
Fix linker script for NRF52840/ARM

7494
tests-mbed_hal-lp_ticker: change implementation of the delay before deep-sleep.

7481
Tools: Fix py3 bug with mbed export -S

7500
Tools: Correct cmse lib creating with make_gcc_arm exporter

7503
Tools: Drop quotes from makefiles

7475
Tools: py3 compatible mbed-os version lowercasing

7436
Update stats to fetch Mbed OS version info

7507
STM32 LPTICKER with LPTIM minor update

7477
Tools: Skip target lookup in test builds.

7498
STM32: enable HSI/LSE clocks for LPUART

Using this release

You can fetch this release from the mbed-os GitHub repository, using the tag "mbed-os-5.9.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.9.2

04 Jul 17:09
62f8b92
Compare
Choose a tag to compare

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

Summary

In this release, we have updated mbed-coap to version 4.5.0. This brings fixes for the following issues:

  • Hardfault during reconnection retry with Thread
  • mbed-coap: extra response received after registration
  • Incorrect CoAP request blockwise response handling

There was a LoRaWAN issue LoRaWAN "Tx Timeout" does not trigger Error Event, which has been fixed in this release. If the radio is unable to transmit, it is considered a fatal error and the application is now notified.

In the FSM of the Cellular Connection module there was an issue where the code would crash if the SIM interface was closed too early. This has also been fixed in this release.

To allow the application to choose the default WiFi interface by calling the function, WiFiInterface::get_default_instance() , we have provided default WiFI interfaces for Ublox and Realtek devices.

We have added iAP and Bootloader support for GR-PEACH and GR-LYCHEE, and binary WiFi drivers for
MTB_MXCHIP_EMW3166.

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

7082
Update mbed-coap to version 4.4.4

7158
Add API to read Thread EUI-64

7197
Tools: Allow exporting of uARM-only targets to uvision

7058
Fix two issues in ExhaustibleBlockDevice

7209
Tolerate packet loss up to 30% in udp echo tests

7231
Tools: Force small lib when compiling with uARM

7073
NRF52_DK: SLEEP enable

7208
Added long echo sequence test to EMAC tests

7201
LPC54628: Update the ADC clock divider based on the input clock source

7211
Nordic BLE: Accept connection parameter update

7237
Enable COG boards instruction cache

7234
Spelling error in fault handler

7225
STM32: Add comments for HAL_InitTick function

7229
Disabled STM ethernet driver hardware checksum calculation

7249
Maxim: Rename files to fix warning

7226
Make MTB_ADV_WISE_1570 respect MBED_APP_START & enable bootloader

7207
Change DNS global class definitions to singletons

7224
Fix Greentea test code with deepsleep

7245
Fix default interface selection by using correct macro names.

7146
Cellular: Added power and sim greentea and unit tests.

7242
Rename text region in Arm linker file for a few NXP CPUs

7191
LoRaWAN: Fine tuning timing for delays and receive windows

7263
NRF51 Post-build: Allow Hex BL, SD, APP

7261
IAR: Suppress C "bypasses initialization" warning

7259
Provide default WiFi interfaces for Ublox and Realtek

7216
Asynchronous DNS greentea tests

7206
K64f non-blocking powerup

7205
STM32: Fix data alignment issue in HASH function for F2, F7, L4

7264
Suppress shift warning for IAR compiler as well

7241
STM32: Reduce HAL_deepsleep stack usage

7266
Update arm_pack_manager index

7272
Add binary drivers for MTB_MXCHIP_EMW3166

7175
Enable new HAL us_ticker API on fast model MPS2 platform

7172
Unify RTC, lp ticker, and us ticker for NRF51 and NRF52 series

7274
Travis: fix mongodb key expired error

7288
Fix Greentea test code with wakeup from deepsleep

7283
Update Greentea netsocket and wifi tests

7280
Fix SPI initialization for NRF52 series

7220
Fix mbed::InterruptIn.mode() in NRF5x targets

7295
Compiling Cortex-A cores in uVision is not supported.

6973
Support thread-safety with ARMC6

7291
adding USTICKER label for C027

7275
Cellular: fixed defect where SIM interface was closed too early

7262
BLE: Add setScanParams overload to the Gap API

7105
MIMXRT1050: Update to EVK Rev B

7284
Add binary drivers for MTB_USI_WM_BN_BM_22 and MTB_ADV_WISE_1530

7296
Add names to Idle/timer thread

6925
Support Flash iAP and Bootloader for GR-PEACH and GR-LYCHEE

7269
Cellular: add cellular network tests

7214
Error handling configuration updates and Optimization for exception handling

7210
Fix Nordic security cancellation

7311
Modify RAM size definition of ARMCC for GR-LYCHEE

7299
MBR: Fix issue with MBR init asserting on bad partition size

7338
Download astyle from AWS instead of SourceForge

7286
Add cellular information tests

7324
Fix LED_RED mapping on NUCLEO_F429ZI

7247
Tools: Check compiler version

7320
Update mbed-coap to version 4.5.0

7323
Improve serial performance for NRF52 series

7341
Cellular: improved observing of disconnect for callbacks.

7330
Clean-up targets.json

7351
STM32 files with MBED astyle rules

7344
LoRaWAN: Fixing transport of fatal TX timeout event

7353
build_api script : separate PeripheralPins.o

7354
Fix error history related comments

7356
Fix tool crashing when lines end with cr(not crlf)

7361
STM32 : get serial RX/TX active state

7355
Remove semicolon at the end of #define

7313
NRF_52840: Fix us ticker counter size

Using this release

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

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

20 Jun 15:26
03196b2
Compare
Choose a tag to compare

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

Summary

In this release, we have added support for the following new target:

  • Wio 3G

Uvisor has been updated to v0.31.1 to fix an issue where the thread code was not functioning correctly.

For Nordic devices, we have added the ability to configure some of the key settings of the softdevice parameters. This allows the user to control the range of functionality in the softdevice as well as the RAM consumption. In particular, the ability to control these values is critical to enable the use of the 16K nrf51 devices.

We have added support for the mbed_start_application for Cortex-M23 devices.

There were a number of issues found with the asynchronous DNS provided as part of the EMAC network driver subsystem released in Mbed OS 5.9.0. These have now been fixed.

We have also fixed a bug where a hard fault was possible in the Nanostack EMAC, if packet reception occurred during initialisation.

Cmsis/rtx has been updated for Cortex-A to fix a multiple interrupt problem in RTX5. This was particularly affecting GR-PEACH/GR-LYCHEE.

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

7098
[Wio 3G] Adding platform

Fixes and Changes

6968
Test build: Reduce include command length

6928
Cellular: Fixed con-disc sequence can now be called multiple times.

6947
EFM32PG12_STK3402 - Correct wrong Expansion-Header pin namings

6965
Cellular: Unit tests fixes

6970
Fixes to EFM32 port

6984
EFM32 IRQ handling fix

6991
EFM32: make mbed_rtx.h depend on families instead of targets

7011
Fixed float-abi linker option for CCES exporter.

7014
Add check for _interface

7020
Add STM32L433RC to IAR exporter definitions

7022
Fix array overflow in gpio configuration code for NRF5x

7033
Cellular: Fix AT URC handler not to dismiss incoming chars

7034
Fix redeclaration of type name "bool_t" for Renesas

7016
Corrected asynchronous DNS functionality

7054
gethostbyname must reject empty name

7005
LoRa: Add greentea tests for LoRaRadio API

7031
Nuvoton: Adhere to reworked RTC spec to release with Mbed OS 5.9

7039
FPGAIO: Add MISC IO initialization support

7027
Fix possible bug with SysTimer

6803
Wise 1510 uart config

7007
AStyle: Fix astyle indentation

7052
Cellular: BC95 socket creation to fail on missing socket id in the re

6987
STM32 ADC update

7075
BLE: Replace Serial with RawSerial in Cordio H4 Transport Driver

7032
Update cmsis/rtx for Cortex-A

7062
DISCO_F413ZH : map SPI3 to WIFI module

6022
nrf5x: Enable asserts -> mbed_error

6848
Check that no GPL licence inside code

6515
Only schedule mbed_ticker interrupt if queue->head is changed

7095
Fixing some coverity issues

7081
Fix mbed_crc_ctor is missing in some MbedCRC constructor

7143
STM32 : few targets does not support LPTICKER

7136
error: fix undeclared memcpy

7111
Python 3 makefile export issue

7124
Tool: Use TerminalNotifier in singletest

6860
Nordic BLE: Allow configuration of softdevice parameters

6949
Support mbed_start_application for Cortex-M23

7120
Fixed DNS resolution in case all sendto operations fail

7067
Add ISM43362 driver support for STM32 wifi DISCO boards

7173
Make Nanostack C++ constructor initialise Nanostack

7167
Add show full path option to armc6 linker

7147
Upgrade uvisor to v0.31.1

7141
Kinetis EMAC: Make number of buffers configurable

7121
Nanostack EMAC - avoid initialisation race

6978
Support default tz_module in event loop thread for M23/M33

6938
LoRaWAN: Style and bug fixes

7164
Fix NVStore README file (changed APIs)

7160
Fixed ppp_lwip_disconnect hangs when connection failure.

7159
Add targets to Greentea EMAC tests

7150
Nordic: Fix nrf sections on ARMCC

7106
STM32: Replace HAL_GetTick

7103
Greentea test updated for NXP lpc17xx

7097
cellular: random socket port number

7088
STM32F76x: Add support of dual bank flash mode

6948
STM32 ETH : remove TX RX locking interrupt perforation

7084
Cellular: Enable AT debug also when mbed-trace is disabled

7179
Fix USB on Kinetis devices

7119
NSAPI: Use IPv6 conversion routines from frameworks

7176
Fix data aligment problem at STM32F4 hash write

7182
Cellular: Disable Greentea tracing to consume less memory

7161
Correct PPPCellularInterface::get_gateway()

7151
Fixes for RZ_A1H issue 6543

7166
BLE: fix pairing for misconfigured devices (deny pairing correctly)

6935
Ticker test improvement

6831
Add HAL CRC test and header file

7131
New mdot bootloader

7139
Fix greentea test failure on Renesas Cortex-A9 targets

7117
Fix compile error with MBED_MEM_TRACING_ENABLED and ARMC6

7123
BLE: check flags to make sure the IRK has been stored before retrieving it

7102
Adding cellular tests

6962
Cellular: release resources in state machine.

7194
Increased LWIP main worker thread stack size for debug builds

7202
Corrected casting issue with an assert within the error_handling test

7196
Tools: Remove second header when every bl config param is used

7195
Cellular: Semaphore wasn't released in easycellular release build

7128
Fix flash_program_page API in LPC boards

7036
tests-mbed_hal-sleep fix

Using this release

You can fetch this release from the mbed-os GitHub repository, using the tag "mbed-os-5.9.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-5.9.0

13 Jun 13:34
866850a
Compare
Choose a tag to compare

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

Summary

Mbed OS 5.9 is releasing device statistics APIs, which allow you to gather critical device information. This is a first step toward giving you power to remotely diagnose the health of IoT devices deployed in the field. Mbed OS 5.9 focuses on mainlining and increasing adoption of low power features, such as the microsecond ticker, low power timer, sleep manager and real time clock APIs. Power consumption is one of the most important design requirements for IoT devices. Meeting the power budget is becoming challenging as the systems today include more sensors, faster responses and more connectivity. With the introduction of and improvements to key low power features, such as the microsecond ticker, low power timer, sleep and real time clock APIs, meeting tight power requirements and designing low power systems becomes straightforward.

This release also continues our efforts to add comprehensive documentation for Mbed OS. Our ongoing efforts in this area include adding documentation to our connectivity, RTOS and storage APIs, as well as information about our configuration system.

In addition, this release contains many minor fixes and enhancements and brings support for 135 target development boards. In the release note below, we summarize some of the key updates to Mbed OS that are part of the Mbed OS 5.9.0 release.

Core OS

Device statistics APIs

A major challenge in deploying and managing remote IoT devices is monitoring the overall health of the system. Identifying individual mis-performing devices can be challenging when many devices are deployed, and the cost of sending a technician to test devices in the field is very high. We are releasing device statistics APIs in Mbed OS 5.9 to enable device analytics on Mbed OS platforms. Our vision is to continue developing the APIs that provide information about the device and system health and to develop APIs that enable transmission of device health information over the network, so you can remotely monitor the health of your IoT device. The device statistics APIs in the Mbed OS 5.9 release are well-defined APIs that you can use to retrieve OS statistics and device information, such as memory usage, Thread information, stack usage data and runtime CPU load information. The implementation of these APIs is modularized, and it provides multiple APIs for each category. You can enable these separately using build time configuration. For more information, please visit https://os.mbed.com/docs/v5.9/reference/mbed-statistics.html.

Low power features

The Mbed OS 5.9.0 release mainlines several low power features to enable long battery life and reduces power consumption to solve key challenges for embedded devices. The low power features were developed over the past few Mbed OS releases and adopted by Mbed Partners. Many platforms now support these features.

  • Tickless RTOS scheduler: In tickless operation, you don’t have to make the tradeoff between the high frequency timing interval, which consumes more power, and the low frequency timing interval, which results in suboptimal time keeping. The scheduler schedules the next timer tick in response to the next event rather than the fixed timer tick. For more information, please visit https://os.mbed.com/docs/v5.9/reference/tickless.html.

  • Improvements to the microsecond ticker and low power timer: Tickers or timers are hardware timers that track small amounts of time​. Mbed OS supports two types of tickers, the high-resolution microsecond ticker​ and the low power ticker​. We have made several improvements to tickers. For example, our ticker now returns native value and configuration data, and the Mbed OS driver is responsible for frequency conversion. For more information, please visit https://os.mbed.com/docs/v5.9/reference/microsecond-ticker.html.

  • Improvements to sleep modes: To save power, Mbed OS goes in sleep modes during idle loop. The sleep modes turn off the system clock when peripherals relying on it are not in use and saves power. We are making several improvements to sleep modes to enhance their functionality. We have APIs to demonstrate the peripheral status during sleep mode. The device must be able to wake up from specified sources. For sleep mode, it is any interrupt, and for deep sleep mode, it is watchdog, low power ticker or GPIO. For more information, please visit https://os.mbed.com/docs/v5.9/reference/power-management.html​.

  • Real time clock: The phrase "real time" differentiates this clock from a ​typical digital clock, which generates electrical pulses but doesn’t keep track of seconds or minutes. The real time clock enables the system to track time in human units​. Usually, it continues to count over system resets, and the date and time remain correct even after you reset the system​. RTC is often supplied with a dedicated battery to keep track of time during power loss. We have improved the real time clock support in Mbed OS. It now continues to keep counting during ​software reset, sleep modes and shutdown mode​. Also, the improved accuracy is now below 100 ms. ​Please visit https://os.mbed.com/docs/development/v5.9/rtc.html for more information.

Improvements in error codes and error handling

We are improving our error codes and error reporting infrastructure to ease development by enabling a standard way to describe, debug and communicate error scenarios. Improved error handling implementation provides features such as standardized error code and error status definitions, error handling APIs for error construction, error reporting with thread context, the ability to retrieve previous errors and the ability to save errors to the file system. We designed the error reporting APIs to be used from any context, such as ISR or Threads. The implementation also provides mechanisms for extending the error status definitions to report application specific errors and to extract information from error status values. For more information, please visit https://os.mbed.com/docs/v5.9/reference/error-handling.html.

Connectivity

Ethernet MAC API (EMAC)

We have introduced a new EMAC API to bring unified support for Wi-Fi and Ethernet interfaces and make drivers independent of underlying network stacks. The new changes make it possible to use the same driver with both Nanostack and LWIP Stack. Working closely with our Silicon partners, the new EMAC feature is already available on boards and modules from Nuvoton, NXP, Realtek, Renesas, ST and u-blox.

Security

Update to Mbed TLS 2.10.0

Mbed TLS 2.10.0 provides support for the ARIA cipher and cipher suite for TLS (RFC-6209). Mbed TLS also contains optimizations to reduce code size or RAM, including an option for smaller AES tables. In addition, it contains many security and bug fixes over Mbed TLS 2.7.1, which was included with Mbed OS 5.8. You can access the Mbed TLS feature at https://github.com/ARMmbed/mbed-os/tree/master/features/mbedtls.

Targets and tools

Thanks to our Partners’ hard work, Mbed OS 5.9 added 14 new target platforms and now supports 135 target platforms. We’ll continue to add targets in our biweekly patch releases as Partners work with us on support.

Mbed CLI update and Python 3 support

We have updated all Mbed OS tools to be compatible with both Python 2 and Python 3 environments. This gives greater flexibility on system requirements because previous installations of Mbed OS required the use of Python 2. You can now choose which Python environment fits your needs. Our tools are backward compatible with all current and previous versions of Mbed OS for Python 2. It is only compatible with Mbed OS 5.9 and later for Python 3.

We have also added a built-in serial terminal feature to Mbed CLI. You can invoke the serial terminal using the “mbed sterm” command. For more information, please visit https://os.mbed.com/docs/v5.9/tools/debugging.html#serial-terminal

Known issues

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

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

Handshake Messages are not fragmented as per MaxFragmentLength Extension Negotiation.

  • Description: "Once a maximum fragment length other than 2^14 has been successfully
    negotiated, the client and server MUST immediately begin fragmenting
    messages (including handshake messages) to ensure that no fragment
    larger than the negotiated length is sent. " In Mbed TLS only the application data is fragmented and the handshake messages are not.
  • Workaround: Disable MaxFragmentLength Extension Negotiation.
  • Reported Issue: Mbed-TLS/mbedtls#387
  • Priority: MAJOR

IP addresses in the X.509 certificate subjectAltNames

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

mbed-os-5.8.6

08 Jun 15:48
35fa909
Compare
Choose a tag to compare

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

Summary

This is the last patch release for mbed-os-5.8.

We have updated mbed-coap to version 4.4.4.
This fixes a hardfault which was occurring during reconnection retry with Thread.

We have fixed an issue with the Cordio BLE stack using the H4 UART transport. The H4 stack was previously calling Serial::writeble() in interrupt context, attempting to obtain a lock on a mutex, which is illegal in this context and was causing the stack to fault.

When trying to build REALTEK_RTL8195AM with IPv6 support enabled, the build would fail. This has now been fixed.

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

6939
NOT_SUPPORTED error was not supported any more in test_api.py script

6952
STM32 ETHERNET : Allow user defined Ethernet PHY init functions

6951
STM32 SPI: fix NSS pin configuration

6896
Export folder needs to not ignore .mbed files.

6931
STM32 : PeripheralPins.c and PinNames.h files alignment

6947
EFM32PG12_STK3402 - Correct wrong Expansion-Header pin namings

6970
Fixes to EFM32 port

6984
EFM32 IRQ handling fix

7011
Fixed float-abi linker option for CCES exporter.

7020
Add STM32L433RC to IAR exporter definitions

7034
Fix redeclaration of type name "bool_t" for Renesas

6803
Wise 1510 uart config

7056
fix realtek_rtl8195am IPv6 build fails update

6987
STM32 ADC update

7075
BLE: Replace Serial with RawSerial in Cordio H4 Transport Driver

7062
DISCO_F413ZH : map SPI3 to WIFI module

7082
Update mbed-coap to version 4.4.4

Using this release

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

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

23 May 15:40
367dbdf
Compare
Choose a tag to compare

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

Summary

In this release we have updated:

  • mbed-coap to version 4.4.3.
    This fixes an error where the registration time cannot be set if the server does not use the
    max age option.

  • STM32F3 to STM32CubeF3 V1.9.0
    This updates,
    CubeF3: from V1.7.0 to V1.9.0
    HAL driver: from V1.4.0 to 1.5.0
    CMSIS device: from V2.3.1 to V2.3.2

We have fixed a couple of LoRaWAN bugs:

  • rx_config() incorrectly returned a physical layer datarate value when an index to datarate table
    should be returned.

  • Fixed region 2(AU915) failed to compile due to a typo in the code.

A couple of bugs in the BLE module have also now been fixed:

  • 6760 Missing type definition for public_key_t
    When compiling the Mbed Cloud Client on a BLE target the GenericSecurityManager failed to
    compile due to a missing type definition for public_key_t.

  • 6806 BLE::GenericGattClient::DiscoveryControlBlock terminate() called twice.
    This caused a hard fault.

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

6797
Fix compile error with DirectSerial in serial-less build

6793
tools: Pass app-config to get_config

6768
Nano 100: Lower HEAP size for IAR

6769
Move subtract basepath into the resources class

6773
Enlarge timer thread stack size for Cortex-M23/M33

6728
Fix issue template - simplified version

6610
Stm32 eth remove tx rx locking interrupt perforation

6805
tools: Reorder test configuration priority

6814
GenericGattClient: Fix discovery termination.

6743
BLE: Conditional compilation of H4 driver

6742
BLE: Update cordio porting guide

6645
mbed_wait_api: add comments to warn the func will lock deep sleep

6809
Mbed Stats: Assert if NULL pointer passed as arg

6849
Add missing semicolon to NRF51 critical_section implementation

6817
GenericSecurityManager: Fix crypto_toolbox_f4 signature.

6845
Remove obsolete OS_IDLE_THREAD_STACK_SIZE from NRF52

6852
Fix for issue #5308 - RTC set/get time issue on NCS36510

6879
Build mbed-os-example-lora only for lora targets

6864
FlashIAP: Fix problem of programming source buffer not aligned to 4

6838
export: Fix invalid config header path in Sw4STM32

6883
Update mbed-coap to version 4.4.3

6885
BL mode: Prevent jump address conflicts

6832
STM32F3: Update with STM32CubeF3 V1.9.0

6865
fix greentea-client, require a character input between K-V pairs

6919
tools: Add explicit target for NVStore example

6940
NVStore - remove Thread.h include

6846
Lora: Fix rx datarate

6829
LoRaWAN: Fixed region 2(AU915) to compile

Using this release

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

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

09 May 15:07
ae6c7c6
Compare
Choose a tag to compare

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

Summary

In this release we have updated the SDK TPM driver for the KW41Z. This fixes an issue
where certain instances of the TPM are missing some registers.

We have also updated the EFR32 15.4 driver. This includes,

  • Updates driver library to v2.3.1 (2018q1) for bugfixes and convenience functions
  • Provides library in correct format (2-byte wchar_t flag) for compiling with ARMCC (bug 6695) uncovered by PR6577
  • Reverts to using a statically-allocated packet buffer since malloc is not thread-safe (and the asserts have been turned on)

The STM32L0 has been updated with CubeL0 V1.10.0. This includes,

  • CubeL0: from V1.7.0 to V1.10.0
  • HAL driver: from V1.7.0 to 1.8.2
  • CMSIS device: from V1.7.0 to V1.7.2

There was an issue when compiling arm assembler in uvision where the error,
"command too long for buffer" was being observed. This was found to be due to the
assembler adding a large number of include paths to the command line to try and
capture every possible location for a header file. We have fixed this by changing the
arm compiler behaviour to match that of IAR and dropping the include paths.

We have added bootloader support for NUCLEO_F411RE.

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

6690
ADI: Enable bootloader for EV_COG_AD3029LZ and EV_COG_AD4050LZ

6686
Remove automatic I2C stop after each read

6683
Add IAR export and nvstore page size fix for TMPM46B

6669
make PR type box list "fancier" without making it a github tasklist

6666
STM32L0: Update with CubeL0 V1.10.0

6611
Uninitialized variable warning in UARTSerial at -O3

6602
requirements: add future

6540
Prevent compiling with unsupported compilers

6718
Modifying echo test to be driven more from the device.

6727
Update URL that points at a blank page.

6723
STM32 RTC Init minor update

6735
LPC546XX: Add check for GPIO IRQ

6701
Update to EFR32 15.4 driver

6671
Update doxygen options rules to not strip code comments

6745
Clarify mesh configuration values.

6734
LPC54XXX: Set the pin function to Digital mode

6733
Fix compiler warnings for Maxim platforms

6644
Fix build tool with ARMC6/ARMv8M

6756
Re-enable flash clock test for NRF52 but with higher tolerance

6787
KW41Z: Update SDK TPM driver

6786
Moved stats test to platform folder

6785
KL82Z: Fix clock selection for PWMOUT driver

6780
resolve LWIP compiler warning

6778
Add support for open drain leds

6774
littlefs: Fix issue with trailing dots in file paths

6762
Fix compile error with MBED_MEM_TRACING_ENABLED and ARMC6

6740
Lora: Fix max tx power check

6729
Add bootloader support for NUCLEO_F411RE target

6713
Drop include paths for ARM assembler

Using this release

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

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