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

nRF52833 development

Hello all,

I am working on low power sensor development with nRF52833 as target. I have some questions but I'm not sure it this was addressed in some other posts.

1. I don't have nRF52833 DK but instead I use nRF52840DK for development under SES environment. What in particular should I be aware of when generating target code for nRF52833?

2. I wan't to place sensor in sleep state for longer period of time. From product spec I understand that I should use wake on RTC and no RAM retention for lowest possible power. Because of no RAM retention, I need CPU to restart after timeout, not to go to application timer timeout handler but to top of main. How can I set this up?

Thanks

Parents
  • Hi

    Correct, the System ON, RTC, No RAM retention is the lowest power state allowing wakeups from an internal timer. I'm sorry, I'm not exactly sure I follow on the reset you're talking about. Is there any particular reason you need to go back on top of main upon wake-up? The RTC timer will be reset and triggered again once your device is put back to sleep, so I'm not sure what you're referring to here.

    Best regards,

    Simon

Reply
  • Hi

    Correct, the System ON, RTC, No RAM retention is the lowest power state allowing wakeups from an internal timer. I'm sorry, I'm not exactly sure I follow on the reset you're talking about. Is there any particular reason you need to go back on top of main upon wake-up? The RTC timer will be reset and triggered again once your device is put back to sleep, so I'm not sure what you're referring to here.

    Best regards,

    Simon

Children
  • Hi Simon,

    My understanding is that data stored to RAM with no retention will simply "evaporate" after some time. Basically, we are unplugging the power source to RAM.

    If device goes to sleep and there is no RAM retention, then when device wakes up by RTC (after few hours), all data stored to RAM will be invalid, like stack and all other variables. And CPU could go to some undefined state when reading faulty data from RAM. Same would happen if you have RAM hardware fault for example. 

    This is why I think RTC wake up after sleep with no RAM retention  has to be followed by device reset (or cold restart, reboot... such that RAM is first powered on and then initialised before being used). Or alternatively, at least some minimal part of RAM has to be retained.

Related