1k views
in System Integration by

Hi sir,

We are using our own custom board (Controller STM32H753BI6)  and interfaced with our LCD resolution is 240x320. We tested the LCD with a test Image(240x320) in STM32CUBEIDE and its works Fine.

After that we designed a HelloWorld Text with a Yellow Color Rectange in EMBEDDED WIZARD STUDIO and incorporate the generated code in the BUILD Environment and we mapped the FrameBuffer starting address with SDRAM starting Address.

Now we run the test it displays PINK COLOR.

As per the reference we done SDRAM Memory Test and the test is passed.

 

Below are the Embedded Wizard Configuration

             1. Profile STM32H743

             2.Platform Package -> stm32.RGB565

             3.Screen Size 240x320

             4.Application has "Helloworld" Text and a yellow color Rectangle.

Main Function Contains FMC Initialisation,LCD_DriverInitialisation, and the FUnction EwBspConsoleInit();EwInit();  EwPrintSystemInfo();  EwPrintProfilerStatistic(1);
 

Also I attached the EWPRINT debug console Output

[13:29:26:420] Check memory addr 0x30000000 size 0x0003E800␍␊

[13:29:26:441] Write test pattern to SDRAM... [OK]␍␊

[13:29:26:456] Read test pattern from SDRAM... [OK]␍␊

[13:29:36:482] Read test pattern from SDRAM... [OK]␍␊

[13:29:46:490] Read test pattern from SDRAM... [OK]␍␊

[13:29:56:514] Read test pattern from SDRAM... [OK]␍␊

[13:30:06:523] Read test pattern from SDRAM... [OK]␍␊

[13:30:16:548] Read test pattern from SDRAM... [OK]␍␊

[13:30:26:556] Read test pattern from SDRAM... [OK]␍␊

[13:30:36:581] Read test pattern from SDRAM... [OK]␍␊

[13:30:46:589] Read test pattern from SDRAM... [OK]␍␊

[13:30:56:614] Read test pattern from SDRAM... [OK]␍␊

[13:31:06:623] [OK]␍␊

[13:31:06:623] Initialize Memory Manager... Initialize Graphics Engine... Delay [OK]␍␊

[13:31:06:668] Create Embedded Wizard Root Object... [OK]␍␊

[13:31:06:668] Create Embedded Wizard Viewport... [OK]␍␊

[13:31:06:668] Text = V ␍␊

[13:31:06:668] ---------------------------------------------␍␊

[13:31:06:668] Target system STM32H753 ␍␊

[13:31:06:668] Color format RGB565 ␍␊

[13:31:06:668] MemoryPool address 0x30000000 ␍␊

[13:31:06:668] MemoryPool size 256000 bytes␍␊

[13:31:06:712] Framebuffer address 0xC0000000 ␍␊

[13:31:06:712] Doublebuffer address 0xC07DA800 ␍␊

[13:31:06:712] Framebuffer size 240 x 320 ␍␊

[13:31:06:712] EwScreeenSize 240 x 320 ␍␊

[13:31:06:712] Graphics accelerator none ␍␊

[13:31:06:712] Vector graphics support enabled ␍␊

[13:31:06:712] Warp function support enabled ␍␊

[13:31:06:712] Index8 bitmap resource format enabled ␍␊

[13:31:06:712] RGB565 bitmap resource format enabled ␍␊

[13:31:06:755] Bidirectional text support enabled ␍␊

[13:31:06:755] Operating system none ␍␊

[13:31:06:755] External flash device none ␍␊

[13:31:06:755] Toolchain GCC ␍␊

[13:31:06:755] C-Compiler version 7.3.1 ␍␊

[13:31:06:755] Build date and time Sep 17 2021, 13:29:13 ␍␊

[13:31:06:755] Runtime Environment (RTE) version 11.00 ␍␊

[13:31:06:755] Graphics Engine (GFX) version 11.00 ␍␊

[13:31:06:804] Max surface cache size 2097152 bytes␍␊

[13:31:06:804] Glyph cache size 128 x 128 ␍␊

[13:31:06:804] Max issue tasks 100 ␍␊

[13:31:06:804] Surface rotation 0 ␍␊

[13:31:06:804] ---------------------------------------------␍␊

[13:31:06:804] 1 object(s) of class 'Application::Application' (each 1136 bytes large)␍␊

[13:31:06:804] 1 object(s) of class 'Resources::Font' (each 36 bytes large)␍␊

[13:31:06:804] ␍␊

[13:31:06:804] 1252 bytes occupied by 2 Chora objects (peak 1252 bytes)␍␊

[13:31:06:804] 46 bytes occupied by 2 strings (peak 46 bytes)␍␊

[13:31:06:842] 49406 bytes occupied by Graphics Engine objects (without any framebuffers) (peak 49406 bytes)␍␊

[13:31:06:842] 15956 bytes occupied by 'watermark' images (used only in evaluation version)␍␊

[13:31:06:842] 32 bytes occupied by the profiler itself␍␊

[13:31:06:842] TOTAL : 66692 bytes, TOTAL PEAK : 66692 bytes␍␊

[13:31:06:842] ␍␊

 

Kindly Suggest where the Issues are?

1 Answer

0 votes
by

Hello,

does this mean that the application is running - only the red / blue colors are changed?

Can you try to place some color gradients on the screen (as it is done in the example ColorFormats that you will find within the Build Environment for STM32H743-Evalboard):

How does it appear on the target?

Maybe you can post some image.

Best regards,

Manfred.

by

Yes I had seen the output on the console

 

Here I share the call stack Image

HardFault

MPU Config File

void MPU_Config(void){
      MPU_Region_InitTypeDef MPU_InitStruct;

//      /* Disable the MPU */
      HAL_MPU_Disable();
//
//        MPU_InitStruct.Enable           = MPU_REGION_ENABLE;
//        MPU_InitStruct.BaseAddress      = 0x30000000;//0x30000000;//0x38000000;
//        MPU_InitStruct.Size             = MPU_REGION_SIZE_128KB;
//        MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS;
//        MPU_InitStruct.IsBufferable     = MPU_ACCESS_NOT_BUFFERABLE;
//        MPU_InitStruct.IsCacheable      = MPU_ACCESS_CACHEABLE;
//        MPU_InitStruct.IsShareable      = MPU_ACCESS_NOT_SHAREABLE;
//        MPU_InitStruct.Number           = MPU_REGION_NUMBER2;
//        MPU_InitStruct.TypeExtField     = MPU_TEX_LEVEL0;
//        MPU_InitStruct.SubRegionDisable = 0x00;
//        MPU_InitStruct.DisableExec      = MPU_INSTRUCTION_ACCESS_ENABLE;
//        HAL_MPU_ConfigRegion(&MPU_InitStruct);
//
      /* Configure the MPU attributes for SDRAM_Banks area to strongly ordered
         This setting is essentially needed to avoid MCU blockings!
         See also STM Application Note AN4861 */
      MPU_InitStruct.Enable           = MPU_REGION_ENABLE;
      MPU_InitStruct.Number           = MPU_REGION_NUMBER0;
      MPU_InitStruct.BaseAddress      = 0xC0000000;
      MPU_InitStruct.Size             = MPU_REGION_SIZE_8MB;
      MPU_InitStruct.SubRegionDisable = 0x0;
      MPU_InitStruct.TypeExtField     = MPU_TEX_LEVEL0;
      MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS;
      MPU_InitStruct.DisableExec      = MPU_INSTRUCTION_ACCESS_ENABLE;
      MPU_InitStruct.IsShareable      = MPU_ACCESS_NOT_SHAREABLE;
      MPU_InitStruct.IsCacheable      = MPU_ACCESS_CACHEABLE;
      MPU_InitStruct.IsBufferable     = MPU_ACCESS_NOT_BUFFERABLE;
      HAL_MPU_ConfigRegion(&MPU_InitStruct);

    //HAL_MPU_ConfigRegion(&MPU_InitStruct);

      /* Enable the MPU */
    HAL_MPU_Enable(MPU_HFNMI_PRIVDEF);
}

by
Concerning the MPU settings, please see my comments some messages above.

What about double-buffereing? How does this behave?

Any idea, why the application is shutting down?

Let me know...
by
I forgot to enable the cache once I enabled the screen is displayed in the LCD Thanks for your patience and time to guiding me up to this level
by
This means, it is running now and you see the GUI on the display?!?
by
Yes I can able to see the GUI in LCD display

Embedded Wizard Website | Privacy Policy | Imprint

...