This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Overconsumption when there is no softdevice but with FreeRTOS

Hello,

i'm working on a NRF52810 on which i have ported FreeRTOS because i'm sharing library with another NRF52832 that embeds FreeRTOS too.

I'm issueing an overconsomption on this NRF52810 since i removed the softdevice and i don't know why. I'm testing on an evaluation board so that we can be totally decorrelated from our hardware. 

If i call WFE/WFI before initializing clock like the following :100 

int main(void)
{
    // Initialize low level driver
    timer_init();
    log_init();
    while(1)
    {
        // Wait for an event.
        __WFE();
        // Clear the internal event register.
        __SEV();
        __WFE();
    }

    clock_init();

I have 4.5uA of consumption

But if do it after the clock_init :

    // Initialize low level driver
    timer_init();
    log_init();
    clock_init();
    while(1)
    {
        // Wait for an event.
        __WFE();
        // Clear the internal event register.
        __SEV();
        __WFE();
    }

I have around 470uA. Is that normal ?

WFE/WFI is supposed to be called by nrf_pwr_mgmt_run in my iddle task. What i guess is that it seems nrf_pwr_mgmt_run is not stopping all clock. Am i right ?

Best regards,

Aurélien

Related