2022-06-27 08:20 AM
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?
2022-07-18 10:30 AM
Well got some testing of the MT35XL01G over the weekend, whilst the MT35XL02G sat in the mail room, as I didn't realize FedEx had delivered it early.
Things I know today.
The "AutoPolling" method don't work with multi-die Micron devices. You have to do multiple individual reads on FLAG STATUS REGISTER to get a full complement of messages, and you need to be ready/complete on all devices, I think READ STATUS synchronizes things, but don't quote me. If you read multiple bytes they will come from the same die. If you only read/check one register the BUSY/READY will toggle on 2 DIE parts. Auto-Polling might query the wrong die.
Watch for hard coded dummy cycles, which differ from other parts.
Bit-6 of the STATUS REGISTER which Macronix uses to enable Quad-Pin operation (not QPI mode, but pin utilization), locks/protects the top 16MB of the MT35LX01G preventing erase/write operation with a protection error.
2022-07-18 04:21 PM
Well, we'll be using the MT35XL512ABA.
Regarding dummy cycles, I believe the Micron has a default number of dummy cycles per command, which I believe will be good for us. Not true?
Not concerned with quad since we will only use octal.
No hardware ready for us yet.