718 views
in System Integration by
Atollic IDE GCC compiler STM32.

We have developed code that exceeds internal ROM (2M) and need to relocate to QSPI for instance ideally I do not want to tag every function generated and GCC does not support #pragma section - from what discovered and tested.

1 Answer

0 votes
by

Hello,

I assume that the entire binary (including all resources of the GUI application) exceeds the internal flash and not only the code.

In this case you can use Linker Section Definitions for Resources in order to put all pixel data of bitmap resources and font pixel data of font resources into the QSPI flash.

This feature was introduced with version 9.0 and the different Build Environments for boards with QSPI flash are using these new defines in order to locate bitmap and font pixel data within the QSPI flash.

Best regards,

Manfred.

by

Thank you. 

linker modified:

MEMORY
{
  FLASH (rx)              : ORIGIN = 0x08000000, LENGTH = 2048K
  RAM (xrw)               : ORIGIN = 0x20000000, LENGTH = 512K
  SECTIONBITMAP(rx)    : ORIGIN = 0x90000000, LENGTH = 16M
  SECTIONFONT(rx)        : ORIGIN = 0x91000000, LENGTH = 16M
  QSPI (rx)               : ORIGIN = 0x92000000, LENGTH = 32M

}

Sections added after .isr_vector and before .text:


  .SectionBitmap :
  {
    . = ALIGN(4);
    *(.SectionBitmap)
    . = ALIGN(4);
  } >SECTIONBITMAP
  
    .SectionFont :
  {
    . = ALIGN(4);
    *(.SectionFont)
    . = ALIGN(4);
  } >SECTIONFONT
  
    .SectionEwResource :
  {
    . = ALIGN(4);
    *(.SectionEwResource)
    . = ALIGN(4);
  } >QSPI

Definition symbols added to project (Atollic: Properties->C/C++ Build->Settings->Tool Settings->C compiler->Symbols):

EW_BITMAP_PIXEL_SECTION_NAME=.SectionBitmap

EW_FONT_PIXEL_SECTION_NAME=.SectionFont

The project now builds however i have a graphical output error (half the screen is chequered) , so need to run the evaluation project with colour format 8888; previous proven project was a 565.

EW driver code was taken from the STM32F746 Discovery project including libs. - i will continue this in another thread if necessary.

Ask Embedded Wizard

Welcome to the question and answer site for Embedded Wizard users and UI developers.

Ask your question and receive answers from the Embedded Wizard support team or from other members of the community!

Embedded Wizard Website | Privacy Policy | Imprint

...