We started a project with Hyperflash and Hyperram (each on a separate OctoSPI port) with STM32H7A3.
I will need to flash the Hyperflash (S26KL512) via
1) Keil ARM Programmer (ULINK Pro) <- Needs a programming algorithm
2) By my own software parts for flashing firmware updates.
Is there meanwhile a sample project which I can refer to for more details?
Any help is very much appreciated.
Solved! Go to Solution.
Hello @GS@S ,
I advise you to refer to the OSPI example within STM32CubeH7 MCU package:
You can use the code available in the example or get inspired to develop your application.
When your question is answered, please close this topic by choosing "Select as Best". This will help other users find that answer faster.
Ok, Imen, I already saw this example. This relates to HyperRAM usage in memory mapped mode, which is really helpful for the use of HyperRAM.
But I am looking for samples on HyperFlash. I need programming and erasing sample code and if available a programming driver for the Keil programmer part.
ST only tends to build/provide examples for hardware they've built/supplied, ie DISCO, NUCLEO, EVAL. The HAL also provides a transitional path between STM32 parts and families, expanding the super-set of examples.
For stuff you've built you're going to have to pull out the data sheets, understand the command forms and requirements, and then use the OCTOSPI/QSPI direct commanding examples/methods to drive your devices.
If you can make a workable BSP the path to STLDR/FLM loader becomes easier, but its not a zero time/cost exercise, and is part/board specific.
As stated yesterday in the other question: This is one of the major tasks for our current project. Solution coded, but not yet tried on the board. This will happen in March/April.
I did not find an STM32 board using S26KL512 HyperFlash.
now we ramped up the system, but I the S26KL512 HyperFlash is making some headaches...
Signals look good, but I can not read Status or ID. Neither in memory mapped mode, nor in indirect mode. I use the lld routines which I downloaded from Infineon, but I am not sure if these work with the Hyperflash correctly...
Could you get your system running and answering Status or ID register values? How is your OSPI initialisation?
Did you see my post: How to program simple data to OCTOSPI external flash? (st.com)
I still have not figured out how to read/write to the hyperflash. I have a custom board with the multichip S71KL256 which consist of a multiplexed HyperRAM (S27KL-series) and a HyperFLASH (S26KL-series). I have used the example settings + code given in AN5050.
The RAM works fine so I assume all signals works fine. In memory mapped mode I can read/write also to the flash, but so far no success to read ID or program the flash with permanent data.
@ST, please is this something you could consider to provide? There is also a Gen 2.0 of this multichip runnig at 166 MHz at 3.3V, S76HL512. A simple example how to read chip ID and program this chip would be great!
One of the bigger issues here is how difficult these parts are to prototype with. Without something in-hand it requires blind coding.
Not sure how much of this falls on Infineon's or ST's doorstep. TBH I think the benefit to sales falls more heavily on Infineon and their FAEs to get working examples on predominant platforms. They could always furnish me with hardware to tinker with.