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.