in Platform Packages by

We are a problem while creating embedded wizard root object. EW is returned as system halted [MemManage_Handler]
Hi cagriyeleser,

could you please describe more detailed, what are you doing?

For example:
Which board is used?
Which example?
Which toolchain is used?
Which versions of Embedded Wizard and toolchain is used?

Kind Regards,

2 Answers

0 votes
Which board is used? STM32F746IET6 176LQFP (not board, my own board with changed pins)
Which example? Hello world
Which toolchain is used? GCC
Which versions of Embedded Wizard and toolchain is used? 9.0

This board is working fine with Keil example with name "emWin Example (STM32F746G-Discovery)" (by changing pins sdram and LTDC, QSPI pins are same)
0 votes


based on the provided information, it is difficult to give good advices.

In case you are using a custom specific board, it is important to ensure that all components (SDRAM, QSPI flash) are running reliable before trying to bring-up a complete GUI application.

Have tried the memory test in order to ensure that timing and refresh of SDRAM are ok?

Best regards,


We did that memory test and no passed. By changing following parameters, odd addresses are not passed but even addresses are OK.

We use W9864G6KH as SDRAM.  We set values as the following for this SDRAM. QSPI is not active for now.

#define SDRAM_DEVICE_ADDR  ((uint32_t)0xC0000000)
#define SDRAM_DEVICE_SIZE  ((uint32_t)0x400000)
#define SDCLOCK_PERIOD                   FMC_SDRAM_CLOCK_PERIOD_2
#define REFRESH_COUNT                    ((uint32_t)0x0603)

  Timing.LoadToActiveDelay    = 2;
  Timing.ExitSelfRefreshDelay = 6;
  Timing.SelfRefreshTime      = 4;
  Timing.RowCycleDelay        = 6;
  Timing.WriteRecoveryTime    = 2;
  Timing.RPDelay              = 2;
  Timing.RCDDelay             = 2;

  sdramHandle.Init.SDBank             = FMC_SDRAM_BANK1;
  sdramHandle.Init.ColumnBitsNumber   = FMC_SDRAM_COLUMN_BITS_NUM_8;
  sdramHandle.Init.RowBitsNumber      = FMC_SDRAM_ROW_BITS_NUM_12;
  sdramHandle.Init.MemoryDataWidth    = SDRAM_MEMORY_WIDTH;
  sdramHandle.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4;
  sdramHandle.Init.CASLatency         = FMC_SDRAM_CAS_LATENCY_2;
  sdramHandle.Init.WriteProtection    = FMC_SDRAM_WRITE_PROTECTION_DISABLE;
  sdramHandle.Init.SDClockPeriod      = SDCLOCK_PERIOD;
  sdramHandle.Init.ReadBurst          = FMC_SDRAM_RBURST_ENABLE;
  sdramHandle.Init.ReadPipeDelay      = FMC_SDRAM_RPIPE_DELAY_0;
Can you ensure that the hardware layout is correct?
I tried an example no use SDRAM and work fine. But example with SDRAM has problem. I controlled hardware again and again and true.
Additively, we tried Keil SDRAM test example for some addresses test OK.

I needed approximately 3MB. Keil example tests 0x9000 bytes addresses. First addresses is OK. I changed the code and revised as a loop (for 3MB) to try more addresses, and test result is fail.

Embedded Wizard Website | Privacy Policy | Imprint