mirror of
https://github.com/apache/nuttx.git
synced 2025-01-13 10:58:49 +08:00
esp32: Improve selection of the bootloader being used on Kconfig
- A pre-built IDF bootloader is used by default; - `ESP32_PARTITION_TABLE` requires the IDF bootloader to be built from sources. - Native MCUboot also can be used to boot the device. It will be built from sources and depends on !ESP32_PARTITION_TABLE.
This commit is contained in:
parent
7ac14b544e
commit
ec3714c816
4 changed files with 40 additions and 39 deletions
|
@ -192,15 +192,7 @@ else ifeq ($(CONFIG_ESP32_BOOTLOADER_DOWNLOAD_PREBUILT),y)
|
|||
BOOTLOADER_VERSION = latest
|
||||
BOOTLOADER_URL = https://github.com/espressif/esp-nuttx-bootloader/releases/download/$(BOOTLOADER_VERSION)
|
||||
|
||||
ifeq ($(CONFIG_ESP32_APP_FORMAT_MCUBOOT),y)
|
||||
|
||||
bootloader:
|
||||
$(call DOWNLOAD,$(BOOTLOADER_URL),mcuboot-esp32.bin,$(TOPDIR)/mcuboot-esp32.bin)
|
||||
|
||||
clean_bootloader:
|
||||
$(call DELFILE,$(TOPDIR)/mcuboot-esp32.bin)
|
||||
|
||||
else ifeq ($(CONFIG_ESP32_APP_FORMAT_LEGACY),y)
|
||||
ifeq ($(CONFIG_ESP32_APP_FORMAT_LEGACY),y)
|
||||
|
||||
bootloader:
|
||||
$(call DOWNLOAD,$(BOOTLOADER_URL),bootloader-esp32.bin,$(TOPDIR)/bootloader-esp32.bin)
|
||||
|
|
|
@ -1870,6 +1870,7 @@ comment "Partition Table Configuration"
|
|||
config ESP32_PARTITION_TABLE
|
||||
bool "Create MTD partitions from Partition Table"
|
||||
default n
|
||||
select ESP32_BOOTLOADER_BUILD_FROM_SOURCE
|
||||
---help---
|
||||
Decode partition table and initialize partitions as MTD.
|
||||
|
||||
|
@ -2443,42 +2444,28 @@ config ESP32_HAVE_OTA_PARTITION
|
|||
bool
|
||||
default n
|
||||
|
||||
menu "Application Image Configuration"
|
||||
|
||||
choice
|
||||
prompt "Application Image Format"
|
||||
default ESP32_APP_FORMAT_LEGACY
|
||||
---help---
|
||||
Depending on the chosen 2nd stage bootloader, the application may
|
||||
be required to be perform a specific startup routine. Furthermore,
|
||||
the image binary must be formatted according to the definition from
|
||||
the 2nd stage bootloader.
|
||||
menu "Bootloader and Image Configuration"
|
||||
|
||||
config ESP32_APP_FORMAT_LEGACY
|
||||
bool "Legacy format"
|
||||
bool
|
||||
default y if !ESP32_APP_FORMAT_MCUBOOT
|
||||
depends on !ESP32_APP_FORMAT_MCUBOOT
|
||||
---help---
|
||||
This is the legacy application image format, as supported by the ESP-IDF
|
||||
2nd stage bootloader.
|
||||
|
||||
config ESP32_APP_FORMAT_MCUBOOT
|
||||
bool "MCUboot-bootable format"
|
||||
bool "Enable MCUboot-bootable format"
|
||||
depends on !MCUBOOT_BOOTLOADER
|
||||
select ESP32_HAVE_OTA_PARTITION
|
||||
select ESP32_BOOTLOADER_BUILD_FROM_SOURCE
|
||||
---help---
|
||||
The ESP32 port of MCUboot supports the loading of unsegmented firmware
|
||||
images.
|
||||
|
||||
endchoice # Application Image Format
|
||||
|
||||
choice
|
||||
prompt "Source for bootloader binaries"
|
||||
default ESP32_BOOTLOADER_DOWNLOAD_PREBUILT
|
||||
---help---
|
||||
Select the action to be taken by the build system for the
|
||||
"make bootloader" target.
|
||||
Enables the Espressif port of MCUboot to be used as 2nd stage bootloader.
|
||||
|
||||
config ESP32_BOOTLOADER_DOWNLOAD_PREBUILT
|
||||
bool "Download prebuilt binaries"
|
||||
bool
|
||||
default y if !ESP32_BOOTLOADER_BUILD_FROM_SOURCE
|
||||
depends on !ESP32_BOOTLOADER_BUILD_FROM_SOURCE
|
||||
---help---
|
||||
The build system will download the prebuilt binaries from
|
||||
https://github.com/espressif/esp-nuttx-bootloader according to the chosen
|
||||
|
@ -2492,8 +2479,6 @@ config ESP32_BOOTLOADER_BUILD_FROM_SOURCE
|
|||
custom bootloader according to the chosen Application Image Format
|
||||
(ESP32_APP_FORMAT_LEGACY or ESP32_APP_FORMAT_MCUBOOT) and partition information.
|
||||
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "Target slot for image flashing"
|
||||
default ESP32_ESPTOOL_TARGET_PRIMARY
|
||||
|
@ -2529,11 +2514,37 @@ config ESP32_APP_MCUBOOT_HEADER_SIZE
|
|||
default 32
|
||||
depends on ESP32_APP_FORMAT_MCUBOOT
|
||||
|
||||
config ESP32_PARTITION_TABLE_OFFSET
|
||||
hex "Partition Table offset"
|
||||
config ESP32_PARTITION_TABLE_OFFSET_DEFAULT
|
||||
hex
|
||||
default 0x8000
|
||||
depends on ESP32_APP_FORMAT_LEGACY
|
||||
|
||||
config ESP32_CUSTOM_PARTITION_TABLE_OFFSET
|
||||
bool "Customize partition table offset"
|
||||
default n
|
||||
depends on ESP32_APP_FORMAT_LEGACY
|
||||
select ESP32_BOOTLOADER_BUILD_FROM_SOURCE
|
||||
---help---
|
||||
Enable to select the offset of the partition table in the flash.
|
||||
|
||||
if ESP32_CUSTOM_PARTITION_TABLE_OFFSET
|
||||
|
||||
config ESP32_PARTITION_TABLE_OFFSET
|
||||
hex "Partition Table offset"
|
||||
default ESP32_PARTITION_TABLE_OFFSET_DEFAULT
|
||||
depends on ESP32_APP_FORMAT_LEGACY
|
||||
|
||||
endif # ESP32_CUSTOM_PARTITION_TABLE_OFFSET
|
||||
|
||||
if !ESP32_CUSTOM_PARTITION_TABLE_OFFSET
|
||||
|
||||
config ESP32_PARTITION_TABLE_OFFSET
|
||||
hex
|
||||
default ESP32_PARTITION_TABLE_OFFSET_DEFAULT
|
||||
depends on ESP32_APP_FORMAT_LEGACY
|
||||
|
||||
endif # !ESP32_CUSTOM_PARTITION_TABLE_OFFSET
|
||||
|
||||
if BUILD_PROTECTED
|
||||
|
||||
config ESP32_USER_IMAGE_OFFSET
|
||||
|
|
|
@ -20,7 +20,6 @@ CONFIG_ARCH_XTENSA=y
|
|||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
CONFIG_BUILTIN=y
|
||||
CONFIG_ESP32_APP_FORMAT_MCUBOOT=y
|
||||
CONFIG_ESP32_BOOTLOADER_BUILD_FROM_SOURCE=y
|
||||
CONFIG_ESP32_UART0=y
|
||||
CONFIG_FS_PROCFS=y
|
||||
CONFIG_HAVE_CXX=y
|
||||
|
|
|
@ -27,7 +27,6 @@ CONFIG_DEBUG_SYMBOLS=y
|
|||
CONFIG_DRIVERS_IEEE80211=y
|
||||
CONFIG_DRIVERS_WIRELESS=y
|
||||
CONFIG_ESP32_APP_FORMAT_MCUBOOT=y
|
||||
CONFIG_ESP32_BOOTLOADER_BUILD_FROM_SOURCE=y
|
||||
CONFIG_ESP32_SPIFLASH=y
|
||||
CONFIG_ESP32_UART0=y
|
||||
CONFIG_ESP32_WIFI=y
|
||||
|
|
Loading…
Reference in a new issue