Hi All,
Checking the Micron website for the MT29F32G08CBACA part that Visakhan suggested indicates that it is also approaching EOL. I have samples on order anyway, but probably not a good move to start new product with this part. I'm showing two tables in this post that indicate the internal configurations for both parts (TABLE[1]) and the values of the MQX #defines in the 4 different source code files I've found that specify Nand Flash Parameters (TABLE[2]). You will notice that the default define statements do not accurately describe the original flash part on the tower module (resulting on some loss of max capacity, no big deal) but all works as it should.
Over the last week or so I have tried every combination of values correct to the replacement part and default values that I can think of with no luck. Some items I've maintained at there original values since I believe they are governed by the demands of the processor itself. These defines include:
NANDFLASH_BOOT_PAGE_SIZE 0x3E4
NANDFLASH_BOOT_ECCBYTES 0x3C
BSP_VIRTUAL_PAGE_SIZE 2048
BSP_ECC_SIZE 32
All other #defines have at various times been modified to the specifications of the new chip or left unchanged. So far no combination has worked. At this point I'm not sure what else can be done except to assume that this replacement flash part isn't compatible with the MPC-5125 NFC. Since the Micron parts that are compatible are approaching EOL does this mean that there is no compatible NAND Flash part that can be used with this processor? Anyone who has developed a product with this processor that boots from a NAND flash chip other then the original part spec'd on the TWR-MPC-5125 module, I sure would like to know what part you used. Best to all.
~Tim
TABLE[1]: Original (working) Micron Recommended
TWR-MPC-5125 Part Replacement Part (not working)
MT29F32G08CBABA MT29F32G08CBADA
----------------- -----------------
Device Bit Width : 8 Bits 8 bits
Page Size* : 4096 Bytes 8192 Bytes
Page Extra Bytes : 224 Bytes 744 Bytes
Pages Per Block : 256 Pages 256 Pages
Block Count : 4096 Blocks 2128 Blocks
Block Size* : 4096 x 256 = 1,048,576 8192 x 256 = 2,097,152
Blocks Per Plane : 2048 1064
Plane Size* : 1,048,576 x 2048 = 2,147,483,648 Bytes 2,097,152 x 1064 = 2,231,369,728 Bytes
Plane Count : 2 Planes 2 Planes
Device Size* : 2,147,483,648 x 2 = 4,294,967,296 Bytes 2,231,369,728 x 2 = 4,462,739,456 Bytes
Size In Gigabytes* : 4,294,967,296 Bytes is 4 GB 4,462,739,456 Bytes is 4.15625 GB
*Specified values do not include the extra/ecc bytes available to each page
TABLE[2]: Freescale MQX Freescale MQX
#defines Filename #defines Default Values
----------------- ------------ -----------------
Page Size : NANDFLASH_PHYSICAL_PAGE_SIZE bsp_prv.h 2048 (8192)
Page Extra Bytes : NANDFLASH_SPARE_AREA_SIZE bsp_prv.h 60 (744)
Block Size : NANDFLASH_BLOCK_SIZE bsp_prv.h 524,288 (2,097,152)
Boot Page Size : NANDFLASH_BOOT_PAGE_SIZE bsp_prv.h 0x3E4
Boot ECC Bytes : NANDFLASH_BOOT_ECCBYTES bsp_prv.h 0x3C
Flash Size : BSP_FLASH_SIZE twrmpc5125.h 0x400000 (4,462,739,456)
Device Bit Width : BSP_FLASH_WIDTH twrmpc5125.h 8
Flash Device Count: BSP_FLASH_DEVICES twrmpc5125.h 1
Virtual Page Size : BSP_VIRTUAL_PAGE_SIZE twrmpc5125.h 2048
ECC Size : BSP_ECC_SIZE twrmpc5125.h 32
Block Size : BSP_NAND_BLOCK_SIZE twrmpc5125.h (512*1024) (256*8192)
Block Count : BSP_NAND_NUM_BLOCKS twrmpc5125.h 2048 (2128)
Page Size : MT29F32G08_PHYSICAL_PAGE_SIZE MT29F32G08.c 2048 (8192)
Page Extra Bytes : MT29F32G08_SPARE_AREA_SIZE MT29F32G08.c 64 (744)
Block Size : MT29F32G08_BLOCK_SIZE MT29F32G08.c 524,288 (2,097,152)
Block Count : MT29F32G08_NUM_BLOCKS MT29F32G08.c 8,192 (2128)
Device Bit Width : MT29F32G08_WIDTH MT29F32G08.c 8
Page Size : NAND_FLASH_PAGE_SIZE nandbootloader.h 2048 (8192)
Block Size : NAND_FLASH_BLOCK_SIZE nandbootloader.h 524,288 (2,097,152)
Image Table BlkLoc: IMAGE_TABLE_BLOCK_LOCATION nandbootloader.h 8,000
Image Table PgLoc : IMAGE_TABLE_PAGE_LOCATION nandbootloader.h 2, 048,000
*(xxx) values are some values that I've tried based on the Micron spec sheet
Paths where TABLE[2] Files are located:
C:\Program Files (x86)\Freescale\Freescale MQX 3.8.1.1\mqx\source\bsp\twrmpc5125\bsp_prv.h
C:\Program Files (x86)\Freescale\Freescale MQX 3.8.1.1\mqx\source\bsp\twrmpc5125\twrmpc5125.h
C:\Program Files (x86)\Freescale\Freescale MQX 3.8.1.1\mqx\source\io\nandflash\nandbootloader.h
C:\Program Files (x86)\Freescale\Freescale MQX 3.8.1.1\mqx\source\io\nandflash\nand_devices\MT29F32G08.c