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.sricha...@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 > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot