gx_binres_theme _load returns GX_INVALID_FORMAT if bin is stored in QSPI_Flash

Hi,

i have the Hello World Project for the DKS7G2 Evalboard with SSP 1.6.3

 

i want to have the guiapp-resources as bin. I generate it via GuiX Studio as bin file.

Then i make the following steps:

1. i have a guiapp.bin

2. i generate a guiapp_data.h via Hexy, it looks like const unsigned char guiapp_data[2764] = {0x58, ....0x1a}

3. i load the array guiapp_data over status = gx_binres_theme_load((GX_BYTE *)guiapp_data, 0, &display_1_theme_table[0]);

 

this works perfectly and my gui is shown.

 

In the next step i want to save the bin Data in the qspi_flash. So i only changed the file guiapp_data.h in this way:

guiapp_data[2764] BSP_PLACE_IN_SECTION(".qspi_flash") = {0x58, ....0x1a}

Now i get the error 0x24 wich means GX_INVALID_FORMAT/Invalid binary source.

 

Can anyone help me or solved this issue?

 

Best Regards,

Matthias

  • Does the data in the QSPI flash look correct when viewed in the memory view window (I would also disable the caching of memory that the JLink does, just to make sure you are reading directly from the QSPI memory)
  • In reply to Jeremy:

    Disabling QSPI caching in J-Link Jeremy mentioned can be done in the following way:
    * Open .jlink file in the project directory
    * Change CacheExcludeSize from 0x00 to 0x01000000 (max for 3-byte addressing)
    * Change CacheExcludeAddr from 0x00 to 0x60000000
    * Alternatively you can change AllowCaching to 0 but this will slow down debugging as it disables J-Link cache for all regions including code flash.
    * Save file
  • In reply to Renesas Karol:

    Hi, thank you for your explanation. This was one point which i could fix now. I have now the behavior that the guix_thread need 3ms (over tx_thread _sleep) then the gx_binres_load function works perfectly and the gui comes up. I tried it with changing priorities and so on but it didn't help.

    Does anyone have an idea whats wrong?