Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 28 additions & 3 deletions arch/arm/src/stm32h7/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -674,6 +674,16 @@ config STM32_APP_FORMAT_MCUBOOT
comment "MCUboot support depends on CONFIG_EXPERIMENTAL"
depends on !EXPERIMENTAL

config STM32_APP_FORMAT_NXBOOT
bool "NuttX nxboot format"
select STM32_HAVE_OTA_PARTITION
depends on EXPERIMENTAL
---help---
The NuttX nxboot support of loading the firmware images.

comment "nxboot support depends on CONFIG_EXPERIMENTAL"
depends on !EXPERIMENTAL

endchoice # Application Image Format

endmenu # Application Image Configuration
Expand Down Expand Up @@ -6593,29 +6603,44 @@ config STM32_OTA_SECONDARY_SLOT_DEVPATH
string "Application image secondary slot device path"
default "/dev/ota1"

config STM32_OTA_TERTIARY_SLOT_DEVPATH
string "Application image tertiary slot device path"
default "/dev/ota2"
depends on STM32_APP_FORMAT_NXBOOT

config STM32_OTA_SCRATCH_DEVPATH
string "Scratch partition device path"
default "/dev/otascratch"
depends on STM32_APP_FORMAT_MCUBOOT

config STM32_OTA_PRIMARY_SLOT_OFFSET
hex "MCUboot application image primary slot offset"
hex "Application image primary slot offset"
default "0x40000"

config STM32_OTA_SECONDARY_SLOT_OFFSET
hex "MCUboot application image secondary slot offset"
hex "Application image secondary slot offset"
default "0xc0000" if STM32_APP_FORMAT_NXBOOT
default "0x100000"

config STM32_OTA_TERTIARY_SLOT_OFFSET
hex "Application image tertiary slot offset"
default "0x140000"
depends on STM32_APP_FORMAT_NXBOOT

config STM32_OTA_SCRATCH_OFFSET
hex "MCUboot scratch partition offset"
default "0x1c0000"
depends on STM32_APP_FORMAT_MCUBOOT

config STM32_OTA_SLOT_SIZE
hex "MCUboot application image slot size (in bytes)"
hex "Application image slot size (in bytes)"
default "0x80000" if STM32_APP_FORMAT_NXBOOT
default "0xc0000"

config STM32_OTA_SCRATCH_SIZE
hex "MCUboot scratch partition size (in bytes)"
default "0x40000"
depends on STM32_APP_FORMAT_MCUBOOT

endif # STM32_PROGMEM_OTA_PARTITION
endif # STM32_HAVE_OTA_PARTITION
Expand Down
65 changes: 65 additions & 0 deletions boards/arm/stm32h7/nucleo-h743zi/configs/nxboot-app/defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
#
# This file is autogenerated: PLEASE DO NOT EDIT IT.
#
# You can use "make menuconfig" to make any modifications to the installed .config file.
# You can then do "make savedefconfig" to generate a new defconfig file that includes your
# modifications.
#
# CONFIG_STANDARD_SERIAL is not set
# CONFIG_STM32H7_USE_LEGACY_PINMAP is not set
CONFIG_ARCH="arm"
CONFIG_ARCH_BOARD="nucleo-h743zi"
CONFIG_ARCH_BOARD_NUCLEO_H743ZI=y
CONFIG_ARCH_CHIP="stm32h7"
CONFIG_ARCH_CHIP_STM32H743ZI=y
CONFIG_ARCH_CHIP_STM32H7=y
CONFIG_ARCH_CHIP_STM32H7_CORTEXM7=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_DCACHE=y
CONFIG_ARMV7M_DCACHE_WRITETHROUGH=y
CONFIG_ARMV7M_DTCM=y
CONFIG_ARMV7M_ICACHE=y
CONFIG_BOARDCTL_RESET=y
CONFIG_BOARD_LOOPSPERMSEC=43103
CONFIG_BOOT_NXBOOT=y
CONFIG_BUILTIN=y
CONFIG_DEBUG_SYMBOLS=y
CONFIG_EXPERIMENTAL=y
CONFIG_FAT_LCNAMES=y
CONFIG_FS_FAT=y
CONFIG_FS_PROCFS=y
CONFIG_FS_PROCFS_REGISTER=y
CONFIG_HAVE_CXX=y
CONFIG_HAVE_CXXINITIALIZE=y
CONFIG_INIT_ENTRYPOINT="nsh_main"
CONFIG_INTELHEX_BINARY=y
CONFIG_LIBM=y
CONFIG_LINE_MAX=64
CONFIG_MM_REGIONS=4
CONFIG_NSH_ARCHINIT=y
CONFIG_NSH_BUILTIN_APPS=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_FILEIOSIZE=512
CONFIG_NSH_MOTD=y
CONFIG_NSH_MOTD_STRING="Welcome to NuttX from nxboot, this is the FIRST firmware."
CONFIG_NSH_READLINE=y
CONFIG_NXBOOT_HEADER_SIZE=0x400
CONFIG_PREALLOC_TIMERS=4
CONFIG_RAM_SIZE=245760
CONFIG_RAM_START=0x20010000
CONFIG_RAW_BINARY=y
CONFIG_RR_INTERVAL=200
CONFIG_SCHED_HPWORK=y
CONFIG_SCHED_LPWORK=y
CONFIG_SCHED_WAITPID=y
CONFIG_SPI=y
CONFIG_START_DAY=28
CONFIG_START_MONTH=12
CONFIG_START_YEAR=2021
CONFIG_STM32H7_FLASH_OVERRIDE_I=y
CONFIG_STM32H7_USART3=y
CONFIG_STM32_APP_FORMAT_NXBOOT=y
CONFIG_STM32_PROGMEM_OTA_PARTITION=y
CONFIG_SYSTEM_NSH=y
CONFIG_TASK_NAME_SIZE=0
CONFIG_USART3_SERIAL_CONSOLE=y
70 changes: 70 additions & 0 deletions boards/arm/stm32h7/nucleo-h743zi/configs/nxboot-loader/defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
#
# This file is autogenerated: PLEASE DO NOT EDIT IT.
#
# You can use "make menuconfig" to make any modifications to the installed .config file.
# You can then do "make savedefconfig" to generate a new defconfig file that includes your
# modifications.
#
# CONFIG_STM32H7_USE_LEGACY_PINMAP is not set
CONFIG_ARCH="arm"
CONFIG_ARCH_BOARD="nucleo-h743zi"
CONFIG_ARCH_BOARD_NUCLEO_H743ZI=y
CONFIG_ARCH_CHIP="stm32h7"
CONFIG_ARCH_CHIP_STM32H743ZI=y
CONFIG_ARCH_CHIP_STM32H7=y
CONFIG_ARCH_CHIP_STM32H7_CORTEXM7=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_DCACHE=y
CONFIG_ARMV7M_DCACHE_WRITETHROUGH=y
CONFIG_ARMV7M_DTCM=y
CONFIG_ARMV7M_ICACHE=y
CONFIG_BOARDCTL_RESET=y
CONFIG_BOARD_LOOPSPERMSEC=43103
CONFIG_BOOT_NXBOOT=y
CONFIG_BUILTIN=y
CONFIG_DEBUG_SYMBOLS=y
CONFIG_DRVR_INVALIDATE=y
CONFIG_DRVR_READAHEAD=y
CONFIG_DRVR_WRITEBUFFER=y
CONFIG_EXPERIMENTAL=y
CONFIG_FAT_LCNAMES=y
CONFIG_FS_FAT=y
CONFIG_FS_PROCFS=y
CONFIG_FS_PROCFS_REGISTER=y
CONFIG_FTL_WRITEBUFFER=y
CONFIG_HAVE_CXX=y
CONFIG_HAVE_CXXINITIALIZE=y
CONFIG_INIT_ENTRYPOINT="nxboot_loader_main"
CONFIG_INTELHEX_BINARY=y
CONFIG_LIBM=y
CONFIG_LINE_MAX=64
CONFIG_MM_IOB=y
CONFIG_MM_REGIONS=4
CONFIG_NSH_BUILTIN_APPS=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
CONFIG_NSH_FILEIOSIZE=512
CONFIG_NSH_LIBRARY=y
CONFIG_NSH_MOTD=y
CONFIG_NSH_MOTD_STRING="Welcome to NuttX nxboot Loader!"
CONFIG_NSH_READLINE=y
CONFIG_NXBOOT_BOOTLOADER=y
CONFIG_NXBOOT_HEADER_SIZE=0x400
CONFIG_PREALLOC_TIMERS=4
CONFIG_RAM_SIZE=245760
CONFIG_RAM_START=0x20010000
CONFIG_RAW_BINARY=y
CONFIG_RR_INTERVAL=200
CONFIG_SCHED_HPWORK=y
CONFIG_SCHED_LPWORK=y
CONFIG_SCHED_WAITPID=y
CONFIG_SPI=y
CONFIG_START_DAY=28
CONFIG_START_MONTH=12
CONFIG_START_YEAR=2021
CONFIG_STM32H7_FLASH_OVERRIDE_I=y
CONFIG_STM32H7_USART3=y
CONFIG_STM32_APP_FORMAT_NXBOOT=y
CONFIG_STM32_PROGMEM_OTA_PARTITION=y
CONFIG_TASK_NAME_SIZE=0
CONFIG_USART3_SERIAL_CONSOLE=y
CONFIG_WQUEUE_NOTIFIER=y
6 changes: 6 additions & 0 deletions boards/arm/stm32h7/nucleo-h743zi/scripts/Make.defs
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ ifeq ($(CONFIG_STM32_APP_FORMAT_MCUBOOT),y)
else
LDSCRIPT = flash-mcuboot-app.ld
endif
else ifeq ($(CONFIG_STM32_APP_FORMAT_NXBOOT),y)
ifeq ($(CONFIG_NXBOOT_BOOTLOADER),y)
LDSCRIPT = flash-nxboot-loader.ld
else
LDSCRIPT = flash-nxboot-app.ld
endif
else
LDSCRIPT = flash.ld
endif
Expand Down
Loading
Loading