[U-Boot] SPL binary too large for OMAP4460 OCM

Hi everybody,
I need to add functionality to the SPL code. I tried to implement in a memory-saving way, however, the SPL is about 45 kB after compilation. To get compilation working, I had to set CONFIG_SPL_MAX_SIZE to (45 * 1024). Now, the SPL as well as u-boot won't boot. After the device' (PandaBoard ES - OMAP4460) reset, nothing happens regarding it's output on terminal.
My question: is it theoretically possible to to establish a successfully booting SPL with ~45 kB in size for this device? The device' on-chip-memory is 56kB so it could fit in there. If so, what needs to be configured / tuned to get it working? Are there any other features I could omit from the binary to make it smaller?
Thanks a lot, -b

On Wednesday 04 September 2013 01:01 PM, bin4ry wrote:
Hi everybody,
I need to add functionality to the SPL code. I tried to implement in a memory-saving way, however, the SPL is about 45 kB after compilation. To get compilation working, I had to set CONFIG_SPL_MAX_SIZE to (45 * 1024). Now, the SPL as well as u-boot won't boot. After the device' (PandaBoard ES - OMAP4460) reset, nothing happens regarding it's output on terminal.
My question: is it theoretically possible to to establish a successfully booting SPL with ~45 kB in size for this device? The device' on-chip-memory is 56kB so it could fit in there. If so, what needs to be configured / tuned to get it working? Are there any other features I could omit from the binary to make it smaller?
Thanks a lot, -b _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Do you have a Secure device or GP ?
Regards, Sricharan

Hi
On Wed, Sep 4, 2013 at 10:44 AM, Sricharan R r.sricharan@ti.com wrote:
On Wednesday 04 September 2013 01:01 PM, bin4ry wrote:
Hi everybody,
I need to add functionality to the SPL code. I tried to implement in a memory-saving way, however, the SPL is about 45 kB after compilation. To get compilation working, I had to set CONFIG_SPL_MAX_SIZE to (45 * 1024). Now, the SPL as well as u-boot won't boot. After the device' (PandaBoard ES - OMAP4460) reset, nothing happens regarding it's output on terminal.
My question: is it theoretically possible to to establish a successfully booting SPL with ~45 kB in size for this device? The device' on-chip-memory is 56kB so it could fit in there. If so, what needs to be configured / tuned to get it working? Are there any other features I could omit from the binary to make it smaller?
Thanks a lot, -b _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Do you have a Secure device or GP ?
if it is Pandaboard? No he has not. I have increased up to 40Kb and it works with serial boot and sdcard/emmc boot.
Michael
Regards, Sricharan _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

On Wednesday 04 September 2013 02:18 PM, Michael Trimarchi wrote:
Hi
On Wed, Sep 4, 2013 at 10:44 AM, Sricharan R r.sricharan@ti.com wrote:
On Wednesday 04 September 2013 01:01 PM, bin4ry wrote:
Hi everybody,
I need to add functionality to the SPL code. I tried to implement in a memory-saving way, however, the SPL is about 45 kB after compilation. To get compilation working, I had to set CONFIG_SPL_MAX_SIZE to (45 * 1024). Now, the SPL as well as u-boot won't boot. After the device' (PandaBoard ES - OMAP4460) reset, nothing happens regarding it's output on terminal.
My question: is it theoretically possible to to establish a successfully booting SPL with ~45 kB in size for this device? The device' on-chip-memory is 56kB so it could fit in there. If so, what needs to be configured / tuned to get it working? Are there any other features I could omit from the binary to make it smaller?
Thanks a lot, -b _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Do you have a Secure device or GP ?
if it is Pandaboard? No he has not. I have increased up to 40Kb and it works with serial boot and sdcard/emmc boot.
Sorry i missed to read PANDA. So it is anyways GP. and you changed the CONFIG_SPL_TEXT_BASE as well right ?
Regards, Sricharan

Am 04.09.2013 10:56, schrieb Sricharan R:
On Wednesday 04 September 2013 02:18 PM, Michael Trimarchi wrote:
Hi
On Wed, Sep 4, 2013 at 10:44 AM, Sricharan R r.sricharan@ti.com wrote:
On Wednesday 04 September 2013 01:01 PM, bin4ry wrote:
Hi everybody,
I need to add functionality to the SPL code. I tried to implement in a memory-saving way, however, the SPL is about 45 kB after compilation. To get compilation working, I had to set CONFIG_SPL_MAX_SIZE to (45 * 1024). Now, the SPL as well as u-boot won't boot. After the device' (PandaBoard ES - OMAP4460) reset, nothing happens regarding it's output on terminal.
My question: is it theoretically possible to to establish a successfully booting SPL with ~45 kB in size for this device? The device' on-chip-memory is 56kB so it could fit in there. If so, what needs to be configured / tuned to get it working? Are there any other features I could omit from the binary to make it smaller?
Thanks a lot, -b _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Do you have a Secure device or GP ?
if it is Pandaboard? No he has not. I have increased up to 40Kb and it works with serial boot and sdcard/emmc boot.
Sorry i missed to read PANDA. So it is anyways GP. and you changed the CONFIG_SPL_TEXT_BASE as well right ?
Regards, Sricharan
First off, sorry for double-posting to this list.
No, the PandaBoard is no HS but a GP device.
This is my configuration:
/* Defines for SPL */ #define CONFIG_SPL #define CONFIG_SPL_TEXT_BASE 0x40303000 #define CONFIG_SPL_MAX_SIZE (45 * 1024) #define CONFIG_SPL_STACK LOW_LEVEL_SRAM_STACK
The MLO binary has 46094 Bytes. Actually I should have enough space (from 0x40300000 - 0x4030bfff -> ~49 kB). However, the device does not start. Right now I am reviewing the code to check, whether it is because of the code and not because of the size that makes u-boot does not start.

On Wednesday 04 September 2013 02:34 PM, bin4ry wrote:
Am 04.09.2013 10:56, schrieb Sricharan R:
On Wednesday 04 September 2013 02:18 PM, Michael Trimarchi wrote:
Hi
On Wed, Sep 4, 2013 at 10:44 AM, Sricharan R r.sricharan@ti.com wrote:
On Wednesday 04 September 2013 01:01 PM, bin4ry wrote:
Hi everybody,
I need to add functionality to the SPL code. I tried to implement in a memory-saving way, however, the SPL is about 45 kB after compilation. To get compilation working, I had to set CONFIG_SPL_MAX_SIZE to (45 * 1024). Now, the SPL as well as u-boot won't boot. After the device' (PandaBoard ES - OMAP4460) reset, nothing happens regarding it's output on terminal.
My question: is it theoretically possible to to establish a successfully booting SPL with ~45 kB in size for this device? The device' on-chip-memory is 56kB so it could fit in there. If so, what needs to be configured / tuned to get it working? Are there any other features I could omit from the binary to make it smaller?
Thanks a lot, -b _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Do you have a Secure device or GP ?
if it is Pandaboard? No he has not. I have increased up to 40Kb and it works with serial boot and sdcard/emmc boot.
Sorry i missed to read PANDA. So it is anyways GP. and you changed the CONFIG_SPL_TEXT_BASE as well right ?
Regards, Sricharan
First off, sorry for double-posting to this list.
No, the PandaBoard is no HS but a GP device.
This is my configuration:
/* Defines for SPL */ #define CONFIG_SPL #define CONFIG_SPL_TEXT_BASE 0x40303000 #define CONFIG_SPL_MAX_SIZE (45 * 1024) #define CONFIG_SPL_STACK LOW_LEVEL_SRAM_STACK
The MLO binary has 46094 Bytes. Actually I should have enough space (from 0x40300000 - 0x4030bfff -> ~49 kB). However, the device does not start. Right now I am reviewing the code to check, whether it is because of the code and not because of the size that makes u-boot does not start.
Can you try by setting CONFIG_SPL_TEXT_BASE 0x40300350 ?
Regards, Sricharan

Hi everyone,
I changed CONFIG_SPL_TEXT_BASE from 0x40300300 to 0x40300350 and sufddenly it works. Do you know why this configuration works, even though with this configuration there are 0x50 bytes less? It even works with a MLO with 47519 bytes.
Here the summary of my config:
/* Defines for SPL */ #define CONFIG_SPL #define CONFIG_SPL_TEXT_BASE 0x40300350 #define CONFIG_SPL_MAX_SIZE (46 * 1024) #define CONFIG_SPL_STACK LOW_LEVEL_SRAM_STACK
Thanks again for the support! -b
Am 04.09.2013 11:07, schrieb Sricharan R:
On Wednesday 04 September 2013 02:34 PM, bin4ry wrote:
Am 04.09.2013 10:56, schrieb Sricharan R:
On Wednesday 04 September 2013 02:18 PM, Michael Trimarchi wrote:
Hi
On Wed, Sep 4, 2013 at 10:44 AM, Sricharan R r.sricharan@ti.com wrote:
On Wednesday 04 September 2013 01:01 PM, bin4ry wrote:
Hi everybody,
I need to add functionality to the SPL code. I tried to implement in a memory-saving way, however, the SPL is about 45 kB after compilation. To get compilation working, I had to set CONFIG_SPL_MAX_SIZE to (45 * 1024). Now, the SPL as well as u-boot won't boot. After the device' (PandaBoard ES - OMAP4460) reset, nothing happens regarding it's output on terminal.
My question: is it theoretically possible to to establish a successfully booting SPL with ~45 kB in size for this device? The device' on-chip-memory is 56kB so it could fit in there. If so, what needs to be configured / tuned to get it working? Are there any other features I could omit from the binary to make it smaller?
Thanks a lot, -b _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Do you have a Secure device or GP ?
if it is Pandaboard? No he has not. I have increased up to 40Kb and it works with serial boot and sdcard/emmc boot.
Sorry i missed to read PANDA. So it is anyways GP. and you changed the CONFIG_SPL_TEXT_BASE as well right ?
Regards, Sricharan
First off, sorry for double-posting to this list.
No, the PandaBoard is no HS but a GP device.
This is my configuration:
/* Defines for SPL */ #define CONFIG_SPL #define CONFIG_SPL_TEXT_BASE 0x40303000 #define CONFIG_SPL_MAX_SIZE (45 * 1024) #define CONFIG_SPL_STACK LOW_LEVEL_SRAM_STACK
The MLO binary has 46094 Bytes. Actually I should have enough space (from 0x40300000 - 0x4030bfff -> ~49 kB). However, the device does not start. Right now I am reviewing the code to check, whether it is because of the code and not because of the size that makes u-boot does not start.
Can you try by setting CONFIG_SPL_TEXT_BASE 0x40300350 ?
Regards, Sricharan

Hi, On Wednesday 04 September 2013 02:34 PM, bin4ry wrote:
Am 04.09.2013 10:56, schrieb Sricharan R:
On Wednesday 04 September 2013 02:18 PM, Michael Trimarchi wrote:
Hi
On Wed, Sep 4, 2013 at 10:44 AM, Sricharan R r.sricharan@ti.com wrote:
On Wednesday 04 September 2013 01:01 PM, bin4ry wrote:
Hi everybody,
I need to add functionality to the SPL code. I tried to implement in a memory-saving way, however, the SPL is about 45 kB after compilation. To get compilation working, I had to set CONFIG_SPL_MAX_SIZE to (45 * 1024). Now, the SPL as well as u-boot won't boot. After the device' (PandaBoard ES - OMAP4460) reset, nothing happens regarding it's output on terminal.
My question: is it theoretically possible to to establish a successfully booting SPL with ~45 kB in size for this device? The device' on-chip-memory is 56kB so it could fit in there. If so, what needs to be configured / tuned to get it working? Are there any other features I could omit from the binary to make it smaller?
Thanks a lot, -b _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Do you have a Secure device or GP ?
if it is Pandaboard? No he has not. I have increased up to 40Kb and it works with serial boot and sdcard/emmc boot.
Sorry i missed to read PANDA. So it is anyways GP. and you changed the CONFIG_SPL_TEXT_BASE as well right ?
Regards, Sricharan
First off, sorry for double-posting to this list.
No, the PandaBoard is no HS but a GP device.
This is my configuration:
/* Defines for SPL */ #define CONFIG_SPL #define CONFIG_SPL_TEXT_BASE 0x40303000 #define CONFIG_SPL_MAX_SIZE (45 * 1024) #define CONFIG_SPL_STACK LOW_LEVEL_SRAM_STACK
The MLO binary has 46094 Bytes. Actually I should have enough space (from 0x40300000 - 0x4030bfff -> ~49 kB). However, the device does not start. Right now I am reviewing the code to check, whether it is because of the code and not because of the size that makes u-boot does not start.
Just for testing you can try the following diff: The start address where the Image is downloaded is changed and now the max size is ~46KB.
diff --git a/arch/arm/include/asm/arch-omap4/omap.h b/arch/arm/include/asm/arch-omap4/omap.h index 3823a37..7c98360 100644 --- a/arch/arm/include/asm/arch-omap4/omap.h +++ b/arch/arm/include/asm/arch-omap4/omap.h @@ -109,7 +109,7 @@ struct s32ktimer { * Non-secure RAM starts at 0x40300000 for GP devices. But we keep SRAM_BASE * at 0x40304000(EMU base) so that our code works for both EMU and GP */ -#define NON_SECURE_SRAM_START 0x40304000 +#define NON_SECURE_SRAM_START 0x40300000 #define NON_SECURE_SRAM_END 0x4030E000 /* Not inclusive */ #define SRAM_SCRATCH_SPACE_ADDR NON_SECURE_SRAM_START /* base address for indirect vectors (internal boot mode) */ diff --git a/include/configs/omap4_common.h b/include/configs/omap4_common.h index e9f2383..5177313 100644 --- a/include/configs/omap4_common.h +++ b/include/configs/omap4_common.h @@ -250,8 +250,8 @@ /* Defines for SPL */ #define CONFIG_SPL #define CONFIG_SPL_FRAMEWORK -#define CONFIG_SPL_TEXT_BASE 0x40304350 -#define CONFIG_SPL_MAX_SIZE (38 * 1024) +#define CONFIG_SPL_TEXT_BASE 0x40300000 +#define CONFIG_SPL_MAX_SIZE 0x4030C000 - CONFIG_SPL_TEXT_BASE #define CONFIG_SPL_STACK CONFIG_SYS_INIT_SP_ADDR #define CONFIG_SPL_DISPLAY_PRINT
Thanks and regards, Lokesh
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
participants (4)
-
bin4ry
-
Lokesh Vutla
-
Michael Trimarchi
-
Sricharan R