2017-10-07 06:59 PM
Hi All.
I am currently building a project based on the �STemWin Demonstration� example in the below directory, on the STM32746G Discovery Board. All of the examples use the external DRAM Module (MT48LC4M32B2B5-6A by MICRON). This IC is now obsolete and I would prefer not to use it. Can someone please help me with the below 2 queries?
1) Is the setup such that the use of the external DRAM Module automatic? As in, if you declare an Array (i.e. int Array[300] ) will the FMC automatically use the external DRAM if it needs to? Or can you only read/write to the external DRAM Module using functions HAL_SDRAM_Read() / HAL_SDRAM_Write()?
2) How do I turn off the use of the external DRAM Module as I don�t wish to use this later on my custom PCB? The problem that I am finding is that if you simply comment out the 'BSP_SDRAM_Init();' LCD screen fails to load and a black clear is displayed. This is strange as I cannot find any of the following functions used in the project: BSP_SDRAM_ReadData, BSP_SDRAM_ReadData_DMA, BSP_SDRAM_WriteData, BSP_SDRAM_WriteData_DMA, HAL_SDRAM_Write, etc. I cannot see how the STemWin stack interfaces with the external DRAM Module.
Compiler: IAR Workbench v8.11.3
Graphics: STemWin
Hardware: STM32746G Discovery Board
Demo Project: C:\...\STM32Cube_FW_F7_V1.8.0\Projects\STM32746G-Discovery\Demonstration\STemWin\EWARM
#stemwin #external-dram2017-10-07 08:05 PM
If it is initialized it is within the addressable space of the processor, whether anything uses it will depend if the memory is described to the linker via a linker script, scatter file, or .ICF
For it to work the pins, peripheral and memory must be initialized, typically via SystemInit(), as before it is configured the CPU has no access to it.
2017-10-23 11:56 PM
,
,
Hi. ,
,
I believe that what I need to do is to change the address space in the below defines in the LCDConf.c source file. I have♯ define GUI_NUM_LAYERS 1
,so I believe that only the ,LCD_LAYER0_FRAME_BUFFER
needs to be changed. But no matter what address I specify it will not work. ,/* From SDRAM */
,
♯ define LCD_LAYER0_FRAME_BUFFER ((int)0xC0200000),
♯ define LCD_LAYER1_FRAME_BUFFER ((int)0xC0400000)Below is my RAM space setup.