Possible to "boot" (execute) a partition without actually rebooting?

p-rimes
Posts: 89
Joined: Thu Jun 08, 2017 6:20 pm

Possible to "boot" (execute) a partition without actually rebooting?

Postby p-rimes » Sat May 19, 2018 5:49 pm

Hi all,

I am trying to find a way to make a IoT solution so that I can have a single image that fits in RAM and flash, but I think I will be unable to have a 2-OTA,1-factory partition layout and re-use the same image for each (just not enough space, nor RAM!)

So, I'm thinking that the factory partition will be a different app+image (bluetooth recovery + rescue, wifi on-boarding only), and the OTA images will not have any blufi/bluetooth features (nor a HTTP server for uploading firmware bins, etc). Thus, if I want to reconfigure an existing device, it would be ideal if I could do the following:

precondition 1: be booted from a booted OTA partition, with some peripherals already initialized
precondition 2: no reboots occur during the following, wifi stays connected to whatever was in NVS
1. temporarily execute the factory partition, ideally leaving peripherals (and wifi!) configured as before
2. (factory partition does its thing, but imagine in this scenario that the user aborts the reconfiguration and wants to keep the current OTA image)
3. exit the factory partition, and resume the OTA partition from before

Importantly, I want to make sure that the device doesn't get stuck on the factory boot (I have a separate flow with reset button support in the bootloader for when I really want that.), I really just want to use some other parts of flash. Maybe I could execute an RTOS task or `app_main` from a different image, without the full boot process?

Who is online

Users browsing this forum: Baidu [Spider] and 174 guests