Skip to content

NetworkInterface connect call hard faults when PSA is enabled on Cypress targets #11740

@linlingao

Description

@linlingao

Description of defect

Pelion example crashes when PSA is enabled in mbed_app.json during NetworkInterface connect().

NetworkInterface connect call triggers init_sdio_bus(), which calls cybsp_get_wifi_sdio_obj(). The sdio_obj retrieved is not initialized. This sdio_obj is initialized in cybsp_init(), but cybsp_init is called only when PSA is disabled, in mbed_overrides.c

#if !defined(TARGET_PSA)
/* Set up the device based on configurator selections /
cybsp_init();
/

* Init the us Ticker here to avoid imposing on the limited stack space of the idle thread.
* This also allows the first call to sleep to occur faster.
*/
us_ticker_init();
#endif

I'm not sure what the rationale is behind this guard. PSA should have nothing to do with cybsp_init and us_ticker_init.

Target(s) affected by this defect ?

CY8CPROTO_062_4343W and possibly other similar targets

Toolchain(s) (name and version) displaying this defect ?

GCC_ARM and possibly all toolchains

What version of Mbed-os are you using (tag or sha) ?

5.14.1 and possibly earlier releases

What version(s) of tools are you using. List all that apply (E.g. mbed-cli)

Shouldn't matter

How is this defect reproduced ?

Build mbed-os-example-pelion for cy8cproto_062_4343w with this PR:
ARMmbed/mbed-os-example-pelion#37

The application should throw an exception.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions