[Buildroot] [RESEND PATCH v2, 2/4] boot/afboot-stm32: upgrade version
Christophe Priouzeau
christophe.priouzeau at foss.st.com
Tue Dec 14 08:28:47 UTC 2021
Acked-by: Christophe Priouzeau <christophe.priouzeau at foss.st.com>
On 12/12/21 1:37 PM, Dario Binacchi wrote:
> Newer versions of the kernel generate device trees that are not
> storable in a single 16kB sector. In these cases the kernel load address
> must be changed.
> The commit 2e499dcff3ef ("Add possibility to use custom kernel load address")
> adds the possibility to override the default (0x08008000) kernel load
> address.
>
> This also required changes to the stm32f429_disco_defconfig and
> stm32f469_disco_xip_defconfig configurations.
>
> Signed-off-by: Dario Binacchi <dariobin at libero.it>
> ---
> ...69i-disco-change-kernel-load-address.patch | 26 ---------------
> boot/afboot-stm32/Config.in | 32 +++++++++++++++++++
> boot/afboot-stm32/afboot-stm32.hash | 2 +-
> boot/afboot-stm32/afboot-stm32.mk | 18 ++++++++---
> configs/stm32f429_disco_defconfig | 1 +
> configs/stm32f469_disco_xip_defconfig | 3 +-
> 6 files changed, 50 insertions(+), 32 deletions(-)
> delete mode 100644 board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469i-disco-change-kernel-load-address.patch
>
> diff --git a/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469i-disco-change-kernel-load-address.patch b/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469i-disco-change-kernel-load-address.patch
> deleted file mode 100644
> index 1f8d929bfb..0000000000
> --- a/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469i-disco-change-kernel-load-address.patch
> +++ /dev/null
> @@ -1,26 +0,0 @@
> -From d87969f72671cab5a88ba6e2418e43d0fa267d6f Mon Sep 17 00:00:00 2001
> -From: Dario Binacchi <dariobin at libero.it>
> -Date: Sat, 13 Nov 2021 15:46:32 +0100
> -Subject: [PATCH] stm32f469i-disco: change kernel load address
> -
> -Signed-off-by: Dario Binacchi <dariobin at libero.it>
> ----
> - stm32f469i-disco.c | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/stm32f469i-disco.c b/stm32f469i-disco.c
> -index 2da1f4b..3aacb12 100644
> ---- a/stm32f469i-disco.c
> -+++ b/stm32f469i-disco.c
> -@@ -85,7 +85,7 @@ static void fmc_wait_busy(void)
> -
> - void start_kernel(void)
> - {
> -- void (*kernel)(uint32_t reserved, uint32_t mach, uint32_t dt) = (void (*)(uint32_t, uint32_t, uint32_t))(0x08008000 | 1);
> -+ void (*kernel)(uint32_t reserved, uint32_t mach, uint32_t dt) = (void (*)(uint32_t, uint32_t, uint32_t))(0x0800C000 | 1);
> -
> - kernel(0, ~0UL, 0x08004000);
> - }
> ---
> -2.17.1
> -
> diff --git a/boot/afboot-stm32/Config.in b/boot/afboot-stm32/Config.in
> index 309b9e0491..71f4c7e382 100644
> --- a/boot/afboot-stm32/Config.in
> +++ b/boot/afboot-stm32/Config.in
> @@ -5,3 +5,35 @@ config BR2_TARGET_AFBOOT_STM32
> afboot-stm32 is a very small bootloader for STM32 platforms
>
> https://github.com/mcoquelin-stm32/afboot-stm32
> +
> +if BR2_TARGET_AFBOOT_STM32
> +
> +choice
> + prompt "Board type"
> + help
> + Select the proper stm32 board type.
> +
> +config BR2_TARGET_AFBOOT_STM32_F429_DISCO
> + bool "stm32f429-disco"
> +
> +config BR2_TARGET_AFBOOT_STM32_F469_DISCO
> + bool "stm32f469-disco"
> +
> +endchoice
> +
> +config BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR
> + hex "Kernel load address"
> + default "0x08008000"
> + help
> + This is the physical address in your flash memory the kernel will
> + be linked for and stored to. This address is dependent on your own
> + flash usage.
> +
> +config BR2_TARGET_AFBOOT_STM32_DTB_ADDR
> + hex "Device-tree load address"
> + default "0x08004000"
> + help
> + This is the physical address in your flash memory the device-tree
> + will be stored to. This address is dependent on your own flash usage.
> +
> +endif
> diff --git a/boot/afboot-stm32/afboot-stm32.hash b/boot/afboot-stm32/afboot-stm32.hash
> index 75f47295f6..80b9b6a106 100644
> --- a/boot/afboot-stm32/afboot-stm32.hash
> +++ b/boot/afboot-stm32/afboot-stm32.hash
> @@ -1,2 +1,2 @@
> # Locally calculated
> -sha256 9b37b661bd3091ceb5d8dc5a56a2dfc02ae9ebc0c63dad3c4289c9d6b3d3ec89 afboot-stm32-0.2.tar.gz
> +sha256 132f9817e615131856892cbe3df1502cdcd0700a12a48aa6bae8acfd5f093b42 afboot-stm32-3566acd582e5536fb60864281788a30f5527df2d-br1.tar.gz
> diff --git a/boot/afboot-stm32/afboot-stm32.mk b/boot/afboot-stm32/afboot-stm32.mk
> index 0fb4735285..80074a3c35 100644
> --- a/boot/afboot-stm32/afboot-stm32.mk
> +++ b/boot/afboot-stm32/afboot-stm32.mk
> @@ -4,17 +4,27 @@
> #
> ################################################################################
>
> -AFBOOT_STM32_VERSION = 0.2
> -AFBOOT_STM32_SITE = $(call github,mcoquelin-stm32,afboot-stm32,v$(AFBOOT_STM32_VERSION))
> +AFBOOT_STM32_VERSION = 3566acd582e5536fb60864281788a30f5527df2d
> +AFBOOT_STM32_SITE = https://github.com/mcoquelin-stm32/afboot-stm32.git
> +AFBOOT_STM32_SITE_METHOD = git
> AFBOOT_STM32_INSTALL_IMAGES = YES
> AFBOOT_STM32_INSTALL_TARGET = NO
>
> +ifeq ($(BR2_TARGET_AFBOOT_STM32_F429_DISCO),y)
> +AFBOOT_STM32_BOARD=stm32f429i-disco
> +else
> +AFBOOT_STM32_BOARD=stm32f469i-disco
> +endif
> +
> define AFBOOT_STM32_BUILD_CMDS
> - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) all
> + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) \
> + $(AFBOOT_STM32_BOARD) \
> + KERNEL_ADDR=$(BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR) \
> + DTB_ADDR=$(BR2_TARGET_AFBOOT_STM32_DTB_ADDR)
> endef
>
> define AFBOOT_STM32_INSTALL_IMAGES_CMDS
> - $(INSTALL) -m 0755 -t $(BINARIES_DIR) -D $(@D)/stm32*.bin
> + $(INSTALL) -m 0755 -t $(BINARIES_DIR) -D $(@D)/$(AFBOOT_STM32_BOARD).bin
> endef
>
> $(eval $(generic-package))
> diff --git a/configs/stm32f429_disco_defconfig b/configs/stm32f429_disco_defconfig
> index 2c0641a6c5..4007eb20a5 100644
> --- a/configs/stm32f429_disco_defconfig
> +++ b/configs/stm32f429_disco_defconfig
> @@ -15,4 +15,5 @@ BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
> BR2_TARGET_ROOTFS_INITRAMFS=y
> # BR2_TARGET_ROOTFS_TAR is not set
> BR2_TARGET_AFBOOT_STM32=y
> +BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR=0x0800C000
> BR2_PACKAGE_HOST_OPENOCD=y
> diff --git a/configs/stm32f469_disco_xip_defconfig b/configs/stm32f469_disco_xip_defconfig
> index e8b2cf3d21..4c49ffcc7a 100644
> --- a/configs/stm32f469_disco_xip_defconfig
> +++ b/configs/stm32f469_disco_xip_defconfig
> @@ -1,6 +1,5 @@
> BR2_arm=y
> BR2_cortex_m4=y
> -BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32f469-disco/patches"
> # BR2_UCLIBC_INSTALL_UTILS is not set
> BR2_GCC_ENABLE_LTO=y
> BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh"
> @@ -16,4 +15,6 @@ BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
> BR2_TARGET_ROOTFS_INITRAMFS=y
> # BR2_TARGET_ROOTFS_TAR is not set
> BR2_TARGET_AFBOOT_STM32=y
> +BR2_TARGET_AFBOOT_STM32_F469_DISCO=y
> +BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR=0x0800C000
> BR2_PACKAGE_HOST_OPENOCD=y
>
--
Best regards / Cordialement,
Christophe Priouzeau | Tel: +33 244027320
STMicroelectronics
ST online: www.st.com<http://www.st.com/>
More information about the buildroot
mailing list