Skip to content

Prematurely introduced feature in PATCH release of Mbed OS (5.11.2) #9519

@screamerbg

Description

@screamerbg

Description

In Mbed OS 5.11.2 (PATCH release), a feature was introduced to blockdevice, which breaks blockdevice drivers that do not live inside Mbed OS - #9135

This is diverging from the Mbed OS features release policy and also from principles of how code is rolled out in Mbed OS so far (Mbed OS 5.0 and onwards). CC @sg- @SenRamakri @mskedia

Additionally, this prematurely introduced feature breaks all Nuvoton based platforms that connect to Pelion, which use external SD card DMA driver (specific to Nuvoton) to store credentials and firmware images. For clarity, the impacted boards are:

  • NUMAKER_IOT_M487
  • NUMAKER_PFM_M487
  • NUMAKER_PFM_NUC472

Due to the patch, any Pelion DM or storage example which makes use of the Nuvoton SD DMA driver (or any external blockdevice driver for Mbed OS), fails with the following error:

Error:  #322: object of abstract class type "NuSDBlockDevice" is not allowed:
            pure virtual function "mbed::BlockDevice::get_type"  has no overrider

Lastly, we don't expect that every single blockdevice driver will live inside Mbed OS, just as we don't anticipate that other drivers (IP connectivity, BLE, etc) will always live inside Mbed OS. Therefore, the patch should be reverted and removed from the Mbed OS codebase immediately, and reintroduced in Mbed OS 5.12.

I'll mark the issue as bug, although it is an issue with the release process of Mbed OS.

CC @0xc0170 @samchuarm @cyliangtw

Issue request type

[ ] Question
[ ] Enhancement
[X] Bug

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions