Skip to content

nrf: writes via machine.Flash cause assertion violations with SoftDevice enabled #4170

Open
@bgould

Description

@bgould

When performing writes via the NVMC registers, the SoftDevice generates an assertion violation if enabled.

In the nRF SDK, there are 2 "backends" for flash storage, one via the NVMC controller (as in machine.Flash) and another that designed for compatibility with SoftDevice enabled: https://infocenter.nordicsemi.com/index.jsp?topic=%2Fstruct_sdk%2Fstruct%2Fsdk_nrf5_latest.html

It would be nice to be able to support both backends; It could be the case that the implementation of the SoftDevice backend belongs in tinygo.org/x/bluetooth (or a subpackage). In that case, it might be beneficial to refactor machine.Flash to allow for specifying a "backend" other than the NVMC implementation.

relevant "SD" fstorage backend implementation: https://github.com/cmdwtf/nRF5_SDK/blob/master/components/libraries/fstorage/nrf_fstorage_sd.c

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingnRFNordic Semi

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions