cancel
Showing results for 
Search instead for 
Did you mean: 

Changing from 16bit to 32bit SDRAM Problem

DSand.5
Associate III

0693W00000JPXoKQAX.pngI am working on a project what started with a ST32F7508-DK, and I generated the code and project in TouchGFX. Everything was working fine. Then we decided to go from 16bit SDRAM to 32bit SDRAM. So we created a board that was a copy on the discovery kit, the only difference was that we added the pins needed for migrating to the 32 bit, which resulted in needing to move some of the pinouts for the ltdc (screen). Now after that change, I am having issues flashing and running identical programs on the board (identical meaning the main code and touchgfx code did not change). When trying to flash in STM32Programmer, I am getting the message:  

18:55:58 : Error: Data mismatch found at address 0x90000002 (byte = 0x00 instead of 0x05)

18:55:58 : Error: Download verification failed

Also, when looking at the memory visualizer, it seems like nothing is flashing to anythgin past 0x90000000. I was wondering if I messed up something in the SDRAM configuration, am i missing something in the bootloader/linker file, etc. This issue is also repeatable with the same hex file on a different machine and a different board.

I am also somewhat new to this, so any help would be great. Thanks.

13 REPLIES 13
DSand.5
Associate III

Ok, so it turns out that although the QSIP chip has changed, we never implemented it. We were planning on using it once the project got larger, but for now we are only using the SDRAM and the normal MCU flash memory. Also, it seems that after some clarification, the SDRAM also has not changed. The only difference is that before we wired it up for 16 bits (just like the discovery kit), and now we wired it up for the full 32bit.

So I guess the question would be, if I took a discovery kit, and kept everything the same except for wiring it up for 32bit as opposed to 16 bit, what would I have to change?

You'd need to add the pins into the configuration, and change the width setting.

The DK implementation uses a high availability/running SDRAM chip, but only uses half it's width to free up pins, keeping board complexity in check and STM32 packaging optimal.

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

do you mean in the ioc file? I think I did that already. It should be in the picture I added in the question.

Your idea about use only internal MCU with 64 Kbyte of Flash memory, 216 MHz CPU

is FAIL. Here you cant place GUI projects.

Designing with this MCU type need run code from external QSPI etc.

Changing QSPI type and circuit step you to hard way

  1. customize config ioc
  2. customize loader special code for STM Programmer / IDE
  3. customize all example code to use other QSPI
  4. customize all example or your app code for use 32bit SDRAM