cancel
Showing results for 
Search instead for 
Did you mean: 

Change from DSI interface to RGB parallel interface

Ebun.1
Senior

Thank you for helping.

environment:

MCU: STM32F769BI

Board: Custom

STM32CubeIDE Ver1.5.0

TouchGFX Ver4.15.0

Import the project created using the STM32F769I-DISCO template with TouchGFX with STM32CubeIDE,

After setting the LCD clock with GUI

I disabled DSI in the GUI and set the parameters for LTDC and TouchGFX.

The HSYNC, VSYNC, and DE signals are now output, but they are out of sync with the color signals.

What should I do to get in sync?

Also, is the initial setting of DMA2D correct as follows?

 hdma2d.Instance = DMA2D;

 hdma2d.Init.Mode = DMA2D_M2M;

 hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888;

 hdma2d.Init.OutputOffset = 0;

 hdma2d.LayerCfg [1] .InputOffset = 0;

 hdma2d.LayerCfg [1] .InputColorMode = DMA2D_INPUT_ARGB8888;

 hdma2d.LayerCfg [1] .AlphaMode = DMA2D_NO_MODIF_ALPHA;

 hdma2d.LayerCfg [1] .InputAlpha = 0;

 if (HAL_DMA2D_Init (& hdma2d)! = HAL_OK)

 {

  Error_Handler ();

 }

 if (HAL_DMA2D_ConfigLayer (& hdma2d, 1)! = HAL_OK)

 {

  Error_Handler ();

 }

The waveform observed by the oscilloscope is attached.

A white image is pasted only on the left 1/4 of the screen.

Light blue (top) is DE and purple (bottom) is the R5 color signal.

You can see that it is shifting little by little.

Thank you. 

16 REPLIES 16
Ebun.1
Senior

Hi MM ..1

I'm sorry.

There was a mistake in the parameter setting.

After fixing it, the error in the above image disappeared.

Thank you very much.

Ebun.1
Senior

Hi MM ..1

When I finished the settings from scratch and built, I got the following error.

These are about TouchGFX.

After all, if you do not create a project with TouchGFX, you will get a missing error and you will not be able to move it.

Is it possible to grasp the cause of the color signal shift?

In file included from ../TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp:18:0::

../TouchGFX/target/generated/TouchGFXGeneratedHAL.hpp:20:10: fatal error: touchgfx/hal/HAL.hpp: No such file or directory

 #include <touchgfx / hal / HAL.hpp>

     ^~~~~~~~~~~~~~~~~~~~~~

compilation terminated.

arm-none-eabi-gcc "../Middlewares/Third_Party/FreeRTOS/Source/timers.c" -mcpu = cortex-m7 -std = gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F769xx -DDEBUG -c -I ../Core/ Inc -I ../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/CMSIS/Include- I ../TouchGFX/App -I../TouchGFX/target/generated -I../TouchGFX/target -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/ Source / CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM7/r0p1 -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF "Middlewares / Third_Party / FreeRTOS / Source / timers.d "-MT" Middleware / Third_Party / FreeRTOS / Source / timers.o "--specs = nano.specs -mfpu = fpv5-d16 -mfloat-abi = hard -mthumb -o" Middleware / Third_Party /FreeRTOS/Source/timers.o "

make: *** [TouchGFX / target / generated / subdir.mk: 33: TouchGFX / target / generated / TouchGFXGeneratedHAL.o] Error 1

make: *** Waiting for unfinished jobs ....

../TouchGFX/target/generated/TouchGFXConfiguration.cpp:17:10: fatal error: texts / TypedTextDatabase.hpp: No such file or directory

 #include <texts / TypedTextDatabase.hpp>

     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

compilation terminated.

make: *** [TouchGFX / target / generated / subdir.mk: 31: TouchGFX / target / generated / TouchGFXConfiguration.o] Error 1

../TouchGFX/target/generated/STM32DMA.cpp:20:10: fatal error: touchgfx / hal / OSWrappers.hpp: No such file or directory

 #include <touchgfx / hal / OSWrappers.hpp>

     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

compilation terminated.

make: *** [TouchGFX / target / generated / subdir.mk: 29: TouchGFX / target / generated / STM32DMA.o] Error 1

In file included from ../TouchGFX/target/STM32TouchController.cpp:20:0::

../TouchGFX/target/STM32TouchController.hpp:23:10: fatal error: platform / driver / touch / TouchController.hpp: No such file or directory

 #include <platform / driver / touch / TouchController.hpp>

     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

compilation terminated.

../TouchGFX/target/generated/OSWrappers.cpp:19:10: fatal error: touchgfx / hal / HAL.hpp: No such file or directory

 #include <touchgfx / hal / HAL.hpp>

     ^~~~~~~~~~~~~~~~~~~~~~

compilation terminated.

make: *** [TouchGFX / target / subdir.mk: 24: TouchGFX / target / STM32TouchController.o] Error 1

make: *** [TouchGFX / target / generated / subdir.mk: 27: TouchGFX / target / generated / OSWrappers.o] Error 1

In file included from ../TouchGFX/target/TouchGFXHAL.hpp:22:0,

         from ../TouchGFX/target/TouchGFXHAL.cpp:17:

../TouchGFX/target/generated/TouchGFXGeneratedHAL.hpp:20:10: fatal error: touchgfx/hal/HAL.hpp: No such file or directory

 #include <touchgfx / hal / HAL.hpp>

     ^~~~~~~~~~~~~~~~~~~~~~

compilation terminated.

make: *** [TouchGFX / target / subdir.mk: 28: TouchGFX / target / TouchGFXHAL.o] Error 1

../TouchGFX/target/TouchGFXGPIO.cpp:18:10: fatal error: touchgfx/hal/GPIO.hpp: No such file or directory

 #include <touchgfx / hal / GPIO.hpp>

     ^~~~~~~~~~~~~~~~~~~~~~~

compilation terminated.

make: *** [TouchGFX / target / subdir.mk: 26: TouchGFX / target / TouchGFXGPIO.o] Error 1

"make -j16 all" terminated with exit code 2. Build might be incomplete.

07:25:29 Build Failed. 15 errors, 0 warnings. (Took 922ms) 

seems you skip one step 3

1.create new project in ide wizard select mcu or devboard

2.add touchgfx to config MX and generate first code base

3.in touchgfx folder open prepared template .touchgfx.part generate and close, then open created .touchgfx and generate without errors close

4.in IDE refresh and build project

Ebun.1
Senior

Hi MM ..1

If I make a project with scratch, the pin layout is different from the current board and I can not check the operation.

I will try to remake the custom board once.

Thank you for everything.

Maybe you can rearange pins, on STM you can assign some functions to more as one pin. On MX plugin view click on packege pin and select from list.

Ebun.1
Senior

Hi MM ..1

Thank you for all your help.

I made a project with scratch and moved it.

The timer interrupts, but the LTDC_IRQHandler () interrupt does not.

The value of IER is 6, but the ISR is 0.

What can you think of?

Thank you.

Ebun.1
Senior

Hi MM ..1

I made a project by scratch and confirmed that the color signal was synchronized with the synchronization signal.

Thank you very much.