AnsweredAssumed Answered

iMX25 and MT29F2G08 WinCE bootup issue

Question asked by Andre Webster on Jan 10, 2013
Latest reply on Jan 20, 2013 by Keshava G N

I am having trouble with WinCE and the MT29F2G08ABAEAWP, I can program it correctly through the ATK, but when eboot goes to jump to WinCE nothing happens. If I reset the board it then enters USB load mode (as though the flash is empty). I dumped the flash and I can see that xldr is still present but eboot has been erased.

 

Here is the config from NANDTypes.h I am using for the chip:

 

//MT29F2G08 - 10
    {
        {NAND, 2048, 2048 * 64, 64, 2048},          //FlashInfo   fi;
        {0x2C, 0xDA, 0x90, 0x95},                   //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
        {12, 5, 12, 20}                             //NANDTiming  timings
    },

Has anyone got that NAND flash chip working with WinCE (6 or 7) and if so what settings are required?

I have followed the application note AN4111 with regards to how to change the NAND flash files, but it still won't work correctly. I have added the files as suggested and now have MT29F2G08.h and MT29F2G08.inc with the values above from the datasheet.

 

Here is the trace from eboot:

 

INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0xb
BSP Clock Configuration:
    MCU PLL  = 532000000 Hz
    USB PLL  = 240000000 Hz
    ARM CLOCK  = 399000000 Hz
    AHB CLOCK  = 133000000 Hz
    IPG CLOCK  = 66500000 Hz
    USB CLOCK = 60000000 Hz
    Periph Clk CSI = 66500000 Hz
    Periph Clk EPIT = 66500000 Hz
    Periph Clk ESAI = 66500000 Hz
    Periph Clk ESDHC1 = 66500000 Hz
    Periph Clk ESDHC2 = 66500000 Hz
    Periph Clk GPT = 66500000 Hz
    Periph Clk I2C = 66500000 Hz
    Periph Clk LCDC = 66500000 Hz
    Periph Clk NFC = 33250000 Hz
    Periph Clk OWIRE = 66500000 Hz
    Periph Clk PWM = 66500000 Hz
    Periph Clk SIM1 = 66500000 Hz
    Periph Clk SIM2 = 66500000 Hz
    Periph Clk SSI1 = 66500000 Hz
    Periph Clk SSI2 = 66500000 Hz
    Periph Clk UART = 66500000 Hz

Microsoft Windows CE Bootloader Common Library Version 1.4 Built Jan 11 2013 12:12:04
Microsoft Windows CE Ethernet Bootloader 1.16 for iMX25 (Jan 11 2013 12:12:59)
Reset cause : Power On Reset
INFO:  Bootloader launched from NAND
NumberOfChip=1
BBIMainAddr=464
BBMarkNum=1
NumBlockCycles=3
ChipAddrCycleNum=5
dwBytesPerBlock=131072
dwNumBlocks=2048
wDataBytesPerSector=2048
wSectorsPerBlock=64
BBMarkNum=1
BBMarkPage1=0

--OpenBBT(1)
BBT_ReadOperation : dwStartBlock = 0x7FC, SectorAddr = 0x1FF01
Not BBT_SIGN 1 : 0xFFFFFFFF
BBT_ReadOperation : dwStartBlock = 0x7FD, SectorAddr = 0x1FF41
Not BBT_SIGN 1 : 0xFFFFFFFF
BBT_ReadOperation : dwStartBlock = 0x7FE, SectorAddr = 0x1FF81
Not BBT_SIGN 1 : 0xFFFFFFFF
BBT_ReadOperation : dwStartBlock = 0x7FF, SectorAddr = 0x1FFC1
Not BBT_SIGN 1 : 0xFFFFFFFF
No BBT Found
--ReadBBT(0)
CreateBBT : Non-Interleave Mode
WriteBBT : dwBBTBlock = 0x0, dwBBTNum = 2
WriteBBT For-loop : dwStartBlock = 0x7FC, dwBBTNum = 1
BBT_EraseOperation Begin : bNumber = 0
BBT_EraseOperation End : bNumber = 0
BBT_WriteOperation : dwStartBlock = 0x7FC, SectorAddr = 0x1FF01
WriteBBTSignature
WriteBBTSignature
WriteBBT For-loop : dwStartBlock = 0x7FD, dwBBTNum = 0
BBT_EraseOperation Begin : bNumber = 0
BBT_EraseOperation End : bNumber = 0
BBT_WriteOperation : dwStartBlock = 0x7FD, SectorAddr = 0x1FF41
WriteBBTSignature
WriteBBTSignature
Call BBT_SetBlockReservedStatus
block = 0x7FC
block = 0x7FD
block = 0x7FE
BBT_SetBlockReservedStatus : block = 0x7FE
BBT_EraseOperation Begin : bNumber = 0
BBT_EraseOperation End : bNumber = 0
block = 0x7FF
BBT_SetBlockReservedStatus : block = 0x7FF
BBT_EraseOperation Begin : bNumber = 0
BBT_EraseOperation End : bNumber = 0
--CreateBBT(1)
INFO: OEMPlatformInit: Initialized NAND flash device.
INFO: Loading boot configuration from NAND
ERROR: LoadBootCFG: ConfigMagicNumber not correct. Expected = 0x1020304 ; Actual = 0xffffffff.


Resetting factory default configuration...
INFO: Storing boot configuration to NAND block [0x104].
INFO: Successfully store boot configuration to NAND!
SDConfigPins:
WARNING: OEMPlatformInit: Failed to initialize SDHC device.
System ready!
Preparing for download...


Press [ENTER] to launch image stored in NAND flash or [SPACE] to cancel.


Initiating image launch in 0 seconds.
Launching flash image  ...
-BLMenu .
INFO: Using device name: 'Do51'
INFO: Reading NK image from NAND (please wait)...
INFO: Valid image length is [0x1910e00]
INFO: Pre copy start: 0x14 end: 0xDD
INFO: Loading image is 100% completed.
INFO: Loading of NK completed successfully.
Download successful!  Jumping to image at 0



x0 (physical 0x80200000)...

 

 

 

 

Outcomes