cancel
Showing results for 
Search instead for 
Did you mean: 

Micron flash versus Macronix flash

FrankNatoli
Associate III

STM32H7B3I EVAL hosts a Macronix flash.

stm32h7b3i_eval_ospi.c and mx25lm51245g.c implement functions to initialize, erase, read and write the Macronix flash.

Unfortunately, Macronix flash is unavailable in commercial quantities and we're planning to use Micron MT35X.

Macronix OCTAL functionality covers apparently all flash operations, almost 50 separate functions, each with a two byte function code.

Micron OCTAL functionality is far more limited, only supporting "read" and "page program" and then with single byte function codes.

Does STM make available driver software for the Micron MT35X part?

21 REPLIES 21
FrankNatoli
Associate III

Thanks. That list appears to offer support for 12 items, 5 being Macronix [MX25], 3 being Micron [N25Q], 2 being Cypress [S25FL] and two others. Will check the Microns, many thanks.

After review with my hardware guy, it would appear the MT25QL512ABB is an STM driver for a Micron quad part.

We are planning to use Micron MT35XL512ABA octal part.

I had originally used the STM driver for Macronix MX25LM51245G octal part as the model for a Micron MT35XL512ABA but in retrospect that was a mistake.

I'll instead use the STM driver for Micron MT25QL512ABB quad part as the model for the Micron octal part and modify accordingly.

Many thanks.

No worries, I'm waiting on a BGA24 fixture, in any case. Then some test parts.

The BGA24 seems to becoming more popular, conversations with Macronix suggest its a die stacking thing, but the SOIC16W (SOP16W 300-mils) is large and hugely popular across vendors, and without the assorted weird pads underneath like some of the 8-pin variants.

If board size is not an issue, I'd recommend using multiple footprints to accommodate different form-factors, given the supply chain and shortage issues which are likely to plague us for another 12-18 months. Coding software pales in comparison to reworking the PCB/PCBA over.

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

Yeah, it's not exactly a stellar mix, and generally revolves around parts ST has used themselves rather than some altruistic attempt to expand support more generally. ST has a historic relationship with Micron in the flash domain.

Winbond has a very large user base, as does Giga Devices.

Plus a lot of people don't want to be doing BGA's the costs of PCB/PCBA ramp excessively, whereas single-sided SMD/SMT at reasonable pitches is accessible and board densities and layers are manageable. Not everyone is building iPhones..

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

I ended up getting a bunch of MT35XL512ABA1G12-0SIT from the NEWARK side of AVNET, FARNELL, ELEMENT14, UKRAINIUM, et al..

NEW2022 code give 20% off, and enough to get free shipping..

0693W00000Nt4b8QAB.jpg

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

The MT35XL512's came in and I have them working on a test fixture, doing erase, write and read. Newark looked to have some MT35XL01G for under $15, so ordered a handful of those.

http://www.chipsetpro.com/

BGA24, 6x8mm, with the 5x5 ball window/frame

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

I have the MT35XL512 working on H743ZI and H7A3ZI-Q Nucleo's

code needs to be aware of pins, but also power supply, ie LDO vs SMPS on the boards, so that can complicate the support.

https://github.com/cturvey/stm32extldr/tree/main/h7_mt35xl512

0693W00000QKrnKQAT.jpg

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

Tesla, thank you.

I have been testing with STM32H7B3I EVAL hardware, which of course uses the Macronix MX25LM51245G.

Our own hardware, built with Micron MT35XL512ABA, should be ready in about two weeks.

I cloned stm32h7b3i_eval_ospi.c and mx25lm51245g.c into our company specific modules that use the Micron.

All the OCTAL functions now use single byte commands.

Configuring STR/DTR and single versus octal is of course done very differently for Micron than for Macronix, and my revised driver handles that.

If I can't make my revised driver work, I'll subscribe to yours.

Were you able to get a determination of the pin allocations? Or did it match those for the STM32H73BI-EVAL ?

I'll grab the ones for the STM32H73BI-EVAL (and DISCO) as standard templates as there will undoubtedly be those using them as reference designs.

Unfortunately the only ZIF BGA24 route to 8-pin, I didn't find any 16-pin options other that getting the sockets and fabing a board. The "Universal Programmer" approach does at least get the programming/verifying done, and the issues that dug up.

The MT35XL512 doesn't look to support the DIE ERASE commands, will see if the MT35XL01G's do when they arrive. Using the 0x60 for the MASS ERASE.

https://www.spinics.net/lists/linux-spi/attachments/pdfoAHWATDpgQ.pdf

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

In getting a better handle on the commands and functionality, I did also manage to get the CRC-64 commands working, both in terms of checking the part/range for integrity, but also having the device compute a CRC of the data it can see. The MT35XL512 was doing the computation, internally, at a rate faster than 32MByte/Second.

ADVANCED FUNCTION INTERFACE Operations

CYCLIC REDUNDANCY CHECK 9Bh/27h

#Search Micron Xccela Flash CRC-64 ECMA

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