cancel
Showing results for 
Search instead for 
Did you mean: 

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

SSeye.1
Associate

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

0 REPLIES 0