Strange behavior writing to external SRAM
I have a STM32H753 with 16MByte, 32bit SDRAM and a Wiznet W5300 in 16bit mode (acts as SRAM Bank 1, SRAM_BANK_ADDR = 0x60000000).
So, if I read a Memory cell:
uint16_t aw = *(volatile uint16_t*)(SRAM_BANK_ADDR);all is ok. With a scope on NE1, NOE, NWE I got one read cycle on line NOE.
But if I write to the Memory cell:
*(volatile uint16_t*)(SRAM_BANK_ADDR) = 0x8000;I got four write cycles (shown on scope).
Going down to 8bit bus width, I got 8 write cycles.
This makes the W5300 confused.
But if I modify the Memory cell within the Debugger (Keil + ST-LinkV2, Memory Window)
I got one write cycle (as I expected).
Same code executed on a identical board assembled with a STM32F439 works perfect,
one write cycle as expected.
Does somebody has any idea to solve this Problem?
Best regards
Christian
