
Hi Vladimir,
On 12 December 2015 at 17:48, Vladimir Zapolskiy vz@mleia.com wrote:
For NXP LPC32xx boards the change enables SPL_DM option, this allows to use any driver model UART driver in SPL images, hence a restriction on HSUART in SPL image is removed and well as definitions for non-DM NS16550 driver, its DM version is used instead.
Note, CONFIG_SPL_DM option noticeably increases SPL image, if just NAND SLC and DM version of NS16650 are included to the image, the size of SPL image is increased almost in two times from 10672 bytes to 19704 bytes. If SPL image is downloaded from a small page NAND device, then this can cause a problem, according to the LPC32xx User's Manual the maximum size of a secondary bootloader stored on small page NAND flash should not exceed 15.5KB (maximum size of a secondary bootloader on a large page NAND is 54KB).
Because SPL_DM requires malloc(), enable CONFIG_SYS_MALLOC_SIMPLE for all LPC32xx boards in shared config.h file.
Signed-off-by: Vladimir Zapolskiy vz@mleia.com
arch/arm/cpu/arm926ejs/lpc32xx/devices.c | 2 +- arch/arm/include/asm/arch-lpc32xx/config.h | 24 ++++++------------------ configs/devkit3250_defconfig | 1 + configs/work_92105_defconfig | 1 + 4 files changed, 9 insertions(+), 19 deletions(-)
You are bringing in the full malloc(). Try adding:
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
to your defconfig. The should cut the size increment to just under 5KB. That is still a lot. Are you able to use Thumb on your board?
Regards, Simon