Skip to main content
Visitor II
January 4, 2022
Solved

STM32L4P5-DK with Quad SPI RAM, do I have to remove the Octo SPI RAM

  • January 4, 2022
  • 16 replies
  • 6979 views

The board can be populated with a Quad SPI PSRAM, sharing OCTOSPI1. Do I need to remove the OctoSPI before using the Quad SPI or is it enough to disconned CS?

    This topic has been closed for replies.
    Best answer by mluerkens

    Hi Alex, AN5050 is setting chips select boundary to 0, your code is setting it to 9 which seems to be the correct value. I reduced the buffer size for testing to 4k and using that shows no errors. Seems my flying lead setup is really causing the problems. I found a friend, being able to put the memory on the discokit.

    Tx

    Matthias

    16 replies

    Explorer
    January 18, 2022

    Hi Matthias,

    What we usualy do in our lab would be to check the hardware environment.

    1. Connecting the PSRAM of the SOP8 to the logic analyzer.
    2. Then confirm whether the input command and the command output by PSRAM satisfy the datasheet.

    Not sure if you have a chance to check this?

    Alex

    mluerkensAuthor
    Visitor II
    January 18, 2022
    Hi Alex,
    I’m having a SALEAE logic pro 8. That should be sufficient. But it needs some time to make the setup. I think ideally I directly put some short wires on the SO8 to connect the logic analyzer.
    Analog input of the saleae is limited to 50 MHz so I can’t measure signal integrity.
    I keep you updated.
    Matthias
    mluerkensAuthor
    Visitor II
    January 18, 2022

    On looking how to connect the logic analyzer, we found two of the 33Ohms didn't have valid connection. Now it works, great. I coud verify correct initialization of the QSPI for the PSRAM already before the final board will arrive and will continue with some memory performance tests. As written in the documentation, SW needs a wise architecture to be performant on the PSRAM. A memcpy inside of the PSRAM is really slooooooooow. Seems the STM memcpy is just a stupid *a++ = *b++ ;

    Thanks for your help and patience

    Matthias

    Explorer
    January 18, 2022

    Good to hear, you made it works.

    Alex

    mluerkensAuthor
    Visitor II
    January 19, 2022

    Yep, really happy :grinning_face:

    with an unoptimized memset on the memory mapped APS1604, I need 154ms to fill the complete 2 MByte, which is around 13,6 MByte/s. That sounds reasonable.