Hello,

My name is Alvaro. I'm a firmware/hardware engineer and I've been playing
with mynewt at home and at work for a few months now. I mostly hang out in
the mynewt slack, but I've been advised to come here for hal and other
source change discussions.

The one today has to deal with a hal friendly way to access retained
registers. By that, I mean registers that survive a soft reset.
(NRF_POWER->GPREGRET on the NRF series).
My question is: How do we implement this?

For background, my goal is to enter the serial bootloader without
necessarily using the boot pin, so:
1. Set magic value in retained register
2. Call NVIC_SystemReset()
3. Bootloader sees magic value, clears it, and enters bootloader

While this is easy to do by just writing to the NRF_POWER->GPREGRET
register, it doesn't really for for any other platforms. The STM series has
the RTC backup registers, but other platforms might not support it.

Should I add retain register read/write functions to hal_system or should I
add a new hal_retained_reg.

Looking forward to getting this working :D

Cheers,

Alvaro

Reply via email to