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

cpu/esp8266: build the SDK bootloader from source #19073

Closed
wants to merge 2 commits into from

Commits on Dec 22, 2022

  1. cpu/esp8266: Build the SDK bootloader from source.

    We had four versions of pre-built bootloaders for the esp8266 with
    different settings of logging and color logging. These bootloaders were
    manually built from the SDK and shipped with RIOT-OS source code.
    However there are more settings that affect the bootloader build that
    are relevant to the app or final board that uses this bootloader. In
    particular, flash size and flash speed is important for the bootloader
    to be able to load an app from a large partition table at the fastest
    speed supported by the board layout and flash chip.
    
    Another example is the UART baudrate of the logging output from the
    bootloader. The boot ROM will normally start at a baud rate of 74880
    (depending on the crystal installed), so it might make sense to keep
    the UART output at the same speed so we can debug boot modes and
    bootloader with the same terminal.
    
    This patch builds the bootloader.bin file from the ESP8266 SDK source
    code. The code is built as a module (esp8266_bootloader) which at the
    moment doesn't generate any object code for the application and only
    produces a bootloader.bin file set to the BOOTLOADER_BIN make variable
    for the esptool.inc.mk to flash.
    
    The code needs to be compiled and linked with custom rules defined in
    the module's Makefile since the bootloader.bin is its own separate
    application.
    
    The `BOOTLOADER_BIN` variable is changed from a path relative to the
    `$(RIOTCPU)/$(CPU)/bin/` directory to be full path. This makes it easier
    for applications or board to provide their own bootloader binary if
    needed.
    
    As a result of building the bootloader from source we fixed the issue of
    having a large partition table. Fixes RIOT-OS#16402.
    iosabi authored and gschorcht committed Dec 22, 2022
    Configuration menu
    Copy the full SHA
    073b220 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4f1b4ba View commit details
    Browse the repository at this point in the history