Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using rboot as bootloader (OTA support) #477

Closed
jorgempy opened this issue Jun 10, 2015 · 3 comments
Closed

Using rboot as bootloader (OTA support) #477

jorgempy opened this issue Jun 10, 2015 · 3 comments

Comments

@jorgempy
Copy link
Contributor

Hi, i wonder if some of the people that knows the build process of nodemcu have seen rboot bootloader, if so, it sounds like a good option to achieve OTA upgrades, a simple wrapper of the OTA api exposed by rboot will allow us to upgrade the esp's easily.
I read in another issue that the problem was that the nodemcu image is bigger than the rom boundary (512kb if i recall correctly). The thing with this bootloader is that it allows roms to have arbitrary sizes, from the readme of rboot:

It has the following advantages over the Espressif loader:
  - Open source (written in C).
  - Supports up to 256 roms.
  - Roms can be variable size.
  - Able to test multiple roms to find a valid backup (without resetting).
  - Flash layout can be changed on the fly (with care and appropriately linked
    rom images).
  - GPIO support for rom selection.
  - Reserves less ram (16 bytes vs. 144 bytes for the SDK loader).
  - Documented config structure to allow easy editing from user code.
 [...]
You can can then write your two roms to flash
addresses 0x2000 and (half chip size + 0x2000). E.g. for 8Mbit flash:
  esptool.py -fs 8m 0x0000 rboot.bin 0x2000 user1.bin 0x82000 user2.bin

is this a possibility? is it possible to support a 'multi-bootloader' makefile or something like that?
if so, i would gladly write the lua wrapper for rboot OTA. unfortunately, im not that familiar with the esp build chain to be sure on the makefile front.

@creationix
Copy link
Contributor

+1 this would be cool. Also rboot saves 128 bytes of heap. Not much, but every little bit of savings is a good thing when we are so constrained.

@jorgempy jorgempy changed the title Using rboot as bootloadern (OTA support) Using rboot as bootloader (OTA support) Jun 11, 2015
@dnc40085
Copy link
Contributor

+1 OTA updates would be nice and more memory is always a good thing no matter how small the gain is.

@TerryE
Copy link
Collaborator

TerryE commented Nov 2, 2015

OTA might be nice but the current contributors won't be implementing this. If anyone wishes to offer an implementation, then please reopen this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants