Skip to content

STM32L486RG/MTB_ADV_WISE_1570 losing data when mbed tickless is enabled #11954

@soleilplanet

Description

@soleilplanet

Description of defect

When MBED_TICKLESS is set to 1, there are data losses observed on multiple peripherals.
For example, cellular stack using ATHandler. The UART is receiving corrupted data when tickless and enabled. An example case is when the modem repots SIM Ready, it sends back a string of 'READY', but the cellular stack sometimes receives 'RDY', sometimes, receives 'ADY', sometimes receives
the full 'READY'.
Same situation observed with SPI Block Device. when tickless is enabled, the file system read sometimes reads back corrupted data.
Issue will not be observed when tickless is disabled with the same code.
We've observed similar issue on F4 series and it was a timing issue of deep sleep, so tried to test a few combinations of configurations. So far the following configuration works on my board for your reference:
"lpticker_delay_ticks": 4
"deep-sleep-latency": 3

Target(s) affected by this defect ?

STM32L486RG
MTB_ADV_WISE_1570

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

GCC
ARMC6
(IAR was not tested)

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

mbed-os-5.14.1

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

mbed-cli 1.10.0

How is this defect reproduced ?

For WISE-1570, it has a NB-IoT on it, so just run cellular example on it and you can observe it. It is much easier to reproduce with modem interface baudrate 115200 and with mbed-trace enabled in debug level; the cellular stack just cannot ramp up to the network because it cannot get through the SIM check due to the missing bytes in AT commands.

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