Skip to content

NUCLEO-F446RE hard faults when having sleep tracing enabled #10051

@janjongboom

Description

@janjongboom

Description

Verified on Mbed OS 5.11.5. On the NUCLEO-F446RE the board hard faults almost immediately when enabling sleep tracing:

Sleep locks held:
Sleep locks held:
Sleep locks held:
Sleep locks held:
Sleep locks held:
Sleep locks held:
Sleep locks held:
Sleep locks held:
LOCK: Ticker.cpp, ln: 61, lock count: 1
UNLOCK: Ticker.cpp, ln: 32, lock count: 0
LOCK: Ticker.cpp, ln: 61, lock count: 1
UNLOCK: Ticker.cpp, ln: 32, lock count: 0
LOCK: mbed_rtx_idle.cpp, ln: 100, lock count: 1
UNLOCK: mbed_rtx_idle.cpp, ln: 122, lock count: 0
++ MbedOS Error Info ++
Error Status: 0x80020125 Code: 293 Module: 2
Error Message: CMSIS-RTOS error: Stack overflow
Location: 0x8002239
Error Value: 0x1
Current Thread: rtx_idle  Id: 0x200011E4 Entry: 0x800220D StackSize: 0x300 StackMem: 0x20001528 SP: 0x2001FF3C 
For more info, visit: https://armmbed.github.io/mbedos-error/?error=0x80020125
-- MbedOS Error Info --

My application:

#include "mbed.h"
#include "mbed_stats.h"

static DigitalOut led(LED1);

void print_stats()
{
    mbed_stats_cpu_t stats;
    mbed_stats_cpu_get(&stats);
}

int main() {
    while (1) {
        mbed_stats_cpu_t stats;
        mbed_stats_cpu_get(&stats);
        printf("Uptime: %llu ", stats.uptime);
        printf("Idle: %llu ", stats.idle_time);
        printf("Sleep time: %llu ", stats.sleep_time);
        printf("Deep Sleep: %llu\n", stats.deep_sleep_time);

        led = !led;
	    printf("LED is %d\n", led.read());

        // print_stats();
        wait_ms(2000);
    }
}

My mbed_app.json:

{
    "macros": [
        "MBED_TICKLESS=1",
        "MBED_CPU_STATS_ENABLED=1",
        "MBED_SLEEP_TRACING_ENABLED=1"
    ]
}

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