Hi all,
I'm trying to boot eboot.nb0 from NAND. (Micron, MT29F4G08ABBDA) in WinCE7.
Processor: i.MX6Q
I have successfully booted u-boot.bin from NAND using kobs-ng tool in linux.
Also, if i use modified eboot.nb0 instead of u-boot.bin in kobs, it is booting without any problem.
But when i use MFGTool (in WinCE) for flashing eboot.nb0, it is not booting.
Following is the nanddump output when i am using kobs (linux) for flashing:
FCB:
0x00000000: 00 00 00 00 00 00 00 00 00 00 00 00 cf fc ff ff
0x00000010: 46 43 42 20 00 00 00 01 50 3c 19 06 00 00 00 00
0x00000020: 00 08 00 00 40 08 00 00 40 00 00 00 00 00 00 00
0x00000030: 00 00 00 00 00 00 00 00 04 00 00 00 00 02 00 00
0x00000040: 00 02 00 00 04 00 00 00 0a 00 00 00 03 00 00 00
0x00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00000070: 00 00 00 00 00 02 00 00 00 0b 00 00 01 01 00 00
0x00000080: 01 01 00 00 00 01 00 00 cf 07 00 00 00 00 00 00
0x00000090: 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x000000a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x000000b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x000000c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
DBBT:
0x00080000: 00 ff ff ff ff ff ff ff ff ff 00 00 00 00 44 42
0x00080010: 42 54 00 00 00 01 00 00 00 00 00 00 00 00 00 00
0x00080020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00080030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
and eboot.nb0 at Page 200.
Here, why we are getting first 12 bytes as zeros? (METADATA_SIZE is set to 10). Why two additional zeros?
In WinCE (Using MFGTool):
FCB:
[Metadata: ff ff ff ff ff ff fe ff ff ff ] (only 10 bytes of metadata)
75 b8 fe ff
46 43 42 20
0 0 0 1
50 3c 19 6
0 0 0 0
0 8 0 0
40 8 0 0
40 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
4 0 0 0
0 2 0 0
0 2 0 0
4 0 0 0
a 0 0 0
3 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
d8 f9 8a d9
11 0 0 0
0 2 0 0
40 3 0 0
40 1 0 0
40 1 0 0
0 1 0 0
cf 7 0 0
0 0 0 0
0 8 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
44 cd ab ef
d4 84 a9 ef
ff ff ff ff
ff ff ff ff
ff ff ff ff
DBBT:
0 0 0 0
44 42 42 54
0 0 0 1
0 0 0 0
0 0 0 0
and eboot.nb0 at 200 page.
Following is the nandtype info structure:
//MT29F4G08ABBDAHC |
{
{NAND, 4096, 2048 * 64, 64, 2048}, | //FlashInfo fi; |
{0x2C, 0xAC, 0x90, 0x15}, //BYTE NANDCode[NANDID_LENGTH]
3, //BYTE NumBlockCycles
5, //BYTE ChipAddrCycleNum
8, //BYTE DataWidth
1, //BYTE BBMarkNum
{0}, //BYTE BBMarkPage
6, //BYTE StatusBusyBit
0, //BYTE StatusErrorBit
64, //WORD SpareDataLength
0x70, //BYTE CmdReadStatus
0x00, //BYTE CmdRead1
0x30, //BYTE CmdRead2
0x90, //BYTE CmdReadId
0xff, //BYTE CmdReset
0x80, //BYTE CmdWrite1
0x10, //BYTE CmdWrite2
0x60, //BYTE CmdErase1
0xD0, //BYTE CmdErase2
{80, 60, 25, 6} //NANDTiming timings
}
Following is the BootBlock structure:
typedef struct _BootBlockStruct_t
{
UINT32 m_u32Checksum; //!< First fingerprint in first byte.
UINT32 m_u32FingerPrint; //!< 2nd fingerprint at byte 4.
UINT32 m_u32Version; //!< 3rd fingerprint at byte 8.
union
{
struct
{
NAND_Timing_t m_NANDTiming; //!< Optimum timing parameters for Tas, Tds, Tdh in nsec.
UINT32 m_u32Reserved; //mx28 needs a dword reservation
UINT32 m_u32DataPageSize; //!< 2048 for 2K pages, 4096 for 4K pages.
UINT32 m_u32TotalPageSize; //!< 2112 for 2K pages, 4314 for 4K pages.
UINT32 m_u32SectorsPerBlock; //!< Number of 2K sections per block.
UINT32 m_u32NumberOfNANDs; //!< Total Number of NANDs - not used by ROM.
UINT32 m_u32TotalInternalDie; //!< Number of separate chips in this NAND.
UINT32 m_u32CellType; //!< MLC or SLC.
UINT32 m_u32EccBlockNEccType; //!< Type of ECC, can be one of BCH-0-20
UINT32 m_u32EccBlock0Size; //!< Number of bytes for Block0 - BCH
UINT32 m_u32EccBlockNSize; //!< Block size in bytes for all blocks other than Block0 - BCH
UINT32 m_u32EccBlock0EccType; //!< Ecc level for Block 0 - BCH
UINT32 m_u32MetadataBytes; //!< Metadata size - BCH
UINT32 m_u32NumEccBlocksPerPage; //!< Number of blocks per page for ROM use - BCH
UINT32 m_u32EccBlockNEccLevelSDK; //!< Type of ECC, can be one of BCH-0-20
UINT32 m_u32EccBlock0SizeSDK; //!< Number of bytes for Block0 - BCH
UINT32 m_u32EccBlockNSizeSDK; //!< Block size in bytes for all blocks other than Block0 - BCH
UINT32 m_u32EccBlock0EccLevelSDK; //!< Ecc level for Block 0 - BCH
UINT32 m_u32NumEccBlocksPerPageSDK; //!< Number of blocks per page for SDK use - BCH
UINT32 m_u32MetadataBytesSDK; //!< Metadata size - BCH
UINT32 m_u32EraseThreshold; //!< To set into BCH_MODE register.
UINT32 m_u32BootPatch; //!< 0 for normal boot and 1 to load patch starting next to FCB.
UINT32 m_u32PatchSectors; //!< Size of patch in sectors.
UINT32 m_u32Firmware1_startingSector; //!< Firmware image starts on this sector.
UINT32 m_u32Firmware2_startingSector; //!< Secondary FW Image starting Sector.
UINT32 m_u32SectorsInFirmware1; //!< Number of sectors in firmware image.
UINT32 m_u32SectorsInFirmware2; //!< Number of sector in secondary FW image.
UINT32 m_u32DBBTSearchAreaStartAddress;//!< Page address where dbbt search area begins
UINT32 m_u32BadBlockMarkerByte; //!< Byte in page data that have manufacturer marked bad block marker, this will
//!< bw swapped with metadata[0] to complete page data.
UINT32 m_u32BadBlockMarkerStartBit; //!< For BCH ECC sizes other than 8 and 16 the bad block marker does not start
//!< at 0th bit of m_u32BadBlockMarkerByte. This field is used to get to the
//!< start bit of bad block marker byte with in m_u32BadBlockMarkerByte.
UINT32 m_u32BBMarkerPhysicalOffset; //!< FCB value that gives byte offset for bad block marker on physical NAND page.
UINT32 m_u32BCHType;
UINT32 m_u32TMTiming2_ReadLatency;
UINT32 m_u32TMTiming2_PreambleDelay;
UINT32 m_u32TMTiming2_CEDelay;
UINT32 m_u32TMTiming2_PostambleDelay;
UINT32 m_u32TMTiming2_CmdAddPause;
UINT32 m_u32TMTiming2_DataPause;
UINT32 m_u32TMSpeed;
UINT32 m_u32TMTiming1_BusyTimeout;
UINT32 m_u32DISBBM;
UINT32 m_u32BBMark_spare_offset;
UINT32 m_u32Onfi_sync_enable;
UINT32 m_u32Onfi_sync_speed;
UINT32 m_u32Onfi_syncNANDData;
UINT32 m_u32DISBB_Search;
} FCB_Block;
struct
{
UINT32 m_u32NumberBB; //!< # Bad Blocks stored in this table for NAND0.
UINT32 m_u32Number2KPagesBB; //!< Bad Blocks for NAND0 consume this # of 2K pages.
} DBBT_Block;
};
} BootBlockStruct_t;
Following are the values i'm assigning (Which are equal to linux):
FCB
m_u32FingerPrint = 0x20424346
m_u32Version = 0x01000000
m_u32Reserved = 0
m_NANDTiming.m_u8DataSetup = 80
m_NANDTiming.m_u8DataHold = 60
m_NANDTiming.m_u8AddressSetup = 25
m_NANDTiming.m_u8DSAMPLE_TIME = 6
m_u32PageDataSize = 2048
m_u32TotalPageSize = 2112
m_u32SectorsPerBlock = 64
m_u32NumberOfNANDs = 0
m_u32TotalInternalDie = 0
m_u32CellType = 0
m_u32EccBlockNEccType = 4
m_u32EccBlock0Size = 512
m_u32EccBlockNSize = 512
m_u32EccBlock0EccType = 4
m_u32MetadataBytes = 10
m_u32NumEccBlocksPerPage = 3
m_u32EccBlockNEccLevelSDK = 0
m_u32EccBlock0SizeSDK = 0
m_u32EccBlockNSizeSDK = 0
m_u32EccBlock0EccLevelSDK = 0
m_u32NumEccBlocksPerPageSDK = 0
m_u32MetadataBytesSDK = 0
m_u32EraseThreshold = 0
m_u32Firmware1_startingPage = 512
m_u32Firmware2_startingPage = 2816
m_u32PagesInFirmware1 = 91
m_u32PagesInFirmware2 = 91
m_u32DBBTSearchAreaStartAddress = 256
m_u32BadBlockMarkerByte = 1999
m_u32BadBlockMarkerStartBit = 0
m_u32BBMarkerPhysicalOffset = 2048
m_u32BCHType = 0
m_NANDTMTiming.m_u32TMTiming2_ReadLatency = 0
m_NANDTMTiming.m_u32TMTiming2_PreambleDelay = 0
m_NANDTMTiming.m_u32TMTiming2_CEDelay = 0
m_NANDTMTiming.m_u32TMTiming2_PostambleDelay = 0
m_NANDTMTiming.m_u32TMTiming2_CmdAddPause = 0
m_NANDTMTiming.m_u32TMTiming2_DataPause = 0
m_NANDTMTiming.m_u32TMSpeed = 0
m_NANDTMTiming.m_u32TMTiming1_BusyTimeout = 0
m_u32DISBBM = 0
DBBT
m_u32Checksum = 0x00000000
m_u32FingerPrint = 0x54424244
m_u32Version = 0x01000000
In WinCE, it is not at all booting.
Where is the mistake?
If metadata size difference is the problem , how i can solve it? ( I have also tried by changing METADATA_SIZE = 12, which increases metadata size, but not booting.)
What are those two extra bytes in linux (kobs)?
Please help.
Thanks.
Regards,
Keshava G N
解決済! 解決策の投稿を見る。
Hi,
Solved.
Eboot is booting now.
Correct data to be written for booting:
FCB:
00 00 00 00 00 00 00 00 00 00 00 00 cf fc ff ff
46 43 42 20 00 00 00 01 50 3c 19 06 00 00 00 00
00 08 00 00 40 08 00 00 40 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 04 00 00 00 00 02 00 00
00 02 00 00 04 00 00 00 0a 00 00 00 03 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 02 00 00 00 0b 00 00 01 01 00 00
01 01 00 00 00 01 00 00 cf 07 00 00 00 00 00 00
00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 1b 0c 06 06
10 1f 03 07 00 00 00 1c 0f 17 1f 05 00 00 00 00
00 19 00 00 15 19 00 00 15 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 13 00 00 00 00 16 00 00
00 16 00 00 13 00 00 00 0f 00 00 00 0a 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 16 00 00 00 13 00 00 1c 1c 00 00
1c 1c 00 00 00 1c 00 00 1b 19 00 00 00 00 00 00
00 19 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
DBBT:
00 ff ff ff ff ff ff ff ff ff 00 00 00 00 44 42
42 54 00 00 00 01 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 74 9c 34 5d ed 4b
6d 24 4d 04 d8 e4 48 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
EBOOT:
e5 ff ff ff ff ff ff ff ff ff 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 c2 02 c8 c7 39 aa
0c a8 ef 77 29 f1 78 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 d1 00 20 40 60 74 90 00 00 00 00 00
00 00 00 00 40 74 90 00 00 74 90 00 00 00 00 00
00 00 00 00 d1 00 20 40 00 20 04 80 00 00 00 00
00 00 00 00 54 74 90 00 20 74 90 00 00 00 00 00
00 00 00 00 00 70 90 00 00 10 00 00 01 00 00 00
00 0c 04 80 00 04 08 00 00 0c 04 80 00 04 08 00
00 00 00 00 ff 40 2d e9 00 70 a0 e1 09 06 50 e3
28 30 1f e5 00 30 80 85 18 36 9f e5 00 30 81 85
42 3e a0 e3 00 30 82 85 40 40 4f e2 40 50 4f e2
40 60 4f e2 00 06 9f e5 00 10 e0 e3 68 20 a0 e3
02 10 80 e7 00 10 e0 e3 6c 20 a0 e3 02 10 80 e7
00 10 e0 e3 70 20 a0 e3 02 10 80 e7 00 10 e0 e3
74 20 a0 e3 02 10 80 e7 00 10 e0 e3 78 20 a0 e3
02 10 80 e7 00 10 e0 e3 7c 20 a0 e3 02 10 80 e7
00 10 e0 e3 80 20 a0 e3 02 10 80 e7 00 10 e0 e3
84 20 a0 e3 02 10 80 e7 9c 05 9f e5 9c 15 9f e5
18 20 a0 e3 02 10 80 e7 94 05 9f e5 94 15 9f e5
94 25 9f e5 02 10 80 e7 88 15 9f e5 5b 2e a0 e3
02 10 80 e7 7c 15 9f e5 80 25 9f e5 02 10 80 e7
70 15 9f e5 78 25 9f e5 02 10 80 e7 64 15 9f e5
70 25 9f e5 02 10 80 e7 58 15 9f e5 68 25 9f e5
02 10 80 e7 4c 15 9f e5 60 25 9f e5 02 10 80 e7
40 15 9f e5 17 2d a0 e3 02 10 80 e7 38 10 a0 e3
4c 25 9f e5 02 10 80 e7 38 10 a0 e3 44 25 9f e5
02 10 80 e7 38 10 a0 e3 3c 25 9f e5 02 10 80 e7
38 10 a0 e3 52 2e a0 e3 02 10 80 e7 38 10 a0 e3
28 25 9f e5 02 10 80 e7 38 10 a0 e3 51 2e a0 e3
02 10 80 e7 38 10 a0 e3 14 25 9f e5 02 10 80 e7
38 10 a0 e3 0c 25 9f e5 02 10 80 e7 38 10 a0 e3
04 25 9f e5 02 10 80 e7 00 15 9f e5 00 25 9f e5
02 10 80 e7 38 10 a0 e3 f8 24 9f e5 02 10 80 e7
38 10 a0 e3 f0 24 9f e5 02 10 80 e7 38 10 a0 e3
e8 24 9f e5 2f 4b 52 82 fe b2 58 65 c4 a5 96 f4
3e 02 10 80 e7 38 10 a0 e3 59 2e a0 e3 02 10 80
e7 38 10 a0 e3 d4 24 9f e5 02 10 80 e7 00 10 a0
e3 cc 24 9f e5 02 10 80 e7 38 10 a0 e3 c4 24 9f
e5 02 10 80 e7 38 10 a0 e3 5a 2e a0 e3 02 10 80
e7 38 10 a0 e3 b0 24 9f e5 02 10 80 e7 38 10 a0
e3 a8 24 9f e5 02 10 80 e7 38 10 a0 e3 a0 24 9f
e5 02 10 80 e7 38 10 a0 e3 98 24 9f e5 02 10 80
e7 38 10 a0 e3 7a 2e a0 e3 02 10 80 e7 38 10 a0
e3 84 24 9f e5 02 10 80 e7 38 10 a0 e3 7c 24 9f
e5 02 10 80 e7 38 10 a0 e3 74 24 9f e5 02 10 80
e7 38 10 a0 e3 6c 24 9f e5 02 10 80 e7 02 18 a0
e3 75 2e a0 e3 02 10 80 e7 00 10 a0 e3 58 24 9f
e5 02 10 80 e7 02 18 a0 e3 50 24 9f e5 02 10 80
e7 38 10 a0 e3 48 24 9f e5 02 10 80 e7 02 17 a0
e3 40 24 9f e5 02 10 80 e7 3c 04 9f e5 02 19 a0
e3 1c 10 80 e5 02 19 a0 e3 30 24 9f e5 02 10 80
e7 2c 14 9f e5 5c 18 80 e5 24 14 9f e5 24 24 9f
e5 02 10 80 e7 20 14 9f e5 00 18 80 e5 18 14 9f
e5 12 2b a0 e3 02 10 80 e7 01 15 a0 e3 90 18 80
e5 01 15 a0 e3 04 24 9f e5 02 10 80 e7 00 14 9f
e5 00 24 9f e5 02 10 80 e7 02 1b a0 e3 b8 18 80
e5 02 1b a0 e3 f0 23 9f e5 02 10 80 e7 ec 13 9f
e5 1c 18 80 e5 e4 13 9f e5 20 18 80 e5 e0 13 9f
e5 24 18 80 e5 d4 13 9f e5 28 18 80 e5 d0 13 9f
e5 d0 23 9f e5 02 10 80 e7 c4 13 9f e5 c8 23 9f
e5 02 10 80 e7 b8 13 9f e5 c0 23 9f e5 02 10 80
e7 ac 13 9f e5 b8 23 9f e5 02 10 80 e7 b4 13 9f
e5 2c 18 80 e5 ac 13 9f e5 30 18 80 e5 a4 13 9f
e5 34 18 80 e5 9c 13 9f e5 38 18 80 e5 94 13 9f
.
.
.
Thanks all.
Keshava G N :smileyhappy:
Hi,
Solved.
Eboot is booting now.
Correct data to be written for booting:
FCB:
00 00 00 00 00 00 00 00 00 00 00 00 cf fc ff ff
46 43 42 20 00 00 00 01 50 3c 19 06 00 00 00 00
00 08 00 00 40 08 00 00 40 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 04 00 00 00 00 02 00 00
00 02 00 00 04 00 00 00 0a 00 00 00 03 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 02 00 00 00 0b 00 00 01 01 00 00
01 01 00 00 00 01 00 00 cf 07 00 00 00 00 00 00
00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 1b 0c 06 06
10 1f 03 07 00 00 00 1c 0f 17 1f 05 00 00 00 00
00 19 00 00 15 19 00 00 15 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 13 00 00 00 00 16 00 00
00 16 00 00 13 00 00 00 0f 00 00 00 0a 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 16 00 00 00 13 00 00 1c 1c 00 00
1c 1c 00 00 00 1c 00 00 1b 19 00 00 00 00 00 00
00 19 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
DBBT:
00 ff ff ff ff ff ff ff ff ff 00 00 00 00 44 42
42 54 00 00 00 01 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 74 9c 34 5d ed 4b
6d 24 4d 04 d8 e4 48 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
EBOOT:
e5 ff ff ff ff ff ff ff ff ff 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 c2 02 c8 c7 39 aa
0c a8 ef 77 29 f1 78 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 d1 00 20 40 60 74 90 00 00 00 00 00
00 00 00 00 40 74 90 00 00 74 90 00 00 00 00 00
00 00 00 00 d1 00 20 40 00 20 04 80 00 00 00 00
00 00 00 00 54 74 90 00 20 74 90 00 00 00 00 00
00 00 00 00 00 70 90 00 00 10 00 00 01 00 00 00
00 0c 04 80 00 04 08 00 00 0c 04 80 00 04 08 00
00 00 00 00 ff 40 2d e9 00 70 a0 e1 09 06 50 e3
28 30 1f e5 00 30 80 85 18 36 9f e5 00 30 81 85
42 3e a0 e3 00 30 82 85 40 40 4f e2 40 50 4f e2
40 60 4f e2 00 06 9f e5 00 10 e0 e3 68 20 a0 e3
02 10 80 e7 00 10 e0 e3 6c 20 a0 e3 02 10 80 e7
00 10 e0 e3 70 20 a0 e3 02 10 80 e7 00 10 e0 e3
74 20 a0 e3 02 10 80 e7 00 10 e0 e3 78 20 a0 e3
02 10 80 e7 00 10 e0 e3 7c 20 a0 e3 02 10 80 e7
00 10 e0 e3 80 20 a0 e3 02 10 80 e7 00 10 e0 e3
84 20 a0 e3 02 10 80 e7 9c 05 9f e5 9c 15 9f e5
18 20 a0 e3 02 10 80 e7 94 05 9f e5 94 15 9f e5
94 25 9f e5 02 10 80 e7 88 15 9f e5 5b 2e a0 e3
02 10 80 e7 7c 15 9f e5 80 25 9f e5 02 10 80 e7
70 15 9f e5 78 25 9f e5 02 10 80 e7 64 15 9f e5
70 25 9f e5 02 10 80 e7 58 15 9f e5 68 25 9f e5
02 10 80 e7 4c 15 9f e5 60 25 9f e5 02 10 80 e7
40 15 9f e5 17 2d a0 e3 02 10 80 e7 38 10 a0 e3
4c 25 9f e5 02 10 80 e7 38 10 a0 e3 44 25 9f e5
02 10 80 e7 38 10 a0 e3 3c 25 9f e5 02 10 80 e7
38 10 a0 e3 52 2e a0 e3 02 10 80 e7 38 10 a0 e3
28 25 9f e5 02 10 80 e7 38 10 a0 e3 51 2e a0 e3
02 10 80 e7 38 10 a0 e3 14 25 9f e5 02 10 80 e7
38 10 a0 e3 0c 25 9f e5 02 10 80 e7 38 10 a0 e3
04 25 9f e5 02 10 80 e7 00 15 9f e5 00 25 9f e5
02 10 80 e7 38 10 a0 e3 f8 24 9f e5 02 10 80 e7
38 10 a0 e3 f0 24 9f e5 02 10 80 e7 38 10 a0 e3
e8 24 9f e5 2f 4b 52 82 fe b2 58 65 c4 a5 96 f4
3e 02 10 80 e7 38 10 a0 e3 59 2e a0 e3 02 10 80
e7 38 10 a0 e3 d4 24 9f e5 02 10 80 e7 00 10 a0
e3 cc 24 9f e5 02 10 80 e7 38 10 a0 e3 c4 24 9f
e5 02 10 80 e7 38 10 a0 e3 5a 2e a0 e3 02 10 80
e7 38 10 a0 e3 b0 24 9f e5 02 10 80 e7 38 10 a0
e3 a8 24 9f e5 02 10 80 e7 38 10 a0 e3 a0 24 9f
e5 02 10 80 e7 38 10 a0 e3 98 24 9f e5 02 10 80
e7 38 10 a0 e3 7a 2e a0 e3 02 10 80 e7 38 10 a0
e3 84 24 9f e5 02 10 80 e7 38 10 a0 e3 7c 24 9f
e5 02 10 80 e7 38 10 a0 e3 74 24 9f e5 02 10 80
e7 38 10 a0 e3 6c 24 9f e5 02 10 80 e7 02 18 a0
e3 75 2e a0 e3 02 10 80 e7 00 10 a0 e3 58 24 9f
e5 02 10 80 e7 02 18 a0 e3 50 24 9f e5 02 10 80
e7 38 10 a0 e3 48 24 9f e5 02 10 80 e7 02 17 a0
e3 40 24 9f e5 02 10 80 e7 3c 04 9f e5 02 19 a0
e3 1c 10 80 e5 02 19 a0 e3 30 24 9f e5 02 10 80
e7 2c 14 9f e5 5c 18 80 e5 24 14 9f e5 24 24 9f
e5 02 10 80 e7 20 14 9f e5 00 18 80 e5 18 14 9f
e5 12 2b a0 e3 02 10 80 e7 01 15 a0 e3 90 18 80
e5 01 15 a0 e3 04 24 9f e5 02 10 80 e7 00 14 9f
e5 00 24 9f e5 02 10 80 e7 02 1b a0 e3 b8 18 80
e5 02 1b a0 e3 f0 23 9f e5 02 10 80 e7 ec 13 9f
e5 1c 18 80 e5 e4 13 9f e5 20 18 80 e5 e0 13 9f
e5 24 18 80 e5 d4 13 9f e5 28 18 80 e5 d0 13 9f
e5 d0 23 9f e5 02 10 80 e7 c4 13 9f e5 c8 23 9f
e5 02 10 80 e7 b8 13 9f e5 c0 23 9f e5 02 10 80
e7 ac 13 9f e5 b8 23 9f e5 02 10 80 e7 b4 13 9f
e5 2c 18 80 e5 ac 13 9f e5 30 18 80 e5 a4 13 9f
e5 34 18 80 e5 9c 13 9f e5 38 18 80 e5 94 13 9f
.
.
.
Thanks all.
Keshava G N :smileyhappy:
Hi Keshava G N:
Sorry for my poor english.
Can you share the detail about your solution.
I am trying to booting eboot from nand too.Thank you very much.
//write NCB to block 0/2 |
memset(&NCB, 0, sizeof(NCB));
memset(sectorBuf, 0x00, NANDFC_BOOT_SIZE);
NCB.m_u32FingerPrint = 0x20424346;
NCB.m_u32Version = 0x01000000;
NCB.FCB_Block.m_NANDTiming.initializer = 0x140A050A;
NCB.FCB_Block.m_u32DataPageSize = pFlashInfo->fi.wDataBytesPerSector;
NCB.FCB_Block.m_u32TotalPageSize = pFlashInfo->fi.wDataBytesPerSector + pFlashInfo->SpareDataLength;
NCB.FCB_Block.m_u32SectorsPerBlock = pFlashInfo->fi.wSectorsPerBlock;
// Not Use By Rom |
//NCB.FCB_Block.m_u32NumberOfNANDs = pFlashInfo->NumberOfChip;
// Not Use By Rom
//NCB.FCB_Block.m_u32TotalInternalDie = 1; |
// Not Use By Rom
//NCB.FCB_Block.m_u32CellType = 1; |
if(pFlashInfo->fi.wDataBytesPerSector == 2048)
{
NCB.FCB_Block.m_u32EccBlockNEccType = ECCN_2K64_PAGE;
}
else if(pFlashInfo->fi.wDataBytesPerSector == 4096 && pFlashInfo->SpareDataLength == 128)
{
NCB.FCB_Block.m_u32EccBlockNEccType = ECCN_4K128_PAGE;
}
else if(pFlashInfo->fi.wDataBytesPerSector == 4096 && pFlashInfo->SpareDataLength == 218)
{
NCB.FCB_Block.m_u32EccBlockNEccType = ECCN_4K218_PAGE;
}
else if(pFlashInfo->fi.wDataBytesPerSector == 8192 && pFlashInfo->SpareDataLength == 448)
{
NCB.FCB_Block.m_u32EccBlockNEccType = ECCN_8K_448_ONFI_PAGE;
}
else
{
RETAILMSG(1, (_T("Fatal Error!\r\n")));
return FALSE;
}
NCB.FCB_Block.m_u32EccBlock0EccType = ECC0_2K4K_PAGE; | //!< Ecc level for Block 0 - BCH | |||||
NCB.FCB_Block.m_u32EccBlock0Size = 0; | //!< Number of bytes for Block0 - BCH | |||||
NCB.FCB_Block.m_u32EccBlockNSize = 512; | //!< Block size in bytes for all blocks other than Block0 - BCH |
NCB.FCB_Block.m_u32NumEccBlocksPerPage = pFlashInfo->fi.wDataBytesPerSector / 512; //!< Number of blocks per page - BCH
NCB.FCB_Block.m_u32MetadataBytes = METADATA_SIZE; | //!< Metadata size - BCH |
// Not Use By Rom
//NCB.FCB_Block.m_u32EraseThreshold = NCB.FCB_Block.m_u32EccBlockNEccType; |
NCB.FCB_Block.m_u32BCHType = 0; |
if(pFlashInfo->fi.wDataBytesPerSector == 8192 && pFlashInfo->SpareDataLength == 448)
{
NCB.FCB_Block.m_u32EccBlock0EccType = ECC0_8K_448_ONFI_PAGE; | //!< Ecc level for Block 0 - BCH | |||||
NCB.FCB_Block.m_u32EccBlock0Size = 1024; | //!< Number of bytes for Block0 - BCH | |||||
NCB.FCB_Block.m_u32EccBlockNSize = 1024; | //!< Block size in bytes for all blocks other than Block0 - BCH |
NCB.FCB_Block.m_u32NumEccBlocksPerPage = pFlashInfo->fi.wDataBytesPerSector / 1024 - 1; //!< Number of blocks per page - BCH
NCB.FCB_Block.m_u32MetadataBytes = METADATA_SIZE; | //!< Metadata size - BCH |
NCB.FCB_Block.m_u32EraseThreshold = NCB.FCB_Block.m_u32EccBlockNEccType;
NCB.FCB_Block.m_u32BCHType = 1;
}
if(!GetGoodPhyBlock(IMAGE_BOOT_BOOTIMAGE_NAND_OFFSET, &startBlk1) || \
!GetGoodPhyBlock(IMAGE_BOOT_BOOTIMAGE_NAND_OFFSET + IMAGE_BOOT_BOOTIMAGE_NAND_BLOCKS / 2, &startBlk2) || \
!GetGoodPhyBlock(IMAGE_BOOT_BOOTIMAGE_NAND_OFFSET + IMAGE_BOOT_BOOTIMAGE_NAND_BLOCKS, &endBlk2) || \
!GetGoodPhyBlock(IMAGE_BOOT_DBBT_NAND_OFFSET, &bbtBlk))
{
RETAILMSG(TRUE, (_T(" get good block failed\r\n")));
return FALSE;
}
NCB.FCB_Block.m_u32Firmware1_startingSector = startBlk1 * pFlashInfo->fi.wSectorsPerBlock; | //!< Firmware image starts on this sector. | ||
NCB.FCB_Block.m_u32SectorsInFirmware1 = (startBlk2 - startBlk1) * pFlashInfo->fi.wSectorsPerBlock; | //!< Number of sectors in firmware image. | ||
NCB.FCB_Block.m_u32Firmware2_startingSector = startBlk2 * pFlashInfo->fi.wSectorsPerBlock; | //!< Secondary FW Image starting Sector. | ||
NCB.FCB_Block.m_u32SectorsInFirmware2 = (endBlk2 - startBlk2) * pFlashInfo->fi.wSectorsPerBlock; | //!< Number of sector in secondary FW image. |
NCB.FCB_Block.m_u32DBBTSearchAreaStartAddress = bbtBlk * pFlashInfo->fi.wSectorsPerBlock;
if(pFlashInfo->fi.wDataBytesPerSector == 2048)
{
NCB.FCB_Block.m_u32BadBlockMarkerByte = BBMarkByteOffsetInPageData_2K64;
NCB.FCB_Block.m_u32BadBlockMarkerStartBit = BBMarkBitOffset_2K64;
}
else if(pFlashInfo->fi.wDataBytesPerSector == 4096 && pFlashInfo->SpareDataLength == 128)
{
NCB.FCB_Block.m_u32BadBlockMarkerByte = BBMarkByteOffsetInPageData_4K128;
NCB.FCB_Block.m_u32BadBlockMarkerStartBit = BBMarkBitOffset_4K128;
}
else if(pFlashInfo->fi.wDataBytesPerSector == 4096 && pFlashInfo->SpareDataLength == 218)
{
NCB.FCB_Block.m_u32BadBlockMarkerByte = BBMarkByteOffsetInPageData_4K218;
NCB.FCB_Block.m_u32BadBlockMarkerStartBit = BBMarkBitOffset_4K218;
}
else if(pFlashInfo->fi.wDataBytesPerSector == 8192 && pFlashInfo->SpareDataLength == 448)
{
NCB.FCB_Block.m_u32BadBlockMarkerByte = BBMarkByteOffsetInPageData_8K448;
NCB.FCB_Block.m_u32BadBlockMarkerStartBit = BBMarkBitOffset_8K448;
}
NCB.FCB_Block.m_u32BBMarkerPhysicalOffset = pFlashInfo->fi.wDataBytesPerSector;
NCB.FCB_Block.m_u32DISBBM = 0;
NCB.FCB_Block.m_u32BBMarkSpareOffset = 0;
//For Toggle NAND
if(g_CSPfi.ToggleNand)
{
NCB.FCB_Block.m_ToggleModeNANDData.m_u32ReadLatency = g_ToggleNandInfo.NandTiming2.byReadLatency;
NCB.FCB_Block.m_ToggleModeNANDData.m_u32PreambleDelay = g_ToggleNandInfo.NandTiming2.byPreambleDelay;
NCB.FCB_Block.m_ToggleModeNANDData.m_u32CEDelay = g_ToggleNandInfo.NandTiming2.byCeDelay;
NCB.FCB_Block.m_ToggleModeNANDData.m_u32PostambleDelay = g_ToggleNandInfo.NandTiming2.byPostambleDelay;
NCB.FCB_Block.m_ToggleModeNANDData.m_u32CmdAddPause = g_ToggleNandInfo.NandTiming2.byCmdAddPause;
NCB.FCB_Block.m_ToggleModeNANDData.m_u32DataPause = g_ToggleNandInfo.NandTiming2.byDataPause;
NCB.FCB_Block.m_ToggleModeNANDData.m_u32ToggleModeSpeed = 0;
NCB.FCB_Block.m_ToggleModeNANDData.m_u32BusyTimeout = g_ToggleNandInfo.NandTiming1.wDeviceBusyTimeout;
}
memcpy(sectorBuf + NAND_HC_ECC_OFFSET_DATA_COPY, &NCB, sizeof(NCB));
NCB.m_u32Checksum = GetBCBChecksum(sectorBuf + NAND_HC_ECC_OFFSET_DATA_COPY + 4, 512 - 4);
memcpy(sectorBuf + NAND_HC_ECC_OFFSET_DATA_COPY, &NCB, sizeof(NCB));
CalculateHammingForNCB_New((unsigned char *)sectorBuf + NAND_HC_ECC_OFFSET_DATA_COPY, sectorBuf + NAND_HC_ECC_OFFSET_PARITY_COPY, NAND_HC_ECC_SIZEOF_DATA_BLOCK_IN_BYTES);
memset(&si, 0x00, sizeof(SectorInfo));
//si.bOEMReserved = (BYTE)(~OEM_BLOCK_RESERVED);
HuangShijie , FlorentAuger , terry_lr :
Please help: iMX6Q NAND Boot issue in WinCE
Thanks.
Regards,
Keshava G N
One point would be that the image you use in the MfgTool needs to know about the flash you are using, so I had to recompile the UUT versions of WinCE with the correct flash selected.
There was also an issue with FMD_Init where it didn't reconfigure it's details once you had used the lookup table, a couple of the values were defaulting to the #defines for a specific nand chip. I had to add the call CSPNAND_Init again once Eboot had run through the lookup table in Nandtypes.h or it was messing around with the bad block tables.
Hi Webster,
Following is my FMD_Init function:
PVOID FMD_Init(LPCTSTR lpActiveReg, PPCI_REG_INFO pRegIn, PPCI_REG_INFO pRegOut)
{
DWORD i, j;
PVOID pResult;
DWORD FullCode;
UNREFERENCED_PARAMETER(lpActiveReg);
UNREFERENCED_PARAMETER(pRegIn);
UNREFERENCED_PARAMETER(pRegOut);
// 0. Setup global variables. Also may add more software logic here in future
memset(&g_FlashInfoExt, 0, sizeof(g_FlashInfoExt));
BSPNAND_GetFlashInfo(&g_FlashInfoExt);
// 1. initial hardware
if(g_FlashInfoExt.AutoDec.Enable)
{
g_FlashInfoExt.CmdReset = 0xff;
g_FlashInfoExt.CmdReadId = 0x90;
}
pResult = CSPNAND_Init(&g_FlashInfoExt);
if(pResult == NULL)
{
goto cleanUp;
}
// 2. Auto detect NAND chip if it's enabled
if(g_FlashInfoExt.AutoDec.Enable)
{
g_FlashInfoExt.NumberOfChip = 0;
//BSP enables auto detect mode
for(i = 0; i < g_FlashInfoExt.AutoDec.CsSearchRange; i++)
{
CSPNAND_Reset(i);
FullCode = CSPNAND_ReadID(i);
//only support multi-nand with same type
//only support multi-nand connected continously
for(j = 0; j < sizeof(ChipInfo)/sizeof(ChipInfo[0]); j++)
{
if(!memcmp(&FullCode, ChipInfo[j].NANDCode, sizeof(FullCode)))
{
//Quit the loop
//i = g_FlashInfoExt.AutoDec.CsSearchRange;
DEBUGMSG(TRUE, (_T("NAND ID=0x%x\r\n"),FullCode));
g_FlashInfoExt.NumberOfChip++;
if(g_FlashInfoExt.NumberOfChip == 1)
{
memcpy(&g_FlashInfoExt, &ChipInfo[j], sizeof(NandChipInfo));
g_FlashInfoExt.SpareDataLength = 64;
g_FlashInfoExt.StatusBusyBit = 6;
g_FlashInfoExt.BBMarkPage = ChipInfo[j].BBMarkPage;
}
break;
}
}
}
if(!g_FlashInfoExt.NumberOfChip)
{
ERRORMSG(TRUE, (_T("No NAND type matched!\r\n")));
return FALSE;
}
}
else
{
for(i = 0; i < g_FlashInfoExt.NumberOfChip; i++)
{
CSPNAND_Reset(i);
if((WORD)CSPNAND_ReadID(i) != g_FlashInfoExt.NANDIDCode)
{
pResult = NULL;
goto cleanUp;
}
}
}
//PostInit:
RETAILMSG(TRUE, (_T("NumberOfChip=%d\r\n"),g_FlashInfoExt.NumberOfChip));
CSPNAND_PostInit(&g_FlashInfoExt);
if(g_FlashInfoExt.ILSupport && CSPNAND_ILSupport())
{
//silicon supports interleave mode & bsp needs interleave mode
g_bInterLeaveMode = TRUE;
}
if(!BBT_Init())
{
RETAILMSG(TRUE, (TEXT("InitializeBBT Fail\r\n")));
}
cleanUp:
return pResult;
}
Whether this is correct?
Thanks. :smileyhappy:
With regards,
Keshava G N
PVOID FMD_Init(LPCTSTR lpActiveReg, PPCI_REG_INFO pRegIn, PPCI_REG_INFO pRegOut)
{
DWORD i, j;
PVOID pResult;
DWORD FullCode, TempCode;
UNREFERENCED_PARAMETER(lpActiveReg);
UNREFERENCED_PARAMETER(pRegIn);
UNREFERENCED_PARAMETER(pRegOut);
// 0. Setup global variables. Also may add more software logic here in future
memset(&g_FlashInfoExt, 0, sizeof(g_FlashInfoExt));
BSPNAND_GetFlashInfo(&g_FlashInfoExt);
pResult = CSPNAND_Init(&g_FlashInfoExt);
if(pResult == NULL)
{
RETAILMSG(TRUE, (_T("FMD_Init failed\r\n")));
goto cleanUp;
}
// 2. Auto detect NAND chip if it's enabled
if(g_FlashInfoExt.AutoDec.Enable)
{
g_FlashInfoExt.NumberOfChip = 0;
// BSP enables auto detect mode
for(i = 0; i < g_FlashInfoExt.AutoDec.CsSearchRange; i++)
{
CSPNAND_Reset(i);
FullCode = CSPNAND_ReadID(i);
RETAILMSG(TRUE, (_T("FMD_Init %X\r\n"), FullCode));
// only support multi-nand with same type
// only support multi-nand connected continously
for(j = 0; j < sizeof(ChipInfo)/sizeof(ChipInfo[0]); j++)
{
memcpy(&TempCode, ChipInfo[j].NANDCode, sizeof(ChipInfo[j].NANDCode));
if(!memcmp(&FullCode, ChipInfo[j].NANDCode, sizeof(FullCode)))
{
DEBUGMSG(TRUE, (_T("FMD_Init(%d), %d, (%d,%d)\r\n"), j,
ChipInfo[j].BBMarkNum, ChipInfo[j].BBMarkPage[0],
ChipInfo[j].BBMarkNum == 2
? ChipInfo[j].BBMarkPage[1] : 0));
g_FlashInfoExt.NumberOfChip++;
if(g_FlashInfoExt.NumberOfChip == 1)
{
memcpy(&g_FlashInfoExt, &ChipInfo[j], sizeof(NandChipInfo));
g_FlashInfoExt.BBMarkNum = ChipInfo[j].BBMarkNum;
memcpy(g_FlashInfoExt.BBMarkPage, ChipInfo[j].BBMarkPage, sizeof(ChipInfo[j].BBMarkPage));
g_FlashInfoExt.ChipInfo.BBMarkNum = ChipInfo[j].BBMarkNum;
memcpy(g_FlashInfoExt.ChipInfo.BBMarkPage, ChipInfo[j].BBMarkPage, sizeof(ChipInfo[j].BBMarkPage));
}
break;
}
else if(j == (sizeof(ChipInfo)/sizeof(ChipInfo[0]) - 1))
{
if(!g_FlashInfoExt.NumberOfChip)
{
ERRORMSG(TRUE, (_T("no NAND type matched!\r\n")));
return FALSE;
}
goto PostInit;
}
}
}
}
else
{
for(i = 0; i < g_FlashInfoExt.NumberOfChip; i++)
{
CSPNAND_Reset(i);
if((WORD)CSPNAND_ReadID(i) != g_FlashInfoExt.NANDIDCode)
{
DEBUGMSG(TRUE, (_T("CSPNAND_ReadID(%X) != %X\r\n"), (WORD)CSPNAND_ReadID(i), g_FlashInfoExt.NANDIDCode));
pResult = NULL;
goto cleanUp;
}
}
}
PostInit:
DEBUGMSG(TRUE, (_T("NumberOfChip=%d\r\n"), g_FlashInfoExt.NumberOfChip));
DEBUGMSG(TRUE, (_T("BBIMainAddr=%d\r\n"), g_FlashInfoExt.BBIMainAddr));
DEBUGMSG(TRUE, (_T("NumBlockCycles=%d\r\n"), g_FlashInfoExt.NumBlockCycles));
DEBUGMSG(TRUE, (_T("ChipAddrCycleNum=%d\r\n"), g_FlashInfoExt.ChipAddrCycleNum));
DEBUGMSG(TRUE, (_T("dwBytesPerBlock=%d\r\n"), g_FlashInfoExt.fi.dwBytesPerBlock));
DEBUGMSG(TRUE, (_T("dwNumBlocks=%d\r\n"), g_FlashInfoExt.fi.dwNumBlocks));
DEBUGMSG(TRUE, (_T("wDataBytesPerSector=%d\r\n"), g_FlashInfoExt.fi.wDataBytesPerSector));
DEBUGMSG(TRUE, (_T("wSectorsPerBlock=%d\r\n"), g_FlashInfoExt.fi.wSectorsPerBlock));
DEBUGMSG(TRUE, (_T("BBMarkNum=%d\r\n"), g_FlashInfoExt.ChipInfo.BBMarkNum));
DEBUGMSG(TRUE, (_T("BBMarkPage1=%d\r\n"), g_FlashInfoExt.ChipInfo.BBMarkPage[0]));
if (g_FlashInfoExt.ChipInfo.BBMarkNum > 1)
{
DEBUGMSG(TRUE, (_T("BBMarkPage2=%d\r\n"), g_FlashInfoExt.ChipInfo.BBMarkPage[1]));
}
CSPNAND_PostInit(&g_FlashInfoExt);
// ensure we are using the new values.
pResult = CSPNAND_Init(&g_FlashInfoExt);
if(pResult == NULL)
{
RETAILMSG(TRUE, (_T("CSPNAND_PostInit failed\r\n")));
goto cleanUp;
}
if(g_FlashInfoExt.ILSupport && CSPNAND_ILSupport())
{
//silicon supports interleave mode & bsp needs interleave mode
g_bInterLeaveMode = TRUE;
}
if(!BBT_Init())
{
RETAILMSG(TRUE, (TEXT("InitializeBBT Fail\r\n")));
}
cleanUp:
return pResult;
}
That is my new FMD_Init. I also have to support a flash that uses 2 bad block table blocks - ie BBMarkNum = 2 which is why I have the extra debug.
Hi Webster,
I ensured that my NAND flash values are updating.
Now, while comparing the data written in NAND (ie: FCB and DBBT) in linux and in WinCE, i am doubting on ECC values written using WinCE.
Can you post the ECC calculation procedure in your code?
Thanks .
With regards,
Keshava G N
I haven't had to change anything to do with the ECC calculation as my chip only uses 4-bit ECC.
Hi Webster,
Do you know how (and where in source code) "metadata" is written in NAND?
Can we edit it?
Thanks.
With regards,
Keshava G N
The metadata is written with the first data chunk(most of the time, it's 512bytes).
You can write some data in the metadata, but after you have written the metadata to nand, you can not change it any more.
Of course, if you erase the block again, you can write some other data to the metadata again.
Hi HuangShijie ,
Thanks...
Do you have any idea about my issue: iMX6Q NAND Boot issue in WinCE
Thanks.
Regards,
Keshava G N
Hi Webster,
Thank you for your help... :smileyhappy:
With regards,
Keshava G N
Hi Webster,
Thanks for quick response.
Andre Webster wrote:
One point would be that the image you use in the MfgTool needs to know about the flash you are using, so I had to recompile the UUT versions of WinCE with the correct flash selected.
I'm using the updated image.
Andre Webster wrote:
There was also an issue with FMD_Init where it didn't reconfigure it's details once you had used the lookup table, a couple of the values were defaulting to the #defines for a specific nand chip. I had to add the call CSPNAND_Init again once Eboot had run through the lookup table in Nandtypes.h or it was messing around with the bad block tables.
Please tell me more about this issue.
Which values are causing problem? and where i have to add call to CSPNAND_Init ?
Thanks.
With regards,
Keshava G N