2021-07-09 04:29 AM
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
Thanks,
Jestina
2021-07-09 05:25 AM
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
2021-07-09 06:46 AM
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
2021-07-12 03:03 AM
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
2021-07-12 11:04 AM
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.
2021-07-12 10:58 PM
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