Thursday, December 14th 2017, 10:55am UTC+1

You are not logged in.

  • Login
  • Register

Dear visitor, welcome to SEGGER Forum. If this is your first visit here, please read the Help. It explains how this page works. You must be registered before you can use all the page's features. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

gvi70000

Beginner

Date of registration: May 15th 2017

Posts: 7

1

Tuesday, May 23rd 2017, 1:33pm

Memory usage

Hi,
For an STM32F746 Discovery board i have the following questions:

1. I would like to know if we can store the static data (images, fonts) in QSPI memory? Do you have any example?

2. By using the code + setting below i will get an increase in to 3MB RAM for GUI?

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
static void MPU_Config (void) {  MPU_Region_InitTypeDef MPU_InitStruct;

  /* Disable the MPU */
  HAL_MPU_Disable();

  /* Configure the MPU attributes for SDRAM */
  MPU_InitStruct.Enable = MPU_REGION_ENABLE;
  MPU_InitStruct.BaseAddress = 0xC0000000;
  MPU_InitStruct.Size = MPU_REGION_SIZE_4MB;
  MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS;
  MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE;
  MPU_InitStruct.IsCacheable = MPU_ACCESS_NOT_CACHEABLE;
  MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE;
  MPU_InitStruct.Number = MPU_REGION_NUMBER0;
  MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL1;
  MPU_InitStruct.SubRegionDisable = 0x00;
  MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_DISABLE;

  HAL_MPU_ConfigRegion(&MPU_InitStruct);

  /* Enable the MPU */
  HAL_MPU_Enable(MPU_PRIVILEGED_DEFAULT); }


in combination with LCDConf.c


Source code

1
2
3
// Video RAM Address#define VRAM_ADDR 0xC0000000
// DMA2D Buffer Address
#define DMA2D_BUFFER_ADDR 0x20000000



and GUIConf.c

Source code

1
// Define the available number of bytes available for the GUI#define GUI_NUMBYTES  0x300000




Thank you

SEGGER - Schoenen

Super Moderator

Date of registration: Aug 13th 2015

Posts: 442

2

Wednesday, June 7th 2017, 3:50pm

Hi,

Attached is a GUIConf.c from one of our projects. There we configure the MPU for the SDRAM region and initialize the SDRAM. This is done by HAL functions provided by STM.

In your LCDConf.c the framebuffer address should fit to the SDRAM (starting at 0xC0000000). I would place the GUI RAM and the framebuffer into the SDRAM. There should be enough memory available.

Attached are both, LCDConf.c and GUIConf.c from one of our projects. Also a GUI_BSP.c which contains the SDRAM init and the MPU configuration.

Regards,
Sven
SEGGER - Schoenen has attached the following file:

Similar threads