beautypg.com

2 boot sequence, 1 boot loaders in muxonenand – Samsung MUXONENAND A-DIE KFM2G16Q2A User Manual

Page 171

background image

MuxOneNAND2G(KFM2G16Q2A-DEBx)

- 171 -

FLASH MEMORY

MuxOneNAND4G(KFN4G16Q2A-DEBx)

7.2 Boot Sequence

One of the best features MuxOneNAND has is that it can be a booting device itself since it contains an internally built-in boot loader despite
the fact that its core architecture is based on NAND Flash. Thus, MuxOneNAND does not make any additional booting device necessary for a
system, which imposes extra cost or area overhead on the overall system.

As the system power is turned on, the boot code originally stored in NAND Flash Array is moved to BootRAM automatically and then fetched
by CPU through the same interface as SRAM’s or NOR Flash’s if the size of the boot code is less than 1KB. If its size is larger than 1KB and
less than or equal to 3KB, only 1KB of it can be moved to BootRAM automatically and fetched by CPU, and the rest of it can be loaded into
one of the DataRAMs whose size is 2KB by Load Command and CPU can take it from the DataRAM after finishing the code-fetching job for
BootRAM. If its size is larger than 3KB, the 1KB portion of it can be moved to BootRAM automatically and fetched by CPU, and its remaining
part can be moved to DRAM through two DataRAMs using dual buffering and taken by CPU to reduce CPU fetch time.

A typical boot scheme usually used to boot the system with MuxOneNAND is explained at Partition of NAND Flash Array and MuxOneNAND
Boot Sequence. In this boot scheme, boot code is comprised of BL1, where BL stands for Boot Loader, BL2, and BL3. Moreover, the size of
the boot code is larger than 3KB (the 3rd case above). BL1 is called primary boot loader in other words. Here is the table of detailed expla-
nations about the function of each boot loader in this specific boot scheme.

7.2.1 Boot Loaders in MuxOneNAND

Boot Loaders in MuxOneNAND

NAND Flash Array of MuxOneNAND is divided into the partitions as described at Partition of NAND Flash Array to show where each compo-
nent of code is located and how much portion of the overall NAND Flash Array each one occupies. In addition, the boot sequence is listed
below and depicted at Boot Sequence.

7.2.2 Boot Sequence

Boot Sequence :
1. Power is on
BL1 is loaded into BootRAM

2. BL1 is executed in BootRAM
BL2 is loaded into DRAM through two DataRams using dual buffering by BL1

3. BL2 is executed in DRAM
OS image is loaded into DRAM through two DataRams using dual buffering by BL2

4. OS is running

Boot Loader

Description

BL1

Moves BL2 from NAND Flash Array to DRAM through two DataRAMs using dual buffering

BL2

Moves OS image (or BL3 optionally) from NAND Flash Array to DRAM through two DataRams using dual buffering

BL3 (Optional)

Moves or writes the image through USB interface

This manual is related to the following products: