STM32F7 Development Board waveshare

721 views
asked Dec 1, 2017 in Platform Packages by DomenicoRg
Hi,

I purchased a waveshare Open746I-C, STM32F7 Development Board with a 7 inch 1024 x 600 tft
Is this supported in embedded wizard?
How can I use my hardware with your fantastic software?

(I've already tested the potential of embedded wizards on STM32F769I-Disco).

Best regards

Domenico

<!--EndFragment-->

1 Answer

+1 vote
answered Dec 1, 2017 by Manfred Schweyer

Hi Domenico,

first of all, thanks for the feedback :-)

The Open746I-C board looks very interesting - so far we did not use it and thus we did not create a ready-to-use Build Environment for this target.

Nevetheless, let me try to explain the necessary steps - based on the Build Environment for the STM32F746-Discovery board:

1.) System Initialization: Reduce the main.c to a minimum, so that only the system initialization is called. This happens within the file /TargetSpecific/ew_bsp_system.c. Here you need to configure your memory and system timings according your board.

2.) Serial Interface: Adapt the file /TargetSpecific/ew_bsp_serial.c according your board interface settings. Try to print a string to a connected terminal.

3.) System Memory: Adapt the defines for the available memory within main.c and make a short memory test, e.g.

{
  unsigned char* ptr;
  unsigned char  data;
  unsigned long  count;

  EwPrint( "Check memory at address 0x%08X size 0x%08X\n", MEMORY_POOL_ADDR, MEMORY_POOL_SIZE );

  EwPrint( "Write test pattern to SDRAM...               " );
  ptr = (unsigned char*)( MEMORY_POOL_ADDR );
  data = 0x00;
  count = MEMORY_POOL_SIZE;
  while ( count-- )
  {
    *ptr++ = data++;
    if ( data >= 253 )
      data = 0;
  }
  EwPrint( "[OK]\n" );

  EwPrint( "Read test pattern from SDRAM...              " );
  ptr = (unsigned char*)( MEMORY_POOL_ADDR );
  data = 0x00;
  count = MEMORY_POOL_SIZE;
  while ( count-- )
  {
    if ( *ptr++ != data++ )
      EwPrint( "Error at address 0x%08X\n", ptr-1 );
    if ( data >= 253 )
      data = 0;
  }
  EwPrint( "[OK]\n" );
}

4.) Display Settings: The file /TargetSpecific/ew_bsp_display.c contains all settings related to the display. Change here the LTDC parameters according the timing of your display.

5.) Touch Driver: The file /TargetSpecific/ew_bsp_touch.c contains all settings related to the touch interface. If needed, change here the access to your touch interface.

6.) Screen Size: Adapt the defines of the screen size within main.c so that it matches to your display.

7.) Embedded Wizard UI project: Take the HelloWorld example and adapt it to the size of your display, change the attribute ScreenSize so that it corresponds to your display.

In theory, that's all. There might be other small adaptations necessery (e.g. the linker file to match the address layout of the board), but more or less all changes have to be done within /TargetSpecific folder or main.c.

Please try to make small steps and don't skip 2 and 3 - otherwise you can search hours and days...

Let us know how your bring-up is going on...

Best regards,

Manfred.

commented Dec 1, 2017 by DomenicoRg
Dear Manfred

For the moment, thanks for the prompt response.
I'll keep you updated about developments.
I'm going to buy your software right away, if I can run this board with everything I need.

Best regards

Domenico

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

...