cancel
Showing results for 
Search instead for 
Did you mean: 

QSPI flash IC obsolescence from STM32F412G-DISCO

EJ.1
Associate II

Hi,

We are referring to the bill of materials of the STM32F412G_DISCO board. We are looking up for QSPI flash IC (MICRON N25Q128A13EF840F) used in the development board for our new design and found that its lifecycle is obsolete on mouser india.

Also the IC is non stocked by most of our suppliers hence availability is difficult. We seek alternate pin compatible part number which will work with our future design.

Our application engineer has identified a similar QSPI flash IC from WINBOND which is available from mouser india.

Please take a look at following links:

Obsolete (MICRON TECHNOLOGY INC., MOUSER INDIA)

Identified by us (WINBOND., MOUSER INDIA)

We seek solution to following queries:

  1. confirm whether WINBOND part will work in replacement for the obsolete part
  2. recommend a suitable part to replace MICRON flash IC if identified part not suitable

Please suggest on above queries

Regards,

Eshwar

4 REPLIES 4

MT25QL128ABA1EW9-0SIT ?

Frequently the newer part's are not 100% identical in function or construction.

You might have to review the programming methods, code a new external loader, or test / address compatibility issues.

Generally with QSPI NOR Flags the 300mil wide SOIC16 packages have the broadest availability.

Parts above 16MB(128Mb) will need 32-bit / 4-byte addressing modes so will likely need specific configuration, or code changes, to accommodate via Memory Mapped modes. Usually relatively simple.

If you are likely to use a mix of parts over a product life-span, probably best to use JEDEC READID (0x9F) to identify the specific part during early configuration, or using the parameters reported by the device.

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
Pavel A.
Evangelist III

To find a compatible part you find the description of the original part (N25Q128) in the ST BSP drivers collection:

https://github.com/STMicroelectronics/stm32-n25q128a/blob/main/n25q128a.h

(in form of software interface of course).

There you see that it has two sizes of erase block: 64 KiBytes and 4 KiBytes. Then you check your software to find which block size is used (or both) and find a new part with the same erase block size. The program (write) page size of old part should be same or multiple of page size of new part. Also consider the erase time if it is important, choose new part with same or better erase time.  This allows to easily adapt the software, avoid changes in offsets and alignment in the flash memory. If the new part is larger, consider what you want to do with extra size: just ignore it, or use. Then adapt the main BSP functions (init, erase, program, read).  If relevant - do more advanced functions (write protection and so on).

Now, that whole deal with "external loaders"...  IMHO it is optional, you can save time and nerve cells to skip these loaders and program your flash directly by your code. Or use other options.

 

 

>>IMHO it is optional, you can save time and nerve cells to skip these loaders and program your flash directly by your code.

Well definitely as part of a strategy to allow for field upgrade of a product. Whether that's via USB Flash Stick, MicroSD, etc. a good thing to nail down early in development rather than at the tail-end.

Buying one external flash part for the life-span of a product is likely overly optimistic, as pricing, availability, manufacture's merging and geometries are constantly evolving

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..