-->
Page 1 of 1

New ESP8266 Bootloader and Build Environment

PostPosted: Mon Oct 08, 2018 9:52 pm
by zorxx
I've been working on a couple of things related to the ESP8266 that might be of interest to other users:

zboot (https://github.com/zorxx/zboot)
This another bootloader, originally based off rboot, but has the following notable features:
- Works with applications created from latest ESP8266 SDK, which have an entrypoint in ROM. Applications with IRAM entrypoints (e.g. Arduino) still work too.
- Includes build date, version information and description in the application header, so you can can see the details of the applications stored in flash. This is particularly helpful when managing applications and selecting the boot index.
- Uses 0 bytes of stack space. Before starting the application, the stack is reset so there's no wasted DRAM.
- Similar to rboot, zboot allows the use of the entire flash part for OTA updates and multiple applications stored in flash.

micro-builder (https://github.com/zorxx/micro-builder)
A generic build environment for microcontroller projects. The main goal of the project is to reduce or eliminate copying code when building microcontroller projects. micro-builder's library management provides some of the same features of the Arduino IDE, but doesn't constrain the user to the Arduino IDE. micro-builder uses zboot by default for ESP8266 targets.

These projects (and other associated projects) were created for a few specific needs, but I'm looking to see if there's any other interest. Please share any thoughts.

Re: New ESP8266 Bootloader and Build Environment

PostPosted: Tue Oct 09, 2018 9:41 pm
by zorxx
Along with the zboot bootloader is a library that can be linked into any application, adding a web interface for managing zboot images in flash. There's a demo application showing this functionality in the micro-builder build environment. Using the xtensa_nodemcu_arduino micro-builder target, build the application in the app/esp8266/zboot_cpanel directory.

Code: Select allgit clone https://github.com/zorxx/micro-builder.git
export MB_TARGET=xtensa_nodemcu_arduino
cd micro-builder/app/esp8266/zboot_cpanel
make
make flash_boot
make flash


Note that you'll (very) likely need to change the WiFi SSID and password in the test application to match the one configured in your Access Point. If not, you should change the SSID and password in your Access Point.

Here's a screen capture of the zboot control panel webpage (hosted on port 84).
https://imgur.com/a/f8ODNzj

Also note that micro-builder has support for building text files (e.g. html) directly into an application binary (no need for SPI flash filesystem).