Releases: ARMmbed/mbed-os
mbed-os-5.4.4
We are pleased to announce the mbed OS 5.4.4 release is now available. This release includes a reworking of the internal ADC channels code for numerous STM boards, a new callback API for CAN, support for the bootloader and FlashIAP for NUC472/M453, plus numerous core software and tools bug fixes to improve and further stabilize the codebase.
Fixes and changes
4008: [NUC472/M453] Support bootloader and FlashIAP
4102: Add SCL and SDA defs for I2C[0-2]; redefine I2C_[SCL,SDA] to I2C2
4106: Fix a scoping typo in toolchains
4118: [STM32F4] Rework internal ADC channels
4126: [STM32F4] Remove SERIAL_TX and SERIAL_RX from available pins
4069: Update gnuarmeclipse
to preprocess linker scripts
4107: Allow configuration of artifact name in app config
4122: Fix compiler warning in mbed_retarget.cpp
4123: Update CAN to new Callback API
4148: Revert "STM32F4 Internal ADC channels rework"
4152: [STM32F4] Rework internal ADC channels
4074: [Silicon Labs] Update pinout
4133: [U-BLOX_C030] Default XTAL is now 12MHz onboard. Option to use Debug 8MHz
4141: Fix mbed_board.c
compiler warning
4168: Generate GNU ARM Eclipse .mbedignore
file with jinja2
4170: Fix include paths for Windows builds
4173: Fix Traceback in CMSIS export
4142: [EFM32] Fixed pwmout_all_inactive
being inversed
3888: [Tools] Add new examples
4016: [NRF5] Fix rtc overflow-while-set-timestamp issue
4031: [STM32] Increase IAR heap size for big RAM targets
4129: Remove old filesystem test
4137: [MCUXpresso] Update ARM linker files to eliminate reserving RAM for stack and heap
4150: Move config system into its own folder and refactor header generation
4171: Fix typo in lpcxpresso
exporter template
4172: Fail IAR exports without linker scripts with NotSupportedException
4176: [STM32L4] Rework internal ADC channels
4184: [Events] Remove strict-aliasing warning
4192: Fix gcc [-Wsign-compare] warning
4154: [STM32F7] Rework internal ADC channels
4174: [NRF52840] Fix rtc overflow-while-set-timestamp issue
4180: [UBLOX_C030] Create target hierarchy for the specific versions of the C030 board
4153: [STM32F2] Rework internal ADC channels
Using the release
You can fetch the mbed OS 5.4.4 release from the mbed-os GitHub repository, using the tag "mbed-os-5.4.4".
Please feel free to ask any questions or provide feedback on this release on the forum or to contact us at [email protected].
mbed-os-5.4.3
We are pleased to announce the mbed OS 5.4.3 release is now available. This release includes new target support for nRf52840 and UBLOX_C030. There are also a number of bug fixes to improve the stability of the code and improvements to the tools.
Ports for upcoming targets
3841: Add nRf52840 target
3992: Introducing UBLOX_C030 platform
Fixes and changes
3951: [NUCLEO_F303ZE] Correct ARDUINO pin
4021: Fix a macro to detect when RTOS was in use for the NRF52840_DK
3979: [KW24D] Add missing SPI defines and Arduino connector definitions
3990: [UBLOX_C027] Construct a ticker-based wait, rather than calling wait_ms(), in the C027 board startup code
4000: Add some type checking of configs
4003: Fix OBOE in async serial tx for NRF52 target, fix #4002
4012: [STM32] Correct I2C master error handling
4020: [NUCLEO_L011K4] Remove unsupported toolchain files
4046: [USBHOST] Fix device disconnection from hub during hub port reset
4049: [Tools] Turn off page alignment of sections
4065: [K66F] Move bss section to m_data_2 Section
4014: [Issue 3763] Reduce heap allocation in the GCC linker file
4030: [STM32L0] Reduce IAR heap and stack size for small targets
4060: [lpc1768] Remove invalid use of IP_SOF_BROADCAST_RECV option
4070: Elide adding regions to profile when empty
4072: Remove superfluous space
4085: Fix mbed-cli issue #468 and add LPCTargetCode.lpc_patch to POST_BINARY_WHITELIST
4101: Modify semihost_disabledebug() to support more interface FW revs
4109: [NUCLEO_L476RG] Make minor serial pin update
3911: [IAR exporter] Extend debugger settings template with modifiable options needed for Nordic targets
3982: [Ticker] Fix kl25z bug for handling events in the past
4112: Only link in LPC17xx ethernet ISR as needed
4098: Raise error when mbed_app.json is bad
Using the release
You can fetch the mbed OS 5.4.3 release from the mbed-os GitHub repository, using the tag "mbed-os-5.4.3".
Please feel free to ask any questions or provide feedback on this release on the forum, or to contact us at [email protected].
mbed-os-5.4.2
We are pleased to announce the mbed OS 5.4.2 release is now available.
This release includes support for the new target EFM32PG12, some driver updates for NUC472/M453, an update for STM32 to Cube version v1.6.0 and TLS hw acceleration (AES ECB) for NUCLEO_F439ZI. There are also bug fixes and improvements to the tools and mbed-os core.
Ports for upcoming targets
3934: [Silicon Labs] Update to HAL and devices
Fixes and changes
3691: [TLS/hw acceleration] AES ECB for NUCLEO_F439ZI
3827: Correct return values for I2C::write(int, const char*, int, bool)
3862: Trap earlier when a Thread instance is reused
3869: [NCS36510] Default range changed from 0 to 950mV - ADC
3893: [STM32F7] Update STM32 Cube version v1.6.0
3895: Use PATH env variable when GCC found in PATH
3917: Fix mistake register setting in serial_format()
3931: ARM Pack Manager improvements
3927: [DELTA_DFBM_NQ620] Add RC calibration setting and revise mbed_overrides.c
3747: bd: Add randomness to block device test and more debug friendly output
3918: [NUC472/M453] Support unique locally administered MAC address and other driver updates
3920: Adjust heap size to work for both tls-client and mbed-client
3924: Don't set the build_dir to anything on export
3933: #3593 Add template entry to fix exported project build error
3953: OS2 tests minor updates for STM32
3969: [NUCLEO_F302R8] Add missing PB_8/PB_9 CAN pins
3975: [NSAPI/lwIP] Free held netbuf on close
3976: mbed-coap error fixes merge to mbed OS
3968: [Greentea] Fix test code mbed-os-tests-mbed_hal-flash
3949: Fix C declaration of dir functions and types
3922: Fix/improve error parsing from API messages
3939: Update mbed trace
Using the release
You can fetch the mbed OS 5.4.2 release from the mbed-os GitHub repository, using the tag "mbed-os-5.4.2".
Please feel free to ask any questions or provide feedback on this release on the forum, or to contact us at [email protected].
mbed-os-5.4.1
We are pleased to announce the mbed OS 5.4.1 release is now available.
This release includes an update of mbed TLS to version 2.4.2, bringing essential and critical security patches, including a fix for CVE-2017-2784. For core mbed OS, there are a number of bug fixes to improve the stability of the code and improvements to the tools.
Fixes and changes
3716: fix for issue #3715: correction in startup files for ARM and IAR, alignment of system_stm32f429xx.c files
3741: STM32 remove warning in hal_tick_32b.c file
3780: STM32L4 : Fix GPIO G port compatibility
3831: NCS36510: SPISLAVE enabled (Conflict resolved)
3832: lwip: Increase timeout on network tests with python projects
3836: Allow to redefine nRF's PSTORAGE_NUM_OF_PAGES outside of the mbed-os
3840: STM32: gpio SPEED - always set High Speed by default
3844: STM32 GPIO: Typo correction. Update comment (GPIO_IP_WITHOUT_BRR)
3846: STORAGE: removal of unsupported tests having ported to sd-driver repository
3850: STM32: change spi error to debug warning
3860: Define GPIO_IP_WITHOUT_BRR for xDot platform
3875: Add post-build hook white-list to exporters
3880: DISCO_F469NI: allow the use of CAN2 instance when CAN1 is not activated
3897: Ignore FuzzyWuzzy warnings
3898: Prevent underflow in heap size calculation
3913: [NRF51822] Fix reference to sleep in hal_patch override
3795: Fix pwm period calc
3828: STM32 CAN API: correct format and type
3842: TARGET_NRF: corrected spi_init() to properly handle re-initialization
3843: STM32L476xG: set APB2 clock to 80MHz (instead of 40MHz)
3852: Ignore build directory from scan resources
3866: bd: Fix missing const attributes on functions
3879: NUCLEO_F446ZE: Add missing AnalogIn pins on PF_3, PF_5 and PF_10.
3877: Update mbed TLS feature to mbedtls-2.4.2
3902: Fix heap and stack size for NUCLEO_F746ZG
3864: Fix mbed 2 builds
3829: can_write(): return error code when no tx mailboxes are available
Using the release
You can fetch the mbed OS 5.4.1 release from the mbed-os GitHub repository, using the tag "mbed-os-5.4.1".
Please feel free to ask any questions or provide feedback on this release on the forum, or to contact us at [email protected].
mbed-os-5.4.0
This is the release note for ARM mbed OS 5.4.0. It summarizes the major enhancements in this version.
You can find the mbed OS 5.4.0 release on GitHub.
About this release
mbed OS 5.4.0 incorporates functionality you can use to prepare for the upcoming mbed Cloud device management services. This includes bootloader and filesystem infrastructure and the certified Thread 1.1 stack for developers. In addition, this release contains many minor fixes and enhancements and brings target platform support up to 74 targets.
The following sections provide more details about this release.
Core
mbed OS 5.4 adds flexible filesystem support to address the needs of IoT applications requiring storage within the end node. This release already includes a FAT filesystem implementation for removable media, such as SD cards, and future releases will add embedded flash filesystems and encryption.
The filesystem is integrated with the C standard libraries of the ARM, IAR and GCC compilers. It is available for use across all mbed Enabled platforms.
The release also includes early access to the mbed OS bootloader, so partners can add support for their targets' flash controllers. This forms part of the support for the upcoming mbed Cloud Update service, which allows managing device firmware update campaigns.
To read the documentation, see file system and bootloader.
Connectivity
mbed OS 5.4 uses the recently certified mbed Thread 1.1 stack to provide solutions for building end nodes and border routers.
A Linux-based Access Point reference that uses the Thread border router is also available.
The mbed OS LoRaWAN APIs are available for partner feedback and integration.
Security
The mbed crypto libraries in mbed TLS include all the internal partner APIs and documentation for enabling hardware entropy and symmetric and asymmetric cryptographic acceleration. Partners are working on implementations for their target platforms, and a partner workshop will support them. We expect support for the first set of targets in 5.5.
Upcoming
The feature branch work on our CMSIS5 and CMSIS-RTOS2 upgrade is nearing completion, so testing will begin soon after the release of 5.4. We are aiming for inclusion on mainline for 5.5.
Throughout the year, we also plan a program of upgrading supported compilers to ensure the latest features and fixes from the different ARM compilers are available to developers; this will mean supporting ARM GCC Embedded 6, ARM Compiler 6 and IAR Embedded Workbench 8.
If you would like to be involved in helping test any of these upgrades to help minimize the effect on developers, please contact us.
Targets
Thanks to our partners’ hard work, mbed OS 5.4 now supports 74 target platforms.
We will continue to add new targets in our biweekly releases as partners introduce support.
Fixes and changes
Please see the mbed-os
GitHub repository referenced below for a full list of changes introduced in this release.
Known Issues
Online IDE does not support multiple binary production
-
Description: Compiling an application with bootloader only produces the standalone application binary. It should produce the composite binary.
-
Workaround: Use mbed CLI.
-
Reported Issue: ARMmbed/mbed-os-example-bootloader-blinky#4
-
Priority: MAJOR
mbed TLS causes stack overflow in mbed OS targets
-
Description: The stack memory usage of some mbed TLS features is higher than 4 KB, which may cause stack overflow errors when running in constrained embedded environments with mbed OS, which are particularly limited in RAM.
-
Workaround: The amount of stack required depends on the application and what features of the library it chooses to use. More intensive, demanding tasks may not be possible on more limited, constrained devices, so we recommend designing for the limitations of the target device or choosing a device suitable for your application.
-
Reported Issue: ARMmbed/mbed-os-example-tls#14
-
Priority: MAJOR
mbed TLS DTLS renegotiation checks also compare record epoch value
-
Description: The TLS renegotiation routines execute after the DTLS record sequence number for incoming or outgoing messages has exceeded a user-defined period. According to the RFC 6347 Section 4.3.1, the record sequence is a 6 byte unsigned integer, but the mbed TLS function
ssl_check_ctr_renegotiate()
compares 8 bytes. The additional 2 bytes correspond to the record epoch value, which may result in the incorrect execution of the renegotiation routines. -
Workaround: There is no known workaround for this issue.
-
Reported Issue: Mbed-TLS/mbedtls#687
-
Priority: MAJOR
mbed TLS server does not check that TLS_FALLBACK_SCSV is the last cipher suite
-
Description: An mbed TLS server does not check that the TLS_FALLBACK_SCSV value is the last element in the cipher suites part of the ClientHello message. Note that RFC7505 Section 4 states that placing the SCSV at that position is a SHOULD for the client. However, the server behavior description in RFC7505 Section 5 does not prescribe anything regarding the location of the TLS_FALLBACK_SCSV in the ClientHello.
-
Workaround: There is no known workaround for this issue.
-
Reported Issue: Mbed-TLS/mbedtls#810
-
Priority: MAJOR
mbed TLS commissioner does not retransmit message when it receives retransmission
-
Description: There are two issues with DTLS handshake retransmission. First, the joiner fails to correctly parse received records because it does not correctly handle queued retransmissions received. Second, the commissioner may cause a deadlock because it does not retransmit certain records after it receives retransmission as instructed in RFC6347 Section 4.2.4.
-
Workaround: There is no known workaround.
-
Reported Issue: openthread/openthread#1207
-
Priority: MAJOR
Using the release
You can fetch the mbed OS 5.4.0 release from the mbed-os GitHub repository using the tag “mbed-os-5.4.0”.
Please feel free to ask any questions or provide feedback about this release on the forum, or to contact us at [email protected].
mbed-os-5.3.6
We are pleased to announce the mbed OS 5.3.6 release is now available.
This release includes a number of bug fixes to improve stability.
Fixes and Changes
3590: [NUC472/M453] Export IAR project and other bugfixes
3740: STM32L4 HAL update for RTC Wake Up Timer
3739: STM32F7 : remove multiple HSE_VALUE define value
3759: STM32: spi_frequency table index fix
3760: Fix #3756 for 64 bytes transfers
3779: NCS36510: Fix the sporadic semaphore timing issue
3806: NXP KL43Z/KL27Z: fix spi format bits check
3814: NCS36510: I2C idle delay of 1us
3803: Bug fix of initial value of interrupt edge in "gpio_irq_init" again
Using the release
You can fetch the mbed OS 5.3.6 release from the mbed-os GitHub repository,
using the tag "mbed-os-5.3.6".
Please feel free to ask any questions or provide feedback on this release on the forum, or to contact us at [email protected].
mbed-os-5.3.5
We are pleased to announce that the mbed OS 5.3.5 release is now available.
Fixes and Changes
3432: Target STM USBHOST support
3181: NUCLEO_F207ZG extending PeripheralPins.c: all available alternate functions can be used now
3624: Fix Stack stats by running the test command with "-DMBED_HEAP_STATS_ENABLED=1"
3626: NUCLEO_F412ZG : Add USB Device +Host
3628: Fix warnings
3629: STM32: L0 LL layer
3632: IDE Export support for platform VK_RZ_A1H
3642: Missing IRQ pin fix for platform VK_RZ_A1H
3653: Adding fatal error detection to toolchains
3661: [Exporters] Add core to uvision exporter template
3664: Fix ncs36510 sleep definitions
3655: [STM32F4] Modify folder structure
3657: [STM32L4] Modify folder structure
3658: [STM32F3] Modify folder structure
3685: STM32: I2C: reset state machine
3689: Updated to allow for new directory structure for mbed-dev source.
3718: Fixing uvisor defines to fix build issues
3692: uVisor: Standardize available legacy heap and stack
3621: Fix for #2884, LPC824: export to LPCXpresso, target running with wron
3649: [STM32F7] Modify folder structure
3669: Adding case insensitive 'error' detection
3695: Enforce device_name is valid in targets.json
3717: Add IAR export support for NUCLEO_F207ZG
3723: NCS36510: spi_format function bug fix
3727: Fix access before variable defined bug in test_api
3708: [NUC472/M453] Fix USB EP setting error in USBAudio
Using the release
You can fetch the mbed OS 5.3.5 release from the mbed-os GitHub repository,
using the tag "mbed-os-5.3.5".
Please feel free to ask any questions or provide feedback on this release on the forum, or to contact us at [email protected].
mbed-os-5.3.4
We are pleased to announce the mbed OS 5.3.4 release is now available.
This release includes:
- New target support for DISCO_F769NI, DELTA_DFCM_NNN50 and MAX32630FTHR.
- Miscellaneous tool updates and fixes.
Known Issues
No known issues for this release.
Ports for Upcoming Targets
3571: DISCO_F769NI introduction
3605: Add DELTA_DFCM_NNN50 platform
3640: [MAX32630FTHR] Adding new platform
Fixes and Changes
3397: Add uVisor support for the DISCO_F429ZI
3573: fix failing RTC initialization for MTS_DRAGONFLY_F411RE
3575: Dev stm factorize gpio
3584: STM32: make PeripheralPins.h a common file
3583: STM32F7 Cube FW new release v1.5.1
3534: Turn on debugging by default when exporting. Remove optimizations for IAR and Uvision
3560: Refactor scan resources to account for base_paths
3574: Fix invalid assert in exporters
3578: Target system - Inherit names from target parents
3586: Linking to latest
3587: Fixing toolchain executable not found error for build.py
3588: arm-pack-manager - fix tracebacks
3594: Allow user overrides of LINKER_SCRIPT Make variable
3599: K22F: Enable TRNG
3600: [toolchains] Refactor sys libs
3603: Delete testing_mbed_OS_5.md
3604: Renaming test_env.cpp in greentea to avoid warning
3608: Exporters: make jinja engine strict
3612: tests: Fix error on MacOS for udp_dtls_handshake test
3613: README: Build info; Docs version updated
3614: STM32: make PortNames.h a common file
3617: EFM32GG: Fix GCC_ARM linker script
3618: STM32: Move types definitions to a common file
3601: Clean export dir
3630: Delete mbed_targets.md
3631: F3 CUBE update V1.7.0
3635: STM32 I2C : Fix bug in i2c_byte_read function
3651: Max32630 - fix LED4
Using the release
You can fetch the mbed OS 5.3.4 release from the mbed-os GitHub repository,
using the tag "mbed-os-5.3.4".
Please feel free to ask any questions or provide feedback on this release on the forum, or to contact us at [email protected].
mbed-os-5.3.3
We are pleased to announce that the mbed OS 5.3.3 release is now available.
This release includes numerous fixes to code and tools (listed below).
Known Issues
There are no known issues for this release.
Fixes and Changes
3470: [RZ/A1H]Support RTX v4.80 for Cortex-A and a few Malloc API
3488: Dev stm i2c v2 unitary functions
3492: Fix #3463 CAN read() return value
3503: [LPC15xx] Ensure that PWM=1 is resolved correctly
3504: [LPC15xx] CAN implementation improvements
3513: NUCLEO_F412ZG - Add platform in RTOS tests + build_travis
3514: [NUC472/M453] Remove Tab in USB HAL
3518: Preventing app_config from clobbering CLI macros
3526: lwip - Fix static IP address issues with IPv4
3531: Correctly format include paths for eclipse export
3537: Remove default -m and -i options for project.py
3538: Remove deprecated clean argument
3539: NUCLEO_F412ZG - Add support of TRNG peripheral
3540: STM: SPI: Initialize Rx in spi_master_write
3438: K64F: Add support for SERIAL ASYNCH API
3521: Repair the Emblocks exporer and rename to EmBitz
3550: events - Fix overflow of timeout on STM32F4
3559: exporters - group by directories in prj root
3519: MCUXpresso: Fix ENET driver to enable interrupts after interrupt handler is set
3528: Modify update command to directly edit the mbed-os.lib files for each example
3532: Eclipse debug fixes (build w/ DEBUG=1 and load symbols)
3544: STM32L4 deepsleep improvement
3546: NUCLEO-F412ZG - Add CAN peripheral
3547: Add support for ethernet-only configuration with Nanostack.
3551: Fix I2C driver for RZ/A1H
3562: Alphabetize UVision groups
3558: K64F UART Asynch API: Fix synchronization issue
3563: LPC4088 - Fix vector checksum
3567: Dev stm32 F0 v1.7.0
3577: Fixes linking errors when building with debug profile
Using the release
You can fetch the mbed OS 5.3.3 release from the mbed-os GitHub repository,
using the tag "mbed-os-5.3.3".
Please feel free to ask any questions or provide feedback on this release on the forum, or to contact us at [email protected].
mbed-os-5.3.2
We are pleased to announce the mbed OS 5.3.2 release is now available.
This release includes:
- New target support for UBLOX_EVK_NINA_B1.
- A rename of the KSDK2 package to MCUXpresso.
- CAN support for the DISCO_F303VC.
- A number of bug fixes and improvements.
Ports for Upcoming Targets
3459: Target: Add new target UBLOX_EVK_NINA_B1
Fixes and Changes
3430: Fix ci shield eeprom test
3381: STM32F1 : map ST HAL assert into MBED assert
3389: STM32F2 : map ST HAL assert into MBED assert
3390: STM32F3 : map ST HAL assert into MBED assert
3402: nsapi - Fixed open/close issue in Socket
3410: STM32L4 : map ST HAL assert into MBED assert
3422: Enable CAN on DISCO_F303VC
3428: Change slave address in I2C master slave asynch test
3442: Dev stm i2c f1
3450: Correctly filtering examples in test script
3460: KSDK I2C: Update the return value to match the API documentation change
3478: Delete TESTING.md
3477: Delete COMMITTERS.md
3479: Delete Toolchain_Profiles.md
3480: Delete config_system.md
3481: Delete memap.md
3339: USB audio callback rx and tx
3472: [RZ/A1H]Fix TTB setting of RO_DATA area
3439: Remove unused arguments from detect targets
3451: Rename KSDK2 to MCUXpresso. This is the new name of this package
3469: Remove invalid thread::start example
3391: STM32F4 : map ST HAL assert into MBED assert
3454: STM32: Refactor lp_ticker.c + rtc_api.c + sleep.c + rtc_api_hal.h files
3457: [ONME-2844] Supporting non-blocking connect()
3458: [ONME-2844] Avoid option level collisions
3484: Limiting the thread stack for parallel threads test
3486: Move clean functionality out of the export api
3493: Delete events.md
3494: Delete ignoring_files_from_build.md
3476: Removing default toolchain paths
3489: NUCLEO_F103RB - Correct CAN and PWM alternate-functions
3405: Repair the transmit mailbox (0,1,2) empty interrupt flag not clear BUG
3473: Stm32f7 ethernet fix for IAR issue #3387
3475: Delete BUILDING.md
3483: Improve error message when exporting for make without a linker script
3490: Fix deprecated Thread ctor usage in RTOS tests
3502: MCUXpresso I2C: Handle 0 byte write
3500: Update mbed-client-c version 3.0.4
3365: [NUC472/M453] Support USB device
Using the release
You can fetch the mbed OS 5.3.2 release from the mbed-os GitHub repository,
using the tag "mbed-os-5.3.2".
Please feel free to ask any questions or provide feedback on this release on the forum, or to contact us at [email protected].