cancel
Showing results for 
Search instead for 
Did you mean: 

Anyone had an issue with memory corruption using PSRAM?

i2
Associate II

We have an existing bare metal environment using STM32F446ZET6 and 8MB of SRAM which works fine, hundreds of examples in the field.

A new smaller version of this platform uses PSRAM, namely IS66WVC4M16ECLL.

We are getting memory corruption issues we can't solve, despite very clean signals, no burst mode and slowing everything down..

Arduino dev forum seems to report similar issues, as yet unsolved.

Anyone else seen this?

9 REPLIES 9

You seem to hint there may be hardware issues with the PSRAM. To confirm that, write a trivial program - simply just writing to the memory, reading back and checking - possibly in a pattern as similar to the real usage as possible.

JW

i2
Associate II

That's what we have been doing.

However I'm the hardware guy. I've pointed the firmware dev guy to the driver for the disco board that uses PSRAM and the differences between the part on that board and the one we are using. Turns out he was using the existing SRAM code (it pays to ask the obvious questions!)

So watch this space, the issue may be resolved!

Hummm.

I was under the impression that PSRAMs are DRAMs with additional internal circuitry to make them function exactly as SRAMs... in other words, IMO there shouldn't be any difference between handling PSRAMs and SRAMs, or am I mistaken?

> disco board that uses PSRAM

Which one is it, for reference?

JW

i2
Associate II

Yes, so was I. That's why I used it! But from what we are seeing, not entirely so.

Board is STM32F7231EK6. We are looking at the code for this board and the datasheets for the ISSI PSRAM that it uses compared to our larger ISSI 64Mb part.

Current thinking is it's not hardware because the errors are consistent. We have been able to rule out stuck or shorted data and address lines over two prototypes.

The STM32F723iEK6 is a Chip, the board would presumably be this one https://www.st.com/en/evaluation-tools/32f723ediscovery.html

https://www.st.com/content/ccc/resource/technical/document/user_manual/group0/37/48/c6/4e/71/c8/4e/f4/DM00342318/files/DM00342318.pdf/jcr:content/translations/en.DM00342318.pdf

IS66WV51216EBLL-55BLI

An EE that does HW & SW

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

That's the one. Guess I should have said "board for STM32F723iEK6."

The IS66WV51216EBLL-55BLI is the PSRAM on that board.

Will be working on this again in a few hours.

AOliv.1
Associate II

Managed to solve? My EM7644SU16AxP-70LFx with an STM32F417 is also corrupting. D7 is at a high level sometimes. In the keil memory view the date is 00 then changes to 80, and it looks like this,

00 80 00 80 changing even if I update. I don't know if it's the memory or the STM.

D0 ~ D6-D8 ~ D15 are ok, only D7 is wrong.

i2
Associate II

Well yes, we did fix it. I should have reported this.

On our prototype board ball D6 (Vdd) and ball E1 (VddQ) were reversed. VddQ should be on 3.3v, Vdd on 1.8v. The pin naming in the datasheet is ambiguous.

To get the PSRAM on the prototype board working we dropped the 3.3v to 2.4v to get it to work. Very hard to patch a BGA! Had to do another PCB spin. It was a routing pain since this is a 4 layer board.

i2
Associate II
Yes we did find the problem. See my post in the forum.