Skip to main content
SSeye.1
Visitor II
October 5, 2020
Question

Problem on using QuadSPI on STM32F746G-DISCO without Touchgfx. No Data were copied.

  • October 5, 2020
  • 0 replies
  • 411 views

Hi,

I'm using a STM32F746G-DISCO and I write my own Graphic Lib.

Now I want to put the bmp icons into the QSPI Flash.

What I've done....

  • Linker file is changed
 MEMORY
 {
 RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 320K
 FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 1024K
 QUADSPI (r) : ORIGIN = 0x90000000, LENGTH = 16M
 }
 
 .iconqspi :
 {
 . = ALIGN(4);
 _qspi_start = .; /* create a global symbol at qspi start */
 *(.iconqspi) /* iconqspi sections */
 *(.iconqspi*) /* iconqspi* sections */
 . = ALIGN(4);
 _qspi_end = .; /* define a global symbols at end of iconqspi */
 
 } >QUADSPI

and in the end....

.iconqspi : { *(.iconqspi) } >QUADSPI

In the BuildAnaylzer you can't see the sections.

  • 0693W000004Iam8QAC.jpgast but not least I created the bitmap file
 #define icon_M_height 140
 #define icon_M_width 150
 #define icon_M_bpp 16
 
 #ifndef IMG_NO_DATA
 #if defined ( __ICCARM__ )
 #pragma location = ".iconqspi"
 #else
 __attribute__((section(".iconqspi")))
 #endif
 const unsigned char icon_M[42000] =
 {
 0xFF, 0xF,
 0xFF, 0xF,
 ......
 };
 #else
 extern const unsigned char icon_M[];
 #endif

In the main.c I added the following code:

 #define IMG_NO_DATA
 #include "../../Images/Inc/icon_M.h"
 
 
 ....
 
 
 /* Configure the system clock */
 SystemClock_Config();
 
 /* USER CODE BEGIN SysInit */
 
 BSP_QSPI_Init();
 BSP_QSPI_MemoryMappedMode();
 
 /* Configure QSPI: LPTR register with the low-power time out value */
 WRITE_REG(QUADSPI->LPTR, 0xFFF);
 
 /* USER CODE END SysInit */
 
 .....

But the Build Analyzer tells me that there's no data in the QSPI Flash.

What is my mistake ?

Regards

Stefan

This topic has been closed for replies.