cancel
Showing results for 
Search instead for 
Did you mean: 

Hi, I am using STM32H7A3 board. I need to store a large file. My requirement is to connect an external Flash to STM32 board. When i checked the documents i found QSPI support external flash memory.

JJoy.1
Associate III

The QSPI pins are mentioned in STM32H7A3 reference document. Please refer Img1.

In STM32CubeIDE I am seeing the interface as OCTOSPI. Please refer Img2.

I need to know

  • Does STM32H7A3 board supports QSPI or OCTOSPI?
  • If it supports , please give the details for the integration or documents mentioning the steps for integration.
  • Read that some loader files are needed for QSPI. From where we will get this?

Thanks,

Jestina

5 REPLIES 5
JJoy.1
Associate III

Hi,

I need to know :

In order to use OCTOSPI, the external memory device should be OCTOSPI devices? Whether OCTOSPI works with normal external memory devices?

What is this FMC peripheral used for? Whether i can use this for my purpose?

Please reply..

Thanks,

Jestina

Controller should support 1, 2, 4 and 8-bit wide memory devices/operation

Tends to reside in the 0x90000000..0x9FFFFFFF address space, is seperate and distinct from F(S)MC memory controller.

F(S)MC would be for parallel data bus, and muxed or unmuxed address bus, typically your Parallel NAND and NOR Flash, SRAM and SDRAM type memories.

QUAD/OCTO SPI is for serial/linear memories, typically read focused, packet/block/burst orientated, it can perform random access but is somewhat inefficient due to overheads of selecting addresses, and the devices buffering/pipelining.

ST doesn't know what memories you'll use, or the pins they'll utilize in a given situation, so the download tools will require you to write an external loader that can get the chips and interfaces in order, and is aware of the erase and write expectations of the memory device.

They have courses and examples for these, but they are hard and unforgiving. Expect to spend several days or weeks with them. Get the read, erase, write code of your BSP working from an application based test fixture first.

For large data storage, read/write efficiencies, perhaps look at SDMMC and eMMC

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

Thanks for the reply.

I just need to know ,

if i use OCTOSPI - can i use all types of flash devices or OCTOSPI enabled devices only?

In STM32H7A3 datasheet - QSPI pins are mentioned( refer Img1).

But in STM32CubeIDE , under connectivity tab- I am able to see OCTOSPI1 and 2 . (Refer Img2)

Which peripheral is supported by my device?

How can i configure it correctly as it is showing difference between datasheet and Cube IDE?

I am having a file of size 5MB which i need to write to external flash. Whether QSPI/OCTOSPI works fine in this scenario? Is SD card a better choice?

Please guide and give me a reply..

Thanks,

Jestina

You'd use OCTOSPI in 4-bit only mode, or figure what additional pins on the H7A3 or Nucleo are exposed to get access to D4..D7

The OCTOSPI is a super-set of the older QUADSPI peripheral.

A QSPI NOR Flash would be sufficient for a singular blob of 5 MB in size. A 64Mbit (8MB) memory would suffice. Larger memories may be cheaper and easier to source over the lifespan of the design. 16-pin 300mil SOIC foot-prints are strongly recommended.

Erase/Write Speed of NOR Flash is on the slower side. Not clear how frequently the file/data would need updating, or the speed expectations for that operation.

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

Hi,

Thanks for the update..

So i need to configure OCTOSPI in 4-bit only mode and assign the pins to - D0 to D3 and CS and CLK as given in the H7A3 datasheet QSPI pins( Img1), right?

The frequency of Write/Read is very low, so i think i can go ahead with QSPI NOR Flash..

Thanks,

Jestina