Skip to content

Releases: ARMmbed/mbed-os

mbed-os-5.11.3

01 Feb 17:06
a8d1d26
Compare
Choose a tag to compare

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

Summary

In this release we have added target support for Quectel M26 GSM/GPRS module and C030-R412M,

We have added fixes for the following reported issues:

  • 9138 Can't execute OS2 tests in ARM if default_toolchain is uARM
  • 85 Len vs amount check
  • 9400 tests-mbedmicro-rtos-mbed-systimer to tune ?
  • 9426 NUCLEO_H743ZI: iar export failing
  • 9281 lfs_emubd.c needs to be ignored?
  • 9513 Occasional hard fault when using the mbedtls entropy function in parallel threads (K64F)

Support has been added for:

  • Nanostack on KW41Z
  • An updated PSA binaries importer for FUTURE_SEQUANA_PSA
  • FLASH on TARGET_MAX32620C MCU, MAX32620FTHR and SDT32620B
  • CAN on STM32H7
  • TICKLESS on NUCLEO_H743ZI
  • QSPIF as default storage for LPCXpresso546XX

Important notes:

  • A folder path fix for KVStore FILESYSTEM configuration and default configuration (under SD component) has been added. Previously the folder path was the constant "kvstore". This has been fixed to now behave correctly by taking the value from the configuration store. Users will now need to ensure they have the correct values in the configuration store.

  • The IAR heap size for STM32L496xG has been increased

  • A problem was identified where ther FlashIAP driver would fail during write actions due to HW limitations. A fix has been added to retry a few times until the write is successful.

  • There was a random issue where a device would not boot. This was found to be due to the pre-main check of error_reboot_count being applied repeatedly on every boot. This meant that once the reboot limit was hit, every subsequent reset would halt before main, until something managed to clear or corrupt the error context. This has been fixed by setting the is_error_processed flag before halting, so that when an external agent resets the device while halted, the error is not reported (which would cause the device to halt again).

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

9261
Initial version for Quectel M26 GSM/GPRS Module.

9369
Add target C030-R412M

Fixes and Changes

9548
FlashIAP driver: Add retries to erase and program operations.

9547
mbed_die: Use wait_us not wait_ms

9544
Halt to enforce reboot limit once only

9532
Mutex-protect mbedtls_hardware_poll

9492
Travis CI: Fix for license check job

9488
Fix licenses in travis test and realtek lib

9484
Start Component SD test by formatting SD Card

9462
Corrected the targets value in json file as CI uses real board names

9453
mbed-host-tests minimum requirement set

9452
Crypto platform renaming

9448
Fix links to https://os.mbed.com documentation

9440
Put LittleFS emulated BD module under .mbedignore

9439
Examples: enabled some examples build for FVP_MPS2_M3 target

9433
Set DSP and floating point flags for ASM files

9428
STM32H743ZI: iar removal as not supported in v7.x

9427
BLE: fix possible truncation

9422
PB_1 is not connected to D4 in R412M above

9421
ESP8266: implements possibility to decide between non-blocking/blocking connect.

9418
tools: build_api: remove redundant initialization and fix spelling

9417
Netsocket DNS test: increase timeout value

9416
RTOS: SysTimer: Fix test timing issues

9415
Allow NSAPI_ERROR_UNSUPPORTED from Socket::setsockopt()

9411
STM32L496xG: increase IAR heap size

9408
SPIF - Fix command to unlock Global Block-Protection register

9407
DirectAccess DeviceKey: add support for default storage type

9406
Extended mount to check all metadata-pairs

9404
DSP_PRESENT flag is needed for Armv8m devices having DSP enabled

9403
Clarify addition to CONFIGURATION.md

9399
BLE: fix missing null checks on Gap event handler

9397
Fixing folder path for KVStore FILESYSTEM configuration.

9389
Travis CI: Bind remaining python modules

9385
Fixes typos in SMSC9220 Ethernet driver

9380
UNO_91H: open hal lib source

9377
test: general_block_device fix to always erase prior the first program

9376
TCP/UDP greentea tests refactoring and cleanup

9374
Add QSPIF as default storage for LPCXpresso546XX

9368
PSOC6: Fixes for serial hal driver, asynchronous mode.

9366
ESP8266: add an error check for data overflow from modem side

9365
Fix for asserion failing in BLE::callDispatcher with gcc debug profile.

9363
Remove unnecessary error prints in FileSystemStore

9361
Removing dependency of TDBStore in SystemStorage file and moving some file location - TFM support.

9360
LPC546XX, LPC54114: Add README and LICENSE files for the power libraries

9357
NUCLEO_H743ZI : enable TICKLESS

9356
ESP8266 - fixes disconnect to check the state from modem

9354
STM32H7 : add CAN support

9347
stm32: Improve the CRC function to support fully accumulate

9339
Fix Out-Of-Band (OOB) data generation for BLE OOB pairing

9337
unittest: remove cellular driver L3IP stub

9335
thread_mle_message_handler: fix build warning

9333
Minor Doxygen fixes for BufferedBlockDevice and iBeacon

9331
ESP8266: prevent WOULD BLOCK from TX if UDP

9318
fix bug for RDA UNO_91Hcalling us ticker functions without init.

9316
Add FLASH support to TARGET_MAX32620C and brd targets

9302
Add TRNG checkup in devicekey

9297
uARM targets now build in correct ARM_MICRO directory

9296
Remove printf completely and fix the optimization check

9291
NRF5x: QSPI SFDP read, min read/write implementation

9288
Gemalto Crinterion UDP test adjustments

9286
travis: Add include_check job

9280
Sleep manager implements all the API's in platform file

9258
FLASH test: skip test if test region overlaps code

9257
FLASHIAP test: skip test if test region overlaps code

9223
Update PSA binaries importer for FUTURE_SEQUANA_PSA

8970
Add doxygen spellcheck job to Travis

6622
Add nanostack support for KW41Z

Using this release

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

Read more

mbed-os-5.11.2

18 Jan 17:39
a8f0c33
Compare
Choose a tag to compare

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

Summary

In this release we have added target support for NUCLEO_H743ZI, GD32_E103VB and GD32_F450ZI.

We have added fixes for the following reported issues:

  • 8567 Equeue unchain bugs
  • 8913 Build of NUCLEO_F030R8 fails when DEVICE_SERIAL=0
  • 8903 Realtek_RTL8195AM is printing a lot of traces
  • 9196 ESP8266 CTS/RTS fails in stop_uart_hw_flow_ctrl()
  • 9075 K82F QSPI test fails intermittently
  • 9216 Defining MBED_SLEEP_TRACING_ENABLED caused error
  • 9266 Astyle in travis doesn't use .astyleignore
  • 9255 FLASHIAP component tests failed
  • 9207 MCU_LPC546XX - breaks on master
  • 9272 Block device test : skip multi thread part in case of small RAM

Support has been added for:

  • PSA APIs on Pelion supported boards
  • a bootloader on the DISCO_F469NI

There have also been some updates to improve the quality of the documentation.

Important notes:

  • There was an issue with the internal KVStore, identified after the 5.11 release. The fix for this
    required changes which would normally not be accepted into a patch release. We have made an exception in
    this case due to the significant nature of the issue.

    Prior to the fix provided in, 9156,
    the space left for the internal TDBStore (when working in the default internal configuration) was allocated from
    the sector following the end of the application until the end of flash. While this worked, it was problematic if the
    application would have crossed the sector boundary after an update. This PR leaves the application a couple
    of sectors to grow at the expense of the allocated storage (if they are available, which is the likely case).

    The fix is defined as a breaking change, even if not a typical one: Boards that use the default internal
    configuration will lose the storage content after the upgrade (as the internal storage start will move forwards).
    Two boards will be affected: K66F and FUTURE_SEQUANA_M0_PSA. Non default configurations won't be
    harmed.

  • The device key in versions before 5.11.2 may have been insecure as the TRNG may have unknowingly failed.
    This issue has been addressed in this release by 9278 DeviceKey: [Security Fix] Generated ROT-key is still used when TRNG fails.

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

9056
NUCLEO_H743ZI: add new platform

9203
Add GD32_E103VB as new target

9232
Add GD32_F450ZI as new target

Fixes and Changes

9391
Add pyocd depencency to resolve Travis CI issue

9384
MBRBlockDevice: When partitioning, clear the rest of first erase unit

9371
travis: set hypothesis to v3.88

9362
Fix the general block device for better support of low memory boards

9355
Parameterise the repo used in the Mbed TLS importer script

9346
Travis CI: Corrected astyle job behavior with non-master base branch PRs

9341
Flush ESP8266 serial input buffers after HW reset

9334
Doxygen fixes in block devices

9332
Update and cleanup BLE.h doxygen

9330
Doxygen update for LoRaRadio class

9329
SDBlockDevice docs update

9327
STM32: replace missing #ifdef DEVICE_xxx

9324
Avoid building mbed_tz_context.c for TF-M targets

9323
STM32: astyle check

9321
STM32 : typo error in QSPI

9319
tools/importer script changes

9315
LPC546XX: Do not make MCU_LPC546XX target public

9313
STM32L476VG: fix wrong pin map function on ADC channels

9311
Edit README.md

9310
SPIFBlockDevice docs update

9309
ESP8266 - fix send buffer exhaustion handling

9295
Add missing END to Armv8M IAR assembly files

9293
Updated pyyaml due to possible vulnerability

9290
ESP8266: Set HW reset time to 2ms

9289
travis: add keys for ubuntu - workaround

9284
ESP8266: Fixes AT-layer socket_open-functions

9278
DeviceKey: [Security Fix] Generated ROT-key is still used when TRNG fails

9274
UNO_91H: fix MPU compilation issue

9271
Correcting the error-case trace from mesh-api interfaces

9269
SDT64B: Add TARGET_SDT64B, a bootloader file on SDT64B

9268
Calculate FlashIAPBlockDevice start address and size automatically for test only

9267
Fix travis astyle usage of .astyleignore

9264
reduce info traces to debug level to prevent logs overflow

9260
Use mbed_error_printf instead of debug for ISR friendly prints

9256
STM32L0 & STM32L1: FLASH is EEPROM

9252
STM32L4 ADC : power optimisation for VBAT channel

9251
LoRaWAN: Randomizing backoff for Join process

9250
Fix Python 3 syntax in rtc host test

9249
add bootloader support to the DISCO_F469NI

9246
STM32L0 TEMPERATURE ADC CHANNEL minor update

9244
Kvstore tests api change to run on K64F only

9241
TDBStore: fix bug in sector blank check for variant sized sectors

9239
Increases events.shared-stacksize to 2K

9237
Refactoring and fixing some issues in KVStore configuration.

9234
nanostack-mac-tester sync with v1.0.1

9233
FastModel: update platform header, removed unwanted smsc9220 device

9229
hal-qspi_test: move frequency setting before flash init

9227
[SDT64B] changed UART0 to UART2, added UART_5 on SDT64B

9220
BLE: NRF52 returns used tx/rx phy on phy update callback

9218
Change to mbedtls_platform_zeroize()

9215
Direct access to device key

9210
mbed.h includes removed

9209
More static place for astyle

9202
Realtek-RTL8195AM-Hide_Debugging_Messages

9200
TDBStore: Perform garbage collection on failed writes

9198
Fixing bug - overwrite of default configuration values for RBP start address and size fails

9197
Nuvoton: Fix UART flow control CTS/RTS

9195
Enable PSA APIs on Pelion boards

9191
Nuvoton: Fix crypto compile error with Mbed OS 2

9187
Resolves build failures with IAR 8.x

9186
Fix ticker_read_us() race condition.

9183
Allow LwIP TCP retransmissions to be configured and tune those smal...

Read more

mbed-os-5.11.1

04 Jan 15:45
c966348
Compare
Choose a tag to compare

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

Summary

In this release, we have added support for GD32F307VG, TT_M3HQ, Seeed Arch MAX, ACONNO ACN52832,
NUCLEO_L4R5ZI_P and the KW41Z side of RapidIoT .

We have added fixes for the following reported issues:

  • 8714 STM32L4 - using TICKLESS and serial (UART - AT cellular) losing characters
  • 8864 TRNG on L4 pulls rug out from USB
  • 5348 K64F: LowPowerTimeout: Inaccurate delay after board power up
  • 8880 CordioGattServer is using wrong connection handles resulting in faults / memory corruption
  • 8555 NVSTORE test issue
  • 7398 UART not working on LPC54608
  • 8913 Build of NUCLEO_F030R8 fails when DEVICE_SERIAL=0
  • 8992 Support for Cortex-M33FD
  • 8710 Build failure for FUTURE_SEQUANA_M0 with PSOC6_DYNSRM_DISABLE=1
  • 8864 TRNG on L4 pulls rug out from USB
  • 8950 Properly fix Travis CI Rabbit MQ issue
  • 9014 ATHandler.cpp - Bad logical comparison
  • 8785 NvStore does not correctly persist values through reset
  • 8870 Feature: QSPI support on DISCO_F769NI
  • 8124 RTL8195AM netsocket test failures
  • 8870 Feature: QSPI support on DISCO_F769NI
  • 8664 equeue cancel function can corrupt internal data structures, causing queue failure
  • 9099 Identically names structs in different files
  • 9176 STM32: RTC No Longer Enabled by Reading the Time

Support has been added for:

  • nrf52_dk bootloader
  • DAC (analog-out) HAL on NUMAKER_PFM_NANO130, NUMAKER_PFM_M453, NUMAKER_PFM_M487/NUMAKER_IOT_M487 and NUMAKER_PFM_M2351
  • TICKLESS for STM32 targets which are using LPTIM feature for LPTICKER

We have updated mbed-coap to version 4.7.3.

There are also a number of other fixes and code improvements.

Known Issues

There is the following known issue with this release:
ESP8266::_open_tcp: device refused to close socket

Contents

Ports for Upcoming Targets

8725
Add support for GD32F307VG

8815
Add platform TT_M3HQ

8831
[Seeed Arch MAX] Add Mbed OS 5 support

8860
Add the port for the ACONNO ACN52832 module on MTB's form factor

9008
Add NUCLEO_L4R5ZI_P target

9053
Rapid-IoT: Add support for the KW41Z side of the platform

Fixes and Changes

9180
Revert "STM32 RTC : skip rtc_write if possible"

9174
MTB_ODIN_v2_fixes

9171
Nuvoton: Fix NUC472 hard fault in SMCC tests

9168
Fix to unit test losing process output due to timing issue

9166
Ublox C030 ADC internal channels added

9164
Disable printf in crash reporting for release builds

9159
Drop MBED_EXTENTED_TESTS flagging from network tests.

9158
Fix LTO build failures due to duplicate local types

9157
PSOC6: Updated default M0 image to not modify UDB configuration when

9155
PSOC6: Fixing merge issue for pull request #9009

9151
github: add reviewers to the PR template

9150
Check correct ARMC6 predefine for FP codegen

9148
Fix FLASHIAP_ROM_END macro for GCC_ARM & IAR toolchains

9144
EventQueue: Old pointers of sibling were not cleared

9143
Fix BLE long write execution failure

9134
STM32: enable TICKLESS

9131
Add versioning limits to intervaltree module

9130
Fix ESP8266 "Link Type" errors after reset

9129
DNS tests: improve debug messages

9127
WIFI test: improve debug messages

9126
Fix multiple definitions of '__aeabi_atexit'

9122
Update the CC310 IAR libraries

9109
Rework fseek/ftell tests

9107
Fixing execution of OS2 tests

9105
Add some rounding to determine the pulse value for PWM for the STM target

9102
Nuvoton: Support boot stack size configuration option

9101
Cellular: Fix to use PPP stack in PPP mode

9100
Align prototype & implementation of enet_tasklet_disconnect & friends

9097
Update to add support for Cortex-M33FD

9089
STM32 QSPI update

9087
kvstore tests: reduce reset

9085
U-blox C030 PinNames Updated

9084
Realtek-rtl8195am-Network_Socket_Updates

9081
Nuvoton: Fix crypto AC management

9079
Add socket stat logging state change update

9073
W7500x target ADC 6 and 7 not implemented

9063
mbed_fault_handler: fix build warning

9061
More MPU work

9060
Fix duplicate 'overrides' keys in targets.json config file

9057
Prefer QSPI Bus mode 1-4-4 as highest priority for QSPIFBlockDevice

9055
travis: use https for fetching astyle package

9054
Fix max_keys reset limitation

9052
Cellular: Rewrite AT handler consume to tag

9049
Fix test-netsocket-tcp greentea test build fails.

9047
travis: add license

9045
Fix wrong PIN config for RTL8195AM platform

9043
Removed rabbitmq fix from travis.yml

9037
BLE: Update toolchain.h with mbed_toolchain.h

9035
STM32L4: correct RNG clock source

9034
Change enet_tasklet declarations to match code

9033
Fix Stream for IAR toolchain

9009
[PSOC6]: Fix for static resource manager.

9001
Missing socket greentea tests implementation

8995
Add core option for Cortex-M33 with DSP enabled

8993
Apply GitHub style to exporter matrix

8990
Adjust FAT FS tests to low memory boards

8980
memap.py: Cope with IAR 8 linker map

8978
fixed wrong __StackTop calculation

8975
Initialize the interface at the construction

8965
Coverity fixes.

8964
Correct behavior of PSA code generator

8960
STM32: avoid STM32 family name check

8957
Fix incorrect #ifdefs on DEVICE_FOO macros

8956
Update Ticker wrapper to handle early interrupts

[8955](https://github.com/ARM...

Read more

mbed-os-5.11.0

19 Dec 13:09
6a0a865
Compare
Choose a tag to compare

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

Summary

Mbed OS 5.11 adds secure sockets, so your Mbed OS applications can securely connect and send data to any cloud or server through any TCP-based protocol. It also provides advanced storage solutions for IoT devices to encrypt external memory, and a storage stack that allows using internal flash for firmware updates. Mbed OS 5.11 also supports enhanced device statistics APIs for capturing key information, such as network statistics and advanced system information.

This release includes many minor fixes and enhancements and brings support for 157 target development boards.

Operating system

Secure sockets

With secure sockets, your Mbed OS applications can securely connect and send data to any cloud or server through any TCP-based protocol. By introducing native secure sockets to Mbed OS we enable TLS functionality in the background, simplifying secure connections. For more information, please visit secure sockets.

Advanced storage solutions for IoT devices

Encrypted and authenticated storage

Encryption and authentication for external memory provide greater protection against physical attacks against IoT devices. This adds significant value to products that do not trust the PCB, and which could be tampered with, making security comparable to being on-chip. For more information, please visit storage.

Storage stack for internal memory

Microcontrollers now provide more performance and bigger internal memory, offering new opportunities. In Mbed OS 5.11, we allow businesses to use internal MCU memory to store configuration and firmware images, and reduce the cost of the bill of materials for IoT devices. For more information, please visit storage.

Enhanced device statistics APIs

Pulling valuable stats from IoT devices is key for any business deploying these devices, and is an important initiative driven by Arm. The intension is to collect data from embedded devices and (in the future) predict their behaviour using machine learning.

Mbed OS already implements a Device Statistics API to collect data such as thread info, CPU usage, memory info, and system info. In Mbed OS 5.11, we've added advanced device stats such as network stats, advanced system Info, and errors info. For more information, please visit statistics.

Internal RAM marked as execute never

Many Remote Code Execution (RCE) exploits attempt to use buffer overflows in the stack or the heap to write exploit code into memory, and then cause the system to execute that code. If the address where the exploit was written were marked execute never, this exploit code would not be executable. With Mbed OS 5.11 on supported targets, all RAM space is marked as execute never by default. For more information, please visit MPU management.

Crash reporting for critical fault with automatic reboot

When the system encounters a fatal crash (for example, a hard fault), we capture information such as register context and thread info, as these are required to debug the issue. This information is usually dumped over the serial port, but when the crash happens in deployed devices, there will not be any serial port enabled or logged, so a different mechanism is needed to record and report this data. With the crash-reporting feature of Mbed OS, the system reboots without losing RAM contents, and we can send this information over a network or other interfaces to be logged, or even write to the file system if required. For more information, please visit error handling.

Connectivity

Support for extended and periodic advertising in GAP (BLE stack)

Extended advertising uses multiple physical layers and spreads the payload across many packets to support much larger payloads than normal. In this scenario, advertising is split across primary advertising on the advertising channels and secondary advertising on channels normally used for sending data to connected devices. Similarly, if the controller supports periodic advertising, you may use it to send changing data to many peers. Each peer needs to scan the advertisements on the primary channels and create a sync with the periodic advertisement it's interested in. For more information, please visit GAP.

Cellular stack updates

The LoRaWAN stack was updated to version 1.1, which includes support for secure device provisioning through a Join Server, new security primitives, handover roaming, and optimizations for communication from the network to the device. For more information, please visit LoRaWAN-11.

In addition, we added support for AT-mode TCP over cellular for selected modules

  • Quectel BG96
  • Quectel BC95 (used in the WISE-1570 module)
  • Gemalto cellular modem driver.

Security

Update to Mbed TLS

Mbed OS 5.11 includes Mbed TLS 2.15.1, which introduces the Mbed Crypto library and other new features. For more information, please visit, mbedtls.

Mbed Crypto APIs

The Mbed Crypto library is a reference implementation of the Platform Security Architecture (PSA) Cryptography API. Therefore, the library's API documentation is the PSA Cryptography API specification. Arm's PSA is a holistic set of threat models, security analyses, hardware and firmware architecture specifications and an open source firmware reference implementation. PSA provides a recipe, based on industry best practices, that allows security to be consistently designed, at both a hardware and firmware level. The PSA Cryptography API provides access to a set of cryptographic primitives. It has a dual purpose: It can be used in a PSA-compliant platform to build services, such as secure boot, secure storage and secure communication; and it can be used independently of other PSA components on any platform. The Mbed Crypto APIs are currently in development. For more information, please visit mbed-crypto.

PSA Secure Partition Manager

We have added PSA compliant process separation for the Future Electronics Sequana dual-core v7-M platform. The process separation is enforced with the Secure Partition Manager (SPM), which uses hardware on the device to provide RAM and Flash isolation between the two cores. It also implements the PSA Firmware Framework Inter-Process Communication (IPC) API, which allows the cores to communicate with each other. More information about Sequana is available at Future-Sequana. For more information about SPM, please visit SPM.

Targets and tools

Thanks to our Partners’ hard work, Mbed OS 5.11 added 12 new target platforms for a total of 157. We’ll continue to add targets in our biweekly patch releases as partners work with us.

The official Arm Mbed OS compiler has been update from ARM CC 5.06 update 3 to ARM CC 5.06 update 6, which includes new bug fixes.

Testing and improvements

Support Ethernet for Fast Models

Arm Fast Models are software models of Arm cores, subsystems, peripherals and so on. Mbed OS has enabled working with Cortex-M family Fast Models. You can run and test Mbed OS and its applications on the software model instead of the hardware. In Mbed OS 5.11, we now support Mbed OS sockets examples with Fast Models Ethernet. For more information, please visit Fast Models.

Continuous integration framework

We designed Mbed OS to significantly reduce the cost and time of embedded software development by providing production-quality toolset and code. We are committed to delivering high-quality code working across all supported boards and platforms. To ensure all the features of code meet our quality control requirements, we have built an automated testing environment and processes that perform rigorous testing on every line of code. The continuous integration framework is a highlight of our testing framework - it ensures that every new feature and change in Mbed OS is tested:

  • For every new feature, we create tests that we then deliver to our Partners. For every board to be Mbed Enabled, we need our Partners to successfully conduct these tests.
  • Partners must test the changes on their boards before submitting pull requests (PRs) on GitHub.
  • The Mbed OS gatekeepers manually review the code of each PR to ensure it meets our coding guidelines and code standards.
  • Once approved by the gatekeepers, the code goes through the automated test infrastructure, which tests across multiple platforms using three toolchains: IAR, ARM and GCC.
  • During the testing phase, we select the combination of boards and devices that support a variety of peripherals, MCU cores and features for maximum coverage.
  • To ensure the Mbed OS code is compatible with all IDEs, we test that the code can be exported properly to all the compilers.
  • We merge a PR only if all the above procedures are successful.

For Mbed OS 5.11.0, our testing included:

  • Total test time of 42,372 hours on development boards.
  • 30 new test cases since the Mbed OS 5.10.0 release. These test new and existing features and bring the total number of tes...
Read more

mbed-os-5.10.4

21 Nov 17:39
2fd0c5c
Compare
Choose a tag to compare

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

Summary

This is the final patch release for mbed-os-5.10.

In this release we have added support for UNO_91H and TMPM3HQ devices.

We have added a fix for the following reported issue:

  • 7804 RF52 serious behavioural regressions in RTC

The mbed-client-cli has been updated to v0.4.0.

We have also added:

  • EMAC driver for CM3DS
  • Flash IAP support for STM32F407VG on DISCO_F407VG and ARCH_MAX platforms

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

8324
Add Support for TOSHIBA TMPM3HQ

7309
New target UNO_91H from RDA Microelectronics.

Fixes and Changes

8524
Add more generic BlockDevice tests.

8605
Make examples commands return a failure

8606
Fix off-by-one-error in BusIn/Out

8604
Increase EMAC test timeout to 1400 seconds

8603
Doxy fix on netsocket docs

8623
Fix typos in RTOS doxygen.

8622
Fix typos in Events doxygen

8435
Kernel.h doxygen update

8449
TOOLS : Add missing M33 and M33F in python scripts

8587
Remove extra _deselect to prevent possible hard fault

8640
Fix compile warning about initializing and variable order

8642
nanostack: fix memory leak

8641
Fix licensing

8653
mbed_lib.json updated for other all C030 targets and code corrected t

8645
Detect xinetd service pattern and generate correct pattern (ONME-3733)

7849
Low power timer needs to be reset when setting time

8444
Add EMAC driver for CM3DS

8551
Increase background stack size to fix overflows

8528
MCUXpresso: Update LPC Flash driver program page function

8648
Fixed bugs in Fast Model MPS2 GCC startup scripts

8654
InternetSocket: Fixed missing unlock before return

8660
Online: Include project root path

8677
Sync mbed-client-cli files with v0.4.0

8684
Update peripheral pins

8595
Put quotes around include path options

8681
STM32F407VG: Add FLASH support

8679
STM32 GPIO : code cleaning

8692
fix a bug in the FVP platform where flash API page size was wrong

8699
Revert flash_get_value for M2351 done in PR#8589

8696
Resources: Avoid assuming that deps have a sane name

8697
Resources: Use path names for ignored dirs

8712
ONME-3852 Check that test cases disconnect at the end

8729
Adding arch option instead MCPU for no dsp and no fpu support

8727
LoRaWANTimer UT fixed

Using this release

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

07 Nov 15:38
bf6f2c3
Compare
Choose a tag to compare

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

Summary

In this release we have continued our focus on improving our documentation.

We now have support for FUTURE_SEQUANA devices.

We have fixed the following reported issues:

  • Low power ticker wrapper layer still used when suspended
  • Error occurs when building exported mbed-os programs on e2studio
  • CMake exported build fails with multiple --source arguments
  • ATHandler::consume_to_tag method doesn't detect tags in some cases
  • UBLOX_EVK_ODIN_W2 does not pass Greentea testcase WIFI-CONNECT

The ODIN drivers have been updated to v3.5.0 RC1. This brings:

  • BLE Cordio Stack Ported for ODIN_W2
  • Updated ODIN drivers for BLE cordio

We have also added:

  • QSPI support for KL82Z and K82F
  • Bootloader support for DISCO_F769NI
  • TRNG support for STM32F407VG
  • Bootloader support for DISCO_F413ZH and NUCLEO_F413ZH

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

8491
New target future sequana

Fixes and Changes

6293
Reduce .text footprint of the network stack

8409
Fix doxygen comments and spelling errors

8046
NRF52 serial: Fix UART console RX

8339
Unit testing: update unit testing documentation for Mac OS

8412
PwmOut.h: Documentation improvements only

8413
Fix doxygen for Serial and RawSerial

8462
Move inline code snippets to code blocks

8464
EventQueue documentation fix.

8303
Tools: Use logical paths in ignored_dirs

8249
Tools: Restrict toolchains reported by mbed compile -S to official ones

8250
Tools: Don't traceback on missing linker script

8348
Add K66F default sd storage

8377
Fix for issue #8368

8482
[tests-mbedtls-multi] Fix typo in the printf (no functional change)

8484
Component SD test: skip multiple thread test depending on RAM

8486
LPC54608: Raise the core freq on LPC54608 targets

8483
BLE: write size first when writing an eeprom message

8350
Cellular: Fix for AT handler consume to tag

8476
mbedgt-network-wifi WIFI CONNECT TC - check that SSID is cached

8493
STM32 RTC : Prescaler macro issue

8495
Adding file type for linker script arg in make script

8489
Clean up UARTSerial.cpp includes.

8369
Cellular: UBLOX_C030_R410M cellular target add

7966
nrf52-ble: fix total links count

8485
Feature qspi kinetis

8430
Block device general tests

8474
NRF52 : Fix UART RTS initialization

8505
Continue Socket and WiFi tests even on test failure.

8515
Merge duplicate keys in JSON.

8503
mbed_rtc_time.h - documentation fix

8506
Docs: fix I2CSlave documentation

8504
Span doc

8510
Doc: SPI slave doxygen cleanup

8514
EventFlags docs update

8512
Explain default port number, and construction

8319
Checksum the vector table of the LPC546XX

7864
Add required header file and namespace element instead add all.

8244
storage: fix component coding style

8346
storage: fix valid partion check with windows formatted sd card

8526
Fix for unit test build on Windows machines

8279
Fix LowPowerTickerWrapper operation when suspended

8292
Fix hardware flow control on NRF52 series

8259
Update the Mbed TLS README

8509
Non copyable doc

8521
MbedCRC docs update

8516
Doc: spi documentation fixes

8511
Update documentation for the ConditionVariable API

8529
Doxygen: Move free standing HAL tests module inside their HAL module

8534
Docs: InternetSocket doxygen fixes

8539
Docs: UDPSocket doxygen cleanup

8537
Doxygen: Hide friend declarations in dox.

8536
PlatformMutex docs update

8549
contributing: simplify it via a link to our docs

8546
Add warning about deviating from the template format

8452
ble: update ODIN drivers to v3.5.0 RC1

8554
NUCLEO_L4R5ZI: Fix alignment of execute region to 8byte boundary

8562
build_api: remove unused import

8556
BLE: fix using an optional feature before checking for support

8499
Socket closing improvements and tests adjustments

8559
STM32F407VG: Add TRNG support

8461
api->API

8572
Move #endif to fix PwmOut.h doxygen

8371
Cellular: Add unsupported features for UBLOX targets

8566
Wifi: ublox fix to keep the credentials stored

8564
Drivers: fix typos in doxygen

8580
Fix the incorrect comment for set_blocking()

8593
Build and run latest released doxygen in Travis CI

8598
ATCmdParser: Fix OOB handling performance-wise

8585
Phy drivers: Added S2-LP driver

8599
DISCO_F769NI: Add bootloader support

8588
Fix Ice Tea test execution order to be sorted by names.

8542
Update python module versions in requirements.txt

8577
Fix Makefile export with Python 3

8538
Rework make.py CLI to avoid treating apps as tests

8616
Updated and pinned version for requests

8624
Fix missing doxygen pages

8611
Unittest fixes

8553
STM32F413ZH: Add bootloader support

8541
Docs: netsocket group doxygen fixes

8540
Update documentation for the Queue API

8508
Update linker scripts for bootloader target L496GZ

Using this release

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

24 Oct 15:01
e1bea44
Compare
Choose a tag to compare

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

Summary

In this release we have added support for TMPM4G9, RapidIoT and Laird BL654.

We are currently focusing on improving the quality of our documentation, so there
are a number of documentation fixes in this release and upcoming ones.

There are a number of reported issues that we have fixed:

  • A 4/8 byte alignment error in the device scatter files.

  • On the STM32F1 family of devices the set_time function was not setting the time correctly.

  • On STM32 devices extra power consumption was observed when in STOP mode. This was due to
    the HSI clock being enabled in that mode, whereas only the LSE clock should be enabled.

Mbed-coap has gone through a couple of version updates:

  • Version 4.7.0 brings:
    A new function that can be used to clear the received blockwise payloads, for example in
    the case of a connection error.

    Silencing the compiler warning when CoAP duplicate detection is enabled.

  • Version 4.7.1 brings:
    A new re-scan routine whch is called when blockwise message sending times out, preventing
    a hard fault.

We have added:

  • us ticker support for TMPM066 and TMPM46B
  • RTC support for MIMXRT1050_EVK
  • missing IAR exporters for the STM32 family
  • ADC support for DISCO_L496AG
  • an ADC update for internal channels on STM32L1 devices.
  • flash support for KL43Z, KL82Z, KW41Z and K22F.

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

7923
Add Support for Toshiba TMPM4G9

8307
Add support for RapidIoT

8454
Adding Laird BL654 as a new MTB target

Fixes and Changes

7890
Circular buffer should use conditional statement instead of modulo

7934
corrected a typo in AT_CellularPower::opt_power_save_mode

7953
Fix is_valid_erase function to use get_erase_size with address

7896
Fix pin names of MIMXRT1050 I2C pins

7914
Remove references to "mBed"

7957
nRF5x: pass ram linker start/length from config system

7975
Use high resolution time for Timer::read().

7998
MIMXRT1050_EVK: Add RTC support

8048
NRF52: serial_api: Use polling for putc

8049
Nuvoton: Fix mbed_hal-sleep test failed

8134
STM32L1 ADC update for internal channels

8006
SD - Add required header file and namespace element instead add all

7813
STM32L4: Fix sleep implementation

7861
Removing default flow control for MTB_LAIRD_BL652

8057
Removed cellular PIN code print from debug log.

8061
NRF52: Ensure that we configure hardware after flow control changes

8072
Renesas : Improve Flash iap driver

8149
Add usticker feature to TMPM066

8167
Change update file format to binary for all targets

8168
DISCO_L496AG : enable ADC

8169
STM32: add missing IAR exporters

8175
Fix the CMSIS macro ARM_MPU_RASR

8179
Add missing SIM PIN configuration item

8193
M2351: Add license file for default secure library/executable

8235
Mbedgt netsocket tc fixes

8239
Fix for pwmout & serial fuart in TMPM46B

8241
Fix WIFI_CONNECT_PARAMS_CHANNEL_FAIL testcase.

8268
Cellular: Fix greentea network set credentials test case

8275
tools, NRF51-post-build: Use paths to hex files

8276
tools: Make "file" key in notifications consistant

8280
STM32: Fix I2C stop condition

8315
Fix cellular unittests

8325
Fix for pinmap & usticker free() in TMPM3H6

8330
Tools: Fix Python3 + firmware header traeback

8323
Add blockdevice example back to CI

8286
STM32 RTC : write RTC time while LPTICKER is enabled

8263
STM32L4: clear error programming flags before erase & program operations

8243
mcr20a use core_util_critical_section functions

8225
Adjust stack & heap for IAR on STM32F412xG

8210
platform timer: Call timer start in enable

7958
nrf_ble: Expose configuration of max characteristics and descriptors

8327
Guard Atmel RF driver build by DEVICE_I2C

7582
Update sleep manager tests

7877
Improve the config ajustment script of TLS for ENTROPY_NV_SEED

7898
Travis: fix astyle report (-/+ files)

8024
Fix alignment of execute region to 8byte boundary

8177
tools/utils: Fix issue with loading json files as ascii on python3 linux

8186
Freescale/NXP: Fix alignment of execute region to 8byte boundary

8298
Reset channel settings back to default

8305
Tools: Fix Microbit releases

7937
Export, MCUXpresso: Avoid assigning self.libraries

8316
unittests: Add tests for netsocket classes

8122
LPC1768 us_ticker.c timer choice

8261
Enabled the removal of a trailing slash

8213
STM32F1 RTC : save values in register

7902
Fix overflow in disk_get_sector_size()

8183
Adding QOS in response to LinkADRReq and fixing class C bugs

8219
STM32 EMAC : lock deep sleep

8256
Fix warnings in block devices

8258
Cellular: Fix compile warnings for CellularNetwork

8270
Tools: Ensure vtor reserved bits are all 0

8273
Update mbed-coap to version 4.7.0

8363
Remove mbed-os-example-client

8248
Tools, Resources: Convert to a set during win2unix

8393
Revert "Merge pull request #8183 from hasnainvirk/QOS_impl"

8390
Fixed colorama Python package

8002
Storage: Add required header file and namespace element instead add all

8274
Export, nb: Use same path for cpp as the rest of the tools

8304
Remove GCC_CR

8237
PR template: add "docs update"

8234
Renesas : Modify LPTicker driver

8334
mbed dm: Check for missing payload and give a better error message

8226
Unit tests: improve unit testing documentation

8208
Align github's issue template with pull request's look&feel.

8338
poll: Un-doxygen internal comment

8385
improve can documentation

8391
improve mutex doc

[8389](https://github.com/ARMmbe...

Read more

mbed-os-5.10.1

10 Oct 14:21
c53d51f
Compare
Choose a tag to compare

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

Summary

In this release we have added support for the NUCLEO_L4R5ZI and NUMAKER_IOT_M487.

We have made a number of quality improvements :

  • Addressed numerous compiler warnings
  • Tidied up the include paths
  • Updated the documentation in a number of areas

A couple of reported known issues from the 5.10.0 release have been addressed:

  • Tools: Mbed CLI dm init fails to load certificate
  • Tools: Mbed CLI dm init command - reports bad country code when certificate expiration changed

The following reported issues have also been fixed in this release:

  • New TCPSocket API always returns NULL from accept function
  • Problems with the LowPowerTickerWrapper for all Nuvoton devices
  • SPI is not initializing correctly when an object is destructed and then constructed again.

We have implemented changes required to allow TB_SENSE_12 to provide a default network interface for Silicon Labs targets. We have also added a bootloader image for Nucleo F207ZG and enabled RTC for LPC1768.

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

7585
NUCLEO_L4R5ZI: add new platform

8164
Support Nuvoton's new target NUMAKER_IOT_M487

Fixes and Changes

7758
Include user defined static lib files in the Linker object files paths

7904
MIMXRT1050_EVK: Update SPI HAL driver

6293
Reduce .text footprint of the network stack

7939
Export, Embitz: Avoid assigning self.resources.linker_script

7992
Fix TCPSocket::accept()

7787
STM32L4 : code cleanup in MSI SetSysClock

7821
Add license files for MTS bootloaders

7901
Compiler Warning fixes

7960
Change mbedtls_platform_context parameter to NULL

7982
LoRaWAN: Memory overrun correction

8010
NXP: Update serial driver's parity handling

8052
FileBase: Fix unsetting of default when destroyed

8067
Spelling fixes and general readability improvements for TEST_APPS documentation

7856
Realtek: fix gpio is connected

7981
BLE: fix missing updates sent callback in GattServer using Cordio stack

7944
Cellular Unittests refactored to GoogleTest framework

7700
STM32: Correct device_has_add flags for bluepill_f103c8 target, fixes #7654

7883
netsocket: Fix compiler warning

8104
mbed dm: Remove references to internal script from help

8136
STM: Fix us_ticker timestamp after deep sleep

7903
Clean up include paths.

8029
Fix issues with LowPowerTickerWrapper

8025
Align to CMSIS defines for Non-Secure

7920
Resolve duplicate ADuCM3029 system return code

7882
Add greentea tests for network interface status and connect/disconnect

8054
Lora: Fix ADRAckReq

8145
Add bootloader image for Nucleo F207ZG

8153
Unit tests: automatic unit test suite naming

8074
LoRaWAN: Refactoring compliance test code

7921
Fix Wiznet: IAR heap memory problem

8160
Update mbed-cloud-sdk in requirements.txt

7935
LoRa: Stop processing MAC commands if command id is unknown

7987
M2351: Update to NuMaker-PFM-M2351 V1.3 board

7993
Fix EFM32 pwmout hal function pwmout_period

8171
Skip the unstable SYNCHRONOUS_DNS_CACHE testcase

8181
Py3 support

7925
Qspi hal test refactoring/update

8060
Clarify test configuration in Socket/Networking test document

8096
Lora: Fix sticky MAC command retransmissions

8112
specify mbed-cli version requirement

8187
STM32: fix wrong LSE config in serial_baud function

8030
Nuvoton: Fix Greentea test common_tickers failed

8023
Hotfix for PR #7778 on Silicon Labs targets

8182
Unit tests: fix cellular athandler unit tests and wait() declaration conflict

8147
Fix authentication on a cellular network for Access Point Name (APN)

8073
Add documentation about icetea testcases

8106
Replace macros with config options

8218
Unit tests: add UNITTESTS folder to exclude patterns in doxygen_options.json

8036
platform: error: fix bogus usage of memset()

7918
Add link to README.md

7746
Handle NVStore tests in a low memory environment

8212
Unit tests: update README.md

7989
M2351: Fix STDIO_UART error

8005
BLE: fix whitelist generation (set correct address type)

8026
Fix for HW CRC calculations on Silicon Labs targets

8165
Fix for issue #8155 (NRF52832: time stops after 35 minutes)

8009
LPC1768: Enable RTC

8037
STM32: Fix disabling of IRQs shared by multiple events

8034
Changed the reported SNR from unsigned to signed.

8131
STM32F3 correct analogin_read

8229
Fix network and util ut

7941
Nuvoton: Fix GPIO mode mapping

8154
Unit tests: add code coverage filtering

8138
Unit tests for TCPSocket, TCPServer, UDPSocket, NetworkStack, InternetSocket

7057
Add TRNG API test

8014
realtek rtl8195am lib updates

7911
travis: add license check for gnu library license

7696
skip the flashsim test if not enough memory cannot be allocated for it.

8099
MIMXRT1050_EVK: Fix the PWM Hal driver

8247
Update Manifest tool version

8132
gt netsocket tcp - increases threads' stack size

8262
Align MBRBlockDevice writes to underlying BlockDevice write size

8246
Add back examples updated for mbed-os-5.10

7932
ublox c030: Add PC2 pin to ADC pin map

8085
STM32 RTC : start LSI clock (for targets without LSE)

7978
Cellular: state machine and easycellular now return error fast if sim

7876
Tools: Modified version mismatch msg to be warning instead of error

8090
Cleanup SPI constructor and destructor

8309
use forced_reset_timeout as delay after reset

7917
Add overhead count in heap stats

[8318](https://github.com/ARMmbed/mbed-os...

Read more

mbed-os-5.10.0

26 Sep 11:34
610e35d
Compare
Choose a tag to compare

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

Summary

In Mbed OS 5.10, we are improving the firmware update user experience. Mbed OS provides integrated firmware over-the-air (OTA) update capability enabled by Pelion Device Management. Mbed OS now makes it seamless and provides secure and flexible IoT firmware update and device management capabilities right from Arm Mbed CLI tool itself. Bluetooth Low Energy (BLE) is quickly becoming the IoT connectivity protocol of choice for a variety of use cases. In Mbed OS 5.10, we are launching Arm Mbed Cordio stack, the world’s first open-source, fully-qualified and production-ready BLE software stack that supports BLE 5 and gives developers even more flexibility in developing new IoT solutions with BLE connectivity.

Security is the most important challenge for the IoT developers. Mbed OS is supporting Arm V8M which has built in Trustzone functionality and laying the foundation for you to build highly secure devices. In Mbed OS 5.10, we are now supporting the Nuvoton M2351 based on the latest ARM V8M core. We are also integrating storage components, such as SPIF, SD and FlashIAP block devices, into the Mbed OS repository to simplify the use of storage components.

In addition, this release contains many minor fixes and enhancements and brings support for 145 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.10.0 release.

Core OS

Enhancing the user experience for firmware OTA updates

Firmware OTA updates are critical for IoT devices to ensure that the IoT device can be maintained throughout its lifecycle. Firmware OTA updates can significantly increase your device’s lifespan. If a device cannot update its firmware over the air, you must go to the field where the device is deployed and update its firmware, which is expensive and not scalable. Mbed OS supports firmware updates enabled by Pelion Device Management and provides flexible, secure and simple IoT device management for any device. It enables the provisioning and connection of IoT end nodes with cost-effective, secure and reliable software updates, ensuring a long product lifetime. In Mbed OS 5.10, we are simplifying the user experience of doing firmware updates. This enhancement means you can seamlessly enable firmware update capabilities in your IoT device. Using Mbed CLI, you can perform firmware updates to your device in fewer commands. You can also prepare firmware updates for one or multiple devices. For more information, please refer to our documentation about updating devices.

Support for ARMv8-M with Nuvoton M2351

Mbed OS supports building highly secure IoT embedded solutions based on the ARMv8-M platform. The most significant enhancement in the ARMv8-M architecture is the inclusion of the TrustZone security extension, a technology that adds a new dimension of security control and allows multiple security domains within a single processor system. This results in enhanced security and simplified development. TrustZone enables a “secure world” that keeps important data, such as private keys or pre-shared keys, isolated from the main operating system and apps. Mbed OS 5.10 supports Nuvoton M2351, based on the Cortex-M23 processor. Mbed OS also provides all necessary tools to support building and deploying both secure and nonsecure sides of application. Please see our tools documentation for more information.

Integration of storage components inside Mbed OS

Storage functionality is an essential requirement for building IoT devices that store data, firmware images and credentials on external MCU memory. Throughout the past few Mbed OS releases, we have developed functionality to support many different types of external memories, such as SPI flash and SD card. The storage drivers were developed as external components to allow continuous development and maturity of those drivers before bringing them inside Mbed OS. In Mbed OS 5.10, we are moving the SD, SPI Flash (SPIF) and FlashIAP drivers into Mbed OS. Integration of storage components into the Mbed OS repository makes it easy to use them and allows the simple add-on of default block device and default file system functionality. We added SD, SPIF and FlashIAP block devices under the new component label configured in target.json. Any board with an SD or SPI Flash component enabled has a default block device and file system. For more information, please visit the SDBlockDevice, SPIFBlockDevice and FlashIAPBlockDevice API documentation.

Quad SPI (QSPI) block device driver

With the cost of memory going down rapidly and performance on MCUs increasing every day, devices are storing more data than ever before. QSPI enables faster data transfer compared to traditional flash and used with components such as connectivity modules, displays and others. With QSPI, Mbed OS can communicate with external memories much faster than through SPI because the communication can be up to four lines between the host and a device. We are releasing the QSPI block device driver to enable NOR-based QSPI flash devices that support SFDP. For more information, please visit the QSPI documentation.

Connectivity

Arm Mbed Cordio Bluetooth Low Energy (BLE) stack

Production-ready open source BLE software stack: BLE is quickly becoming the Internet of Things (IoT) connectivity protocol of choice for a variety of use cases, including smart lighting, smart cities and asset tracking, where low cost, power consumption and a small footprint are fundamental requirements. According to the 2018 Bluetooth Market Update, there will be more than 5 billion Bluetooth device shipments by 2022, with 97% of them containing BLE technology. The advances in Bluetooth 5 technology, along with the introduction of Bluetooth Mesh, are driving new market opportunities across building automation, sensor networks and other IoT solutions.

In Mbed OS 5.10, we are adding Arm Mbed Cordio BLE stack to make it easier and more secure for organizations and developers to add BLE to their IoT devices to drive adoption levels to new heights. Arm Mbed Cordio BLE stack is the world’s first open-source, fully-qualified and production-ready BLE software stack, which gives developers even more flexibility in developing new IoT solutions with BLE connectivity. Using Arm Mbed Cordio BLE stack, you can innovate through Bluetooth 5 which supports 2x the data rate, 4x the range and 8x the broadcast capability compared to the previous version, Bluetooth 4.2.

Near field communication (NFC) card emulation mode support

NFC is a short-range radio technology that enables use cases such as contactless payments, access control and device pairing. We are enabling the card emulation mode in Mbed OS 5.10 through an NFC controller or NFC EEPROM. With Mbed OS 5.10, it is now possible to create NDEF messages that can contain device identification, pairing or sensing data. For more information, please visit the NFC API documentation.

Default network interfaces

Mbed OS 5.10 targets that provide network connectivity also provide a default network interface. This can be Ethernet, Wi-Fi, mesh or cellular. Using a default interface allows you to port applications to different targets and connectivity options. Applications no longer require libraries, such as Easy-connect, to be portable.

Refactored Socket API

This release refactors the Mbed OS Socket API by bringing it closer to the POSIX equivalent. The new design contains an abstract socket interface that applications can use directly. Casting Socket pointers back to TCPSocket or UDPSocket is no longer necessary. For most of the applications, these changes are not noticeable because the TCPSocket and UDPSocket classes still emulate previous behavior. The new design also renders the TCPServer API unnecessary, moving its functionality directly into TCPSocket itself. The legacy TCPServer class still exists and is fully functional.

Connectivity stack always builtin

Applications are no longer required to specify FEATURE_NANOSTACK, FEATURE_LWIP or FEATURE_COMMON_PAL to use any of the connectivity stacks that Mbed OS supplies. Those are always included in the build. This change does not increase any flash use because the linker can drop any unused functions.

Connectivity drivers

For easier integration and testing, this release includes some connectivity drivers for external modules, such as the ESP8266 Wi-Fi driver, AT86RF233 driver and MCR20A driver. Now applications using those drivers receive any applicable bug fixes every time they update Mbed OS.

Security

Update to Mbed TLS 2.13

Mbed TLS 2.13.0 introduces several new features improving our support for DTLS over low-bandwidth, high-latency networks with high packet loss.

Specifically:

  • Support for fragmentation of outgoing handshake messages. This allows the use of Mbed TLS across networks with datagram links with MTUs as low as 512 bytes, making it suitable for NB-IOT networks.

  • Grouping outgoing handshake messages in a single datagram, reducing both the network load and the likelihood of reordering effects.

  • Reordering handshake packets that have been received out of order, reducing the number of retransmissions necessary to complete a handshake and therefore increasing handshake efficiency and reducing network load.

For more information, please visit https://tls.mbed.org/tech-updates/releases/mbedtls-2.13.0-2.7.6-and-2.1.15-released

Targets and tools

Thanks to our Partners’ hard work, Mbed OS 5.10 added 10 new target platforms and now supports 145 target platforms. Here’s a sneak peek at the new Mbed Enabled targets added since Mbed OS 5.9 in alphabetical order:

  • Advante...
Read more

mbed-os-5.9.7

14 Sep 10:05
949cb49
Compare
Choose a tag to compare

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

Summary

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

We have added target support for the following boards in this release:

  • SDT64B
  • SDT8195B
  • SDT32620B
  • SDT32625B
  • SDT51822B
  • SDT52832B
  • MOTE_L152RC

We have fixed a bug where an exception could be thrown when trying to allocate memory for stats logging (7712).

There were a couple of issues with the NRF52 (7707 and 7743) that have been fixed.

We have updated the SPI HAL driver for the MIMXRT1050_EVK.

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

7669
SDT64, 8195, 32620, 32625, 51822, 52832B added to targets

7534
enable MOTE_L152 for OS5

Fixes and Changes

7772
Modified Jenkinsfile into one-liner format.

7810
Eventqueue Templatewall Doxygen Rework

7730
When stack stats enabled, prevent exceptions if memory allocations fail

7652
NRF5x: Fix config of LFCLK source / settings.

7761
ifndef some macros to allow overriding during compilation

7880
Update Greentea EMAC tests

7891
Remove unused cmsis includes.

7788
Cellular: Fixed AT+COPN

7879
Add tests for synchronous dns

7904
MIMXRT1050_EVK: Update SPI HAL driver

7779
Fix for nrf52 pwm issues

7939
Export, Embitz: Avoid assigning self.resources.linker_script

Using this release

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

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