The Phytec LPC3250 based board ships with the kickstart loader and Stage 1 Loader pre-installed to execute from small block NAND FLASH. The kickstart loader resides in NAND block 0 and is loaded into IRAM with the LCP32x0 boot ROM on chip reset. Control is then transferred to IRAM after the kickstart loader is loaded. The kickstart loader then loads the Stage 1 Loader from block 1 and on of NAND FLASH into IRAM. Once S1L is loaded, control is transferred to S1L. The kickstart loader concept and S1L are explained in more detail in the Common Driver Library (CDL) boot loaders page.
S1L initializes the board and SDRAM and then can be setup to load another application in IRAM or SDRAM. For Linux, u-boot can be setup to load and run in SDRAM at address 0x83fc0000. Because S1L and not the kickstart loader initializes SDRAM, u-boot must be loaded and started from S1L. However, S1L isn't required and the kickstart loader can be built to load u-boot directly from NAND FLASH into SDRAM.
Note: The LPC32x0 attempts to boot from SPI FLASH first, NOR FLASH second, and NAND FLASH last. If a bootable image is located in SPI FLASH, the NOR FLASH and NAND FLASH boot methods will not work. Likewise, if an image is located in NOR FLASH, NAND FLASH boot will not work. If you want to boot from NAND FLASH, but have programmed an image into SPI or NOR FLASH, you will need to erase SPI or NOR FLASH first. Information about erasing these boot sources on the Phytec board can be found on the Erasing Phytec LPC3250 board FLASH page.
Restoring or updating the Phytec LPC3250 board's boot loaders
If the kickstart loader or S1L is accidently erased in NAND FLASH, the board will fail to boot. The kickstart loader and S1L can be restored by following the procedure located on the Restoring or updating the Phytec LPC3250 board's boot loaders page.
Setting up to boot u-boot without S1L
The Phytec LPC3250 board can be setup to boot u-boot from the kickstart loader without the use of S1L. This requires a special version of the kickstart loader that initializes SDRAM and loads u-boot from NAND FLASH directly into SDRAM. However, this version of the kickstart loader cannot reside in small block NAND FLASH due to boot image size limitations with small block NAND FLASH. It must boot from SPI FLASH or NOR FLASH. Information about configuring and setting up this capability can be found here on the [[Booting u-boot without S1L on the Booting u-boot without S1L on the Phytec LPC3250 board page. These configurations uses the SPI FLASH for boot with u-boot stored in NAND FLASH.
Booting from NOR FLASH
u-boot can be setup to boot from NOR FLASH instead of NAND FLASH. For this setup, u-boot still loads and executes in SDRAM, but is stored and loaded from NOR FLASH instead of NAND FLASH. A small kickstart loader that initializes SDRAM executes from NOR FLASH on system reset and loads the u-boot image stored in NOR FLASH into SDRAM and then starts it. Information about configuring and setting up this capability can be found here on the Booting u-boot from NOR FLASH (without S1L) on the Phytec LPC3250 board page.