cancel
Showing results for 
Search instead for 
Did you mean: 

Looking for sample code for Hyperflash erase/programming with OctoSPI

GS1
Senior III

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.

BR GS

1 ACCEPTED SOLUTION

Accepted Solutions

Unfortunately, there is no example available on HyperFlash with CubeH7 MCU package.

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen

View solution in original post

21 REPLIES 21
Imen.D
ST Employee

Hello @GS@S​ ,

I advise you to refer to the OSPI example within STM32CubeH7 MCU package:

\STM32Cube_FW_H7_V1.9.0\Projects\STM32H735G-DK\Examples\OSPI\OSPI_HyperRAM_MemoryMapped

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.

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen

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.

Unfortunately, there is no example available on HyperFlash with CubeH7 MCU package.

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen

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.

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

I have the same need..

GS@S - did you ever solved this matter?

ST - is there any example for ANY STM32 board using the S26KL512 HyperFlash, or any other HyperFlash?

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.

Hello Southbranch,

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?

BR GS

Southbranch
Senior II

Hi!

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.

N​ot 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.

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