AnsweredAssumed Answered

Using Micron MT29F8G08ABABWP with FFS

Question asked by Randall Jordan on Jul 10, 2017
Latest reply on Aug 4, 2017 by Randall Jordan

Currently I’m using I’m are using MQX 4.2 and a K20FX512VLQ12 connected to a Spansion S34ML08G2 NAND flash memory chip. Everything is works well using the Spansion flash.

 Our board house would like us to replace the Spansion flash with a Micron MT29F8G08ABABWP because of the long lead time for the Spansion flash.

I’ve placed the Micron flash chip on one of our boards to test, update init_nandflash.c with the parameters from the Micron data sheet:

#define MT29F8G08_PHYSICAL_PAGE_SIZE     4096

#define MT29F8G08_SPARE_AREA_SIZE         224

#define MT29F8G08_BLOCK_SIZE             524288 /* 512kB */

#define MT29F8G08_NUM_BLOCKS             2048

#define MT29F8G08_WIDTH                   8

 

NANDFLASH_INFO_STRUCT _MT29F8G08_organization_8bit[] = {

  MT29F8G08_PHYSICAL_PAGE_SIZE,

  MT29F8G08_SPARE_AREA_SIZE,

  MT29F8G08_BLOCK_SIZE,

  MT29F8G08_NUM_BLOCKS,

  MT29F8G08_WIDTH

};

 

I also updated the assert(entry_count < 257) in PageOrderMap::init to allow entry count of 1024, this is the count passed into the function.

When I try to open the flash device it never returns with a device handle. Stepping through the code, the call to Mapper::scanAndBuildPhyMap never returns.

Has anyone used the Micron flash, I'm not sure what I've missed setting up the Micron MT29F8G08ABABWP for use with MQX and FFS? 

Thanks for your time, any help is appreciated.

 

Update:

I'm marking Soledad's answer as correct.  After updating to uint16 entries correctly in PageOrderMap, changing BSP_VIRTUAL_PAGE_SIZE to 2048 worked.  The device handle is now returned and MFS installs.

Attachments

Outcomes