505 views
in Platform Packages by

Hello,

this error messages arises in my application:

[ERROR in ../../../PlatformPackage/RGBA8888/ewgfx.c:982] Failed to create surface with format: 0 and size ( 802 x 482 ).

I think, this means, that the main memory is running out of space. So I tried to switch the format of the bitmap resources and string constants from Compressed to DirectAccess. This should increase the needed space in flash and decrease it in main memory.

But then the startup of the application ends in

Create Embedded Wizard Root Object...        [FATAL ERROR in ../../../PlatformPackage/RGBA8888/ewextbmp_RGBA8888.c:219] The bitmap resource 'ApplicationHintergrund_blau' is stored with wrong color format. Please verify whether the attributes 'ColorPremultipliedAlpha' and 'ColorChannelsOrder' in your Embedded Wizard project do correctly conform the values of the defines 'EW_COLOR_CHANNEL_BIT_OFFSET_RED', 'EW_COLOR_CHANNEL_BIT_OFFSET_GREEN', 'EW_COLOR_CHANNEL_BIT_OFFSET_BLUE', EW_COLOR_CHANNEL_BIT_OFFSET_ALPHA' and 'EW_PREMULTIPLY_COLOR_CHANNELS' used during the build process (e.g. within your MAKE file, etc.). You can also try to clean/rebuild your project.System halted! [MemManage_Handler]

In 8.30 I already used this otions and there have been no error messages.

Also I did find any occurences of 'ColorPremultipliedAlpha' and 'ColorChannelsOrder' in the project.

1 Answer

0 votes
by

Hello,

this means, when you choose 'Compressed' everything works fine - but with 'DirectAccess' you get this error messages?

In this case, try a 'make clean' or 'rebuild all' in order to ensure that everything is re-compiled.

by

Make clean didn't solve the issue.

So I'm choosing 'Compressed' again. Additionally I tried to move some object files from the internal flash to the external flash in the linker file:

  .SectionEwResource :
  {
    . = ALIGN(4);
    *Application.o (.text .text*)
    *Hauptfenster.o (.text .text*)
    *Views.o (.text .text*)
    *Slider.o (.text .text*)
    *Fussleiste.o (.text .text*)
    *Supervisor.o (.text .text*)
    *Core.o (.text .text*)
    *Kopfleiste.o (.text .text*)
    *(.SectionEwResource)
    . = ALIGN(4);
  } >QSPI

This works for some of the object files, but not for all. When I'm moving too much to the external flash ther is an other issue, when starting the program in the debugger:

warning: while parsing target memory map (at line 1): Can't convert length="0xzx" to an integer
#0  0x08001558 in WWDG_IRQHandler ()
#1  <signal handler called>
#2  EwUnlockSurface (aSurface=0x0, aLock=0xaa6a) at ../../../PlatformPackage/RGBA8888/ewgfxcore.c:1150
#3  0x00000000 in ?? ()

Line 1150 is the call to EwGfxUnlockNativeSurface().

    #ifdef EwGfxLockNativeSurface
      if ( aSurface->Format == EW_PIXEL_FORMAT_NATIVE )
        EwGfxUnlockNativeSurface( aSurface->Handle, aLock->Handle, aLock->X, 
          aLock->Y, aLock->Width, aLock->Height, 0, 0, 
          aLock->Mode & EW_LOCK_PIXEL_WRITE, 0 );
    #endif

Also I have in mind, that when moving objects to QSPI flash the MPU config for the external QSPI does not work any more.

Maybe there's a basic problem with the QSPI?

Embedded Wizard Website | Privacy Policy | Imprint

...