mbed Library Releases

Table of Contents

  1. mbed
  2. rtos

Mbed OS 2 and Mbed OS 5

This is the handbook for Mbed OS 2. If you’re working with Mbed OS 5, please see the new handbook.

Changelogs of the libraries officially supported by the mbed team:

mbed

http://mbed.org/users/mbed_official/code/mbed/

[Rev 58] changelog:

  • [IAR toolchain] Position Stack and Heap in the same ordered block, reserve memory area for NVIC.

[Rev 57] changelog:

  • Add semihosting support for IAR toolchain
  • Improve IAR stdio retargeting

[Rev 55-56] changelog:

  • Add initial IAR toolchain support
  • LPC I2C: better handling of status
  • GCC: Correct "_isatty" retargeting and "semihost" definition
  • Include "sleep_api.h" in "mbed.h"
  • Add sleep mode support for the LPC1768

[Rev 54] changelog:

  • Support "stream as file" use case
  • Unify binary libraries
  • Update copyright

[Rev 53] changelog:

  • I2C LPC: fix status after start bit

[Rev 52] changelog:

  • Fix a bug in the LPC1768 InterruptIn handler

[Rev 51] changelog:

  • Duplicate Serial enums for backward compatibility.

[Rev 50] changelog:

  • Do not generate error in the InterruptIn constructor in case of NC pin.

[Rev 49] changelog:

  • Rename "debug.h" to "mbed_debug.h" to avoid clashes with legacy debug headers.

[Rev 48] changelog:

  • Fix a bug in "opendir" (libc retargeting).

[Rev 47] changelog:

  • Add a debug API

[Rev 46] changelog:

  • Update CMSIS-CORE to v3.02

[Rev 45] changelog:

  • Fix a bug in the LPC1768 serial interrupt handler

[Rev 44] changelog: This is a complete refactoring of the mbed library to move the target dependent code to a thin well defined layer, defining a proper object oriented C API.

  • Remove RTTI
  • Remove Base class.
  • Move RPC to a separate open source library.
  • Introduce MIT license file header
  • Properly define an Object Oriented C API.
  • Move parameter type definitions from the C++ layer to the C API.
  • Move target dependent logic from the C++ layer to the C layer.
  • Separate C API implementations by silicon vendor.
  • Move SerialHalfDuplex and SPIHalfDuplex to a separate library.

For further details see:

API Changes

Revision 44 is a complete refactoring of the mbed library to move the target dependent code to a thin well defined layer, defining a proper object oriented C API. This introduced few minor changes to the mbed API:

  • We moved the RPC logic in a separate library. Now the RPC class is not the base class of every mbed library class, for this reason the constructors do not take any more an optional "char* name" argument. If you are getting a compilation error of the type "No instance of constructor mbed::ClassName::ClassName" matches the argument list, you probably just need to drop the name parameter.
  • The protected Serial class member int _uidx; is now a field of the serial_t structure: serial_t _serial;.

_uidx -> _serial.index

[Rev 43] changelog:

  • Update CMSIS core to V3.0

[Rev 40-42] changelog:

  • Move export toolchain builds

Build System Change

Starting from these revisions the build system builds C files as C syntax and C++ files as C++ syntax. See: Compile C as C and C++ as C++

If updating the mbed library you get "odd" compilation errors about unidentified C++ keywords (like: "identifier namespace is undefined"), you have a quick and simple fix: rename your "*.c" file to "*.cpp".

[Rev 39] changelog:

  • Make sure stdio retargeting gets always linked in, even when no other symbol from the mbed library is used.

[Rev 38] changelog:

  • Fix a M0 sleep bug (properly track if the interface chip is attached)

[Rev 37] changelog:

  • Revert few system configuration changes from "system_LPC17xx.c"

[Rev 36] changelog:

  • Fix SPI set frequency rounding

[Rev 35] changelog:

  • Move CAN::attach template implementation to header.
  • CMSIS v3 updates

[Rev 34] changelog:

  • API to directly access the local file system without passing through the C standard library file system (unbuffered in the microlib).

[Rev 33] changelog:

  • Fix I2C set frequency bug
  • Fix mbed_interface_reset bug
  • Update LPC11U24/core_cm0.h to latest CMSIS version

[Rev 32] changelog:

[Rev 31] changelog:

  • Add M0 implementations of:
    • PortIn, PortOut and PortInOut
    • RPC support
    • PwmOut
  • Bugfix in stdio retargeting for GCC toolchains: avoid resetting the baud of UART0 if it is already initialized

[Rev 29] changelog: This release of the library introduce support for new toolchains and a new target:

  • LPC11U24 (Cortex-M0) support
  • Multiple toolchain support:
    • ARM compiler with standard libraries
    • ARM compiler with a version of the microlib libraries patched to support C++
    • CodeSourcery GCC
    • CodeRed GCC
    • ARM GCC

rtos

http://mbed.org/users/mbed_official/code/mbed-rtos/

[Rev 8] changelog: Add "Thread::get_state" method.

[Rev 7] changelog: Avoid using C++ keyword for C structure filed name

[Rev 6] changelog:

  • Merge RTOS C++ API and RTX under the same library
  • Update RTX to version 4.60
  • Add proper Thread destructor

[Rev 5] changelog: Move the RTX configuration file in the RTX library

[Rev 4] changelog: Implement new RTOS memory model for LPC11U24

[Rev 3] changelog: Update stack sizes configuration

[Rev 2] changelog: Improve RTOS memory usage

[Rev 1] changelog: Remove requirement for additional static memory pool