From: Fabio Estevam <festevam@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3] warp7: Fix U-Boot corruption after saving the environment
Date: Tue, 3 Dec 2019 00:04:46 -0300 [thread overview]
Message-ID: <20191203030446.5667-1-festevam@gmail.com> (raw)
U-Boot binary has grown in such a way that it goes beyond the reserved
area for the environment variables.
Running "saveenv" followed by a "reset" causes U-Boot to hang because
of this overlap.
Fix this problem by selecting CONFIG_SYS_THUMB_BUILD=y, which
generates a smaller u-boot-dtb.imx binary.
Also, in order to prevent this same problem in the future, use
CONFIG_BOARD_SIZE_LIMIT, which will detect the overlap in build-time.
CONFIG_BOARD_SIZE_LIMIT does not accept math expressions, so declare
CONFIG_ENV_OFFSET with its direct value instead.
Signed-off-by: Fabio Estevam <festevam@gmail.com>
---
Changes since v2:
- Select CONFIG_SYS_THUMB_BUILD=y (Tom)
configs/warp7_defconfig | 1 +
include/configs/warp7.h | 13 +++++++++++++
2 files changed, 14 insertions(+)
diff --git a/configs/warp7_defconfig b/configs/warp7_defconfig
index 72cdb684a7..781cbe12d7 100644
--- a/configs/warp7_defconfig
+++ b/configs/warp7_defconfig
@@ -1,4 +1,5 @@
CONFIG_ARM=y
+CONFIG_SYS_THUMB_BUILD=y
CONFIG_ARCH_MX7=y
CONFIG_SYS_TEXT_BASE=0x87800000
CONFIG_TARGET_WARP7=y
diff --git a/include/configs/warp7.h b/include/configs/warp7.h
index 9a82581c5f..af278c617e 100644
--- a/include/configs/warp7.h
+++ b/include/configs/warp7.h
@@ -125,6 +125,19 @@
#define CONFIG_SYS_INIT_SP_ADDR \
(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
+/*
+ * Environment starts at CONFIG_ENV_OFFSET = 0x80000 = 512k
+ *
+ * Detect overlap between U-Boot image and environment area in build-time
+ *
+ * CONFIG_BOARD_SIZE_LIMIT = CONFIG_ENV_OFFSET - u-boot.imx offset
+ * CONFIG_BOARD_SIZE_LIMIT = 512k - 1k = 511k = 523264
+ *
+ * Currently CONFIG_BOARD_SIZE_LIMIT does not handle expressions, so
+ * write the direct value here
+ */
+#define CONFIG_BOARD_SIZE_LIMIT 523264
+
/* I2C configs */
#define CONFIG_SYS_I2C_MXC
#define CONFIG_SYS_I2C_SPEED 100000
--
2.17.1
next reply other threads:[~2019-12-03 3:04 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-03 3:04 Fabio Estevam [this message]
2019-12-03 3:10 ` [U-Boot] [PATCH v3] warp7: Fix U-Boot corruption after saving the environment Tom Rini
2019-12-03 11:56 ` Fabio Estevam
2019-12-03 14:21 ` Tom Rini
2019-12-03 17:07 ` Heiko Schocher
2019-12-03 17:10 ` Tom Rini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191203030446.5667-1-festevam@gmail.com \
--to=festevam@gmail.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.