cancel
Showing results for 
Search instead for 
Did you mean: 

erros openamp with touchgfx

motaz9898
Associate II

I have an STM32H745 Kit with two processors: M7 and M4.
I created graphics using TouchGFX and built several screens.
I set up the M4 to work with the RTC, and I want to send information from the M4 to the M7 using OpenAMP.
I modified the linker file and built the M4 file.
The issue occurred when I tried to integrate OpenAMP into the HPP and CPP files for each screen. Errors appeared, and I don't know how to deal with them.

 

motaz9898_0-1729497414177.png

10:55:10 **** Incremental Build of configuration Debug for project STM32H745I_DISCO_CM7 ****

make -j8 all

arm-none-eabi-g++ "C:/TouchGFXProjects/noooooooooo/CM7/TouchGFX/gui/src/settings_screen/settingsPresenter.cpp" -mcpu=cortex-m7 -std=gnu++14 -g3 -DDEBUG -DCORE_CM7 -DUSE_HAL_DRIVER -DSTM32H745xx -DMETAL_INTERNAL -DMETAL_MAX_DEVICE_REGIONS=2 -DRPMSG_BUFFER_SIZE=512 -DVIRTIO_MASTER_ONLY -DNO_ATOMIC_64_SUPPORT -c -I../../../CM7/Core/Inc -I../../../CM7/TouchGFX/App -I../../../CM7/TouchGFX/target/generated -I../../../CM7/TouchGFX/target -I../../../Drivers/BSP/Components/Common -I../../../Drivers/BSP/STM32H745I-DISCO -I../../../Utilities/JPEG -I../../../Drivers/STM32H7xx_HAL_Driver/Inc -I../../../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -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_CM4F -I../../../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../../../Drivers/CMSIS/Include -I../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include -I../../CM7/../../CM7/TouchGFX/generated/fonts/include -I../../CM7/../../CM7/TouchGFX/generated/gui_generated/include -I../../CM7/../../CM7/TouchGFX/generated/images/include -I../../CM7/../../CM7/TouchGFX/generated/texts/include -I../../CM7/../../CM7/TouchGFX/generated/videos/include -I../../CM7/../../CM7/TouchGFX/gui/include -I../../../CM7/OPENAMP -I../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include -I../../../Middlewares/Third_Party/OpenAMP/libmetal/lib/include -I../../../Middlewares/Third_Party/OpenAMP/libmetal/lib/include/metal/compiler/gcc -I../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/rpmsg -I"C:/TouchGFXProjects/noooooooooo/Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp" -O0 -ffunction-sections -fdata-sections -fno-exceptions -fno-rtti -fno-use-cxa-atexit -Wall -femit-class-debug-always -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Application/User/gui/settingsPresenter.d" -MT"Application/User/gui/settingsPresenter.o" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "Application/User/gui/settingsPresenter.o"

arm-none-eabi-g++ "C:/TouchGFXProjects/noooooooooo/CM7/TouchGFX/gui/src/settings_screen/settingsView.cpp" -mcpu=cortex-m7 -std=gnu++14 -g3 -DDEBUG -DCORE_CM7 -DUSE_HAL_DRIVER -DSTM32H745xx -DMETAL_INTERNAL -DMETAL_MAX_DEVICE_REGIONS=2 -DRPMSG_BUFFER_SIZE=512 -DVIRTIO_MASTER_ONLY -DNO_ATOMIC_64_SUPPORT -c -I../../../CM7/Core/Inc -I../../../CM7/TouchGFX/App -I../../../CM7/TouchGFX/target/generated -I../../../CM7/TouchGFX/target -I../../../Drivers/BSP/Components/Common -I../../../Drivers/BSP/STM32H745I-DISCO -I../../../Utilities/JPEG -I../../../Drivers/STM32H7xx_HAL_Driver/Inc -I../../../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -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_CM4F -I../../../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../../../Drivers/CMSIS/Include -I../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include -I../../CM7/../../CM7/TouchGFX/generated/fonts/include -I../../CM7/../../CM7/TouchGFX/generated/gui_generated/include -I../../CM7/../../CM7/TouchGFX/generated/images/include -I../../CM7/../../CM7/TouchGFX/generated/texts/include -I../../CM7/../../CM7/TouchGFX/generated/videos/include -I../../CM7/../../CM7/TouchGFX/gui/include -I../../../CM7/OPENAMP -I../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include -I../../../Middlewares/Third_Party/OpenAMP/libmetal/lib/include -I../../../Middlewares/Third_Party/OpenAMP/libmetal/lib/include/metal/compiler/gcc -I../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/rpmsg -I"C:/TouchGFXProjects/noooooooooo/Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp" -O0 -ffunction-sections -fdata-sections -fno-exceptions -fno-rtti -fno-use-cxa-atexit -Wall -femit-class-debug-always -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Application/User/gui/settingsView.d" -MT"Application/User/gui/settingsView.o" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "Application/User/gui/settingsView.o"

arm-none-eabi-g++ "C:/TouchGFXProjects/noooooooooo/CM7/TouchGFX/generated/gui_generated/src/common/FrontendApplicationBase.cpp" -mcpu=cortex-m7 -std=gnu++14 -g3 -DDEBUG -DCORE_CM7 -DUSE_HAL_DRIVER -DSTM32H745xx -DMETAL_INTERNAL -DMETAL_MAX_DEVICE_REGIONS=2 -DRPMSG_BUFFER_SIZE=512 -DVIRTIO_MASTER_ONLY -DNO_ATOMIC_64_SUPPORT -c -I../../../CM7/Core/Inc -I../../../CM7/TouchGFX/App -I../../../CM7/TouchGFX/target/generated -I../../../CM7/TouchGFX/target -I../../../Drivers/BSP/Components/Common -I../../../Drivers/BSP/STM32H745I-DISCO -I../../../Utilities/JPEG -I../../../Drivers/STM32H7xx_HAL_Driver/Inc -I../../../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -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_CM4F -I../../../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../../../Drivers/CMSIS/Include -I../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include -I../../CM7/../../CM7/TouchGFX/generated/fonts/include -I../../CM7/../../CM7/TouchGFX/generated/gui_generated/include -I../../CM7/../../CM7/TouchGFX/generated/images/include -I../../CM7/../../CM7/TouchGFX/generated/texts/include -I../../CM7/../../CM7/TouchGFX/generated/videos/include -I../../CM7/../../CM7/TouchGFX/gui/include -I../../../CM7/OPENAMP -I../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include -I../../../Middlewares/Third_Party/OpenAMP/libmetal/lib/include -I../../../Middlewares/Third_Party/OpenAMP/libmetal/lib/include/metal/compiler/gcc -I../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/rpmsg -I"C:/TouchGFXProjects/noooooooooo/Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp" -O0 -ffunction-sections -fdata-sections -fno-exceptions -fno-rtti -fno-use-cxa-atexit -Wall -femit-class-debug-always -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Application/User/generated/FrontendApplicationBase.d" -MT"Application/User/generated/FrontendApplicationBase.o" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "Application/User/generated/FrontendApplicationBase.o"

arm-none-eabi-g++ "C:/TouchGFXProjects/noooooooooo/CM7/TouchGFX/target/generated/TouchGFXConfiguration.cpp" -mcpu=cortex-m7 -std=gnu++14 -g3 -DDEBUG -DCORE_CM7 -DUSE_HAL_DRIVER -DSTM32H745xx -DMETAL_INTERNAL -DMETAL_MAX_DEVICE_REGIONS=2 -DRPMSG_BUFFER_SIZE=512 -DVIRTIO_MASTER_ONLY -DNO_ATOMIC_64_SUPPORT -c -I../../../CM7/Core/Inc -I../../../CM7/TouchGFX/App -I../../../CM7/TouchGFX/target/generated -I../../../CM7/TouchGFX/target -I../../../Drivers/BSP/Components/Common -I../../../Drivers/BSP/STM32H745I-DISCO -I../../../Utilities/JPEG -I../../../Drivers/STM32H7xx_HAL_Driver/Inc -I../../../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -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_CM4F -I../../../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../../../Drivers/CMSIS/Include -I../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include -I../../CM7/../../CM7/TouchGFX/generated/fonts/include -I../../CM7/../../CM7/TouchGFX/generated/gui_generated/include -I../../CM7/../../CM7/TouchGFX/generated/images/include -I../../CM7/../../CM7/TouchGFX/generated/texts/include -I../../CM7/../../CM7/TouchGFX/generated/videos/include -I../../CM7/../../CM7/TouchGFX/gui/include -I../../../CM7/OPENAMP -I../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include -I../../../Middlewares/Third_Party/OpenAMP/libmetal/lib/include -I../../../Middlewares/Third_Party/OpenAMP/libmetal/lib/include/metal/compiler/gcc -I../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/rpmsg -I"C:/TouchGFXProjects/noooooooooo/Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp" -O0 -ffunction-sections -fdata-sections -fno-exceptions -fno-rtti -fno-use-cxa-atexit -Wall -femit-class-debug-always -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Application/User/TouchGFX/target/generated/TouchGFXConfiguration.d" -MT"Application/User/TouchGFX/target/generated/TouchGFXConfiguration.o" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "Application/User/TouchGFX/target/generated/TouchGFXConfiguration.o"

arm-none-eabi-g++ "C:/TouchGFXProjects/noooooooooo/CM7/TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp" -mcpu=cortex-m7 -std=gnu++14 -g3 -DDEBUG -DCORE_CM7 -DUSE_HAL_DRIVER -DSTM32H745xx -DMETAL_INTERNAL -DMETAL_MAX_DEVICE_REGIONS=2 -DRPMSG_BUFFER_SIZE=512 -DVIRTIO_MASTER_ONLY -DNO_ATOMIC_64_SUPPORT -c -I../../../CM7/Core/Inc -I../../../CM7/TouchGFX/App -I../../../CM7/TouchGFX/target/generated -I../../../CM7/TouchGFX/target -I../../../Drivers/BSP/Components/Common -I../../../Drivers/BSP/STM32H745I-DISCO -I../../../Utilities/JPEG -I../../../Drivers/STM32H7xx_HAL_Driver/Inc -I../../../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy -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_CM4F -I../../../Drivers/CMSIS/Device/ST/STM32H7xx/Include -I../../../Drivers/CMSIS/Include -I../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include -I../../CM7/../../CM7/TouchGFX/generated/fonts/include -I../../CM7/../../CM7/TouchGFX/generated/gui_generated/include -I../../CM7/../../CM7/TouchGFX/generated/images/include -I../../CM7/../../CM7/TouchGFX/generated/texts/include -I../../CM7/../../CM7/TouchGFX/generated/videos/include -I../../CM7/../../CM7/TouchGFX/gui/include -I../../../CM7/OPENAMP -I../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include -I../../../Middlewares/Third_Party/OpenAMP/libmetal/lib/include -I../../../Middlewares/Third_Party/OpenAMP/libmetal/lib/include/metal/compiler/gcc -I../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/rpmsg -I"C:/TouchGFXProjects/noooooooooo/Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp" -O0 -ffunction-sections -fdata-sections -fno-exceptions -fno-rtti -fno-use-cxa-atexit -Wall -femit-class-debug-always -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Application/User/TouchGFX/target/generated/TouchGFXGeneratedHAL.d" -MT"Application/User/TouchGFX/target/generated/TouchGFXGeneratedHAL.o" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "Application/User/TouchGFX/target/generated/TouchGFXGeneratedHAL.o"

In file included from ../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/virtio.h:10,

from ../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/rpmsg_virtio.h:18,

from ../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/open_amp.h:12,

from ../../../CM7/OPENAMP/openamp.h:27,

from ../../CM7/../../CM7/TouchGFX/gui/include/gui/settings_screen/settingsView.hpp:7,

from C:/TouchGFXProjects/noooooooooo/CM7/TouchGFX/gui/src/settings_screen/settingsPresenter.cpp:1:

../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/virtqueue.h: In function 'virtqueue* virtqueue_allocate(unsigned int)':

../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/virtqueue.h:211:35: error: invalid application of 'sizeof' to incomplete type 'virtqueue_allocate(unsigned int)::vq_desc_extra'

211 | num_desc_extra * sizeof(struct vq_desc_extra);

| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from ../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/virtio.h:10,

from ../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/rpmsg_virtio.h:18,

from ../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/open_amp.h:12,

from ../../../CM7/OPENAMP/openamp.h:27,

from ../../CM7/../../CM7/TouchGFX/gui/include/gui/settings_screen/settingsView.hpp:7,

from C:/TouchGFXProjects/noooooooooo/CM7/TouchGFX/gui/src/settings_screen/settingsView.cpp:1:

../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/virtqueue.h: In function 'virtqueue* virtqueue_allocate(unsigned int)':

../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/virtqueue.h:211:35: error: invalid application of 'sizeof' to incomplete type 'virtqueue_allocate(unsigned int)::vq_desc_extra'

211 | num_desc_extra * sizeof(struct vq_desc_extra);

| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

make: *** [Application/User/gui/subdir.mk:58: Application/User/gui/settingsPresenter.o] Error 1

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

make: *** [Application/User/gui/subdir.mk:60: Application/User/gui/settingsView.o] Error 1

In file included from ../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/virtio.h:10,

from ../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/rpmsg_virtio.h:18,

from ../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/open_amp.h:12,

from ../../../CM7/OPENAMP/openamp.h:27,

from ../../CM7/../../CM7/TouchGFX/gui/include/gui/settings_screen/settingsView.hpp:7,

from ../../CM7/../../CM7/TouchGFX/generated/gui_generated/include/gui_generated/common/FrontendHeapBase.hpp:22,

from ../../CM7/../../CM7/TouchGFX/gui/include/gui/common/FrontendHeap.hpp:4,

from C:/TouchGFXProjects/noooooooooo/CM7/TouchGFX/generated/gui_generated/src/common/FrontendApplicationBase.cpp:6:

../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/virtqueue.h: In function 'virtqueue* virtqueue_allocate(unsigned int)':

../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/virtqueue.h:211:35: error: invalid application of 'sizeof' to incomplete type 'virtqueue_allocate(unsigned int)::vq_desc_extra'

211 | num_desc_extra * sizeof(struct vq_desc_extra);

| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/virtqueue.h:216:23: error: call of overloaded 'memset(virtqueue*&, int, uint32_t&)' is ambiguous

216 | memset(vqs, 0x00, vq_size);

| ~~~~~~^~~~~~~~~~~~~~~~~~~~

In file included from ../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainter.hpp:21,

from ../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/canvas_widget_renderer/Rasterizer.hpp:22,

from ../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/CWRUtil.hpp:22,

from ../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/AbstractDataGraph.hpp:25,

from ../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/GraphWrapAndClear.hpp:22,

from ../../CM7/../../CM7/TouchGFX/generated/gui_generated/include/gui_generated/screen1_screen/Screen1ViewBase.hpp:12,

from ../../CM7/../../CM7/TouchGFX/gui/include/gui/screen1_screen/Screen1View.hpp:4,

from ../../CM7/../../CM7/TouchGFX/generated/gui_generated/include/gui_generated/common/FrontendHeapBase.hpp:18:

C:\ST\STM32CubeIDE_1.16.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.win32_1.0.200.202406191623\tools\bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/include/string.h:33:10: note: candidate: 'void* memset(void*, int, size_t)'

33 | void * memset (void *, int, size_t);

| ^~~~~~

In file included from ../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/CWRUtil.hpp:21:

../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/Utils.hpp:74:6: note: candidate: 'void touchgfx::memset(void*, uint8_t, uint32_t)'

74 | void memset(void* data, uint8_t c, uint32_t size);

| ^~~~~~

make: *** [Application/User/generated/subdir.mk:217: Application/User/generated/FrontendApplicationBase.o] Error 1

In file included from ../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/virtio.h:10,

from ../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/rpmsg_virtio.h:18,

from ../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/open_amp.h:12,

from ../../../CM7/OPENAMP/openamp.h:27,

from ../../CM7/../../CM7/TouchGFX/gui/include/gui/settings_screen/settingsView.hpp:7,

from ../../CM7/../../CM7/TouchGFX/generated/gui_generated/include/gui_generated/common/FrontendHeapBase.hpp:22,

from ../../CM7/../../CM7/TouchGFX/gui/include/gui/common/FrontendHeap.hpp:4,

from C:/TouchGFXProjects/noooooooooo/CM7/TouchGFX/target/generated/TouchGFXConfiguration.cpp:21:

../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/virtqueue.h: In function 'virtqueue* virtqueue_allocate(unsigned int)':

../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/virtqueue.h:211:35: error: invalid application of 'sizeof' to incomplete type 'virtqueue_allocate(unsigned int)::vq_desc_extra'

211 | num_desc_extra * sizeof(struct vq_desc_extra);

| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/virtqueue.h:216:23: error: call of overloaded 'memset(virtqueue*&, int, uint32_t&)' is ambiguous

216 | memset(vqs, 0x00, vq_size);

| ~~~~~~^~~~~~~~~~~~~~~~~~~~

In file included from ../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainter.hpp:21,

from ../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/canvas_widget_renderer/Rasterizer.hpp:22,

from ../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/CWRUtil.hpp:22,

from ../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/AbstractDataGraph.hpp:25,

from ../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/GraphWrapAndClear.hpp:22,

from ../../CM7/../../CM7/TouchGFX/generated/gui_generated/include/gui_generated/screen1_screen/Screen1ViewBase.hpp:12,

from ../../CM7/../../CM7/TouchGFX/gui/include/gui/screen1_screen/Screen1View.hpp:4,

from ../../CM7/../../CM7/TouchGFX/generated/gui_generated/include/gui_generated/common/FrontendHeapBase.hpp:18:

C:\ST\STM32CubeIDE_1.16.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.win32_1.0.200.202406191623\tools\bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/include/string.h:33:10: note: candidate: 'void* memset(void*, int, size_t)'

33 | void * memset (void *, int, size_t);

| ^~~~~~

In file included from ../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/CWRUtil.hpp:21:

../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/Utils.hpp:74:6: note: candidate: 'void touchgfx::memset(void*, uint8_t, uint32_t)'

74 | void memset(void* data, uint8_t c, uint32_t size);

| ^~~~~~

In file included from ../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/virtio.h:10,

from ../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/rpmsg_virtio.h:18,

from ../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/open_amp.h:12,

from ../../../CM7/OPENAMP/openamp.h:27,

from ../../CM7/../../CM7/TouchGFX/gui/include/gui/settings_screen/settingsView.hpp:7,

from ../../CM7/../../CM7/TouchGFX/generated/gui_generated/include/gui_generated/common/FrontendHeapBase.hpp:22,

from ../../CM7/../../CM7/TouchGFX/gui/include/gui/common/FrontendHeap.hpp:4,

from C:/TouchGFXProjects/noooooooooo/CM7/TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp:21:

../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/virtqueue.h: In function 'virtqueue* virtqueue_allocate(unsigned int)':

../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/virtqueue.h:211:35: error: invalid application of 'sizeof' to incomplete type 'virtqueue_allocate(unsigned int)::vq_desc_extra'

211 | num_desc_extra * sizeof(struct vq_desc_extra);

| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

../../../Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/virtqueue.h:216:23: error: call of overloaded 'memset(virtqueue*&, int, uint32_t&)' is ambiguous

216 | memset(vqs, 0x00, vq_size);

| ~~~~~~^~~~~~~~~~~~~~~~~~~~

In file included from ../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/AbstractPainter.hpp:21,

from ../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/canvas_widget_renderer/Rasterizer.hpp:22,

from ../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/CWRUtil.hpp:22,

from ../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/AbstractDataGraph.hpp:25,

from ../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/graph/GraphWrapAndClear.hpp:22,

from ../../CM7/../../CM7/TouchGFX/generated/gui_generated/include/gui_generated/screen1_screen/Screen1ViewBase.hpp:12,

from ../../CM7/../../CM7/TouchGFX/gui/include/gui/screen1_screen/Screen1View.hpp:4,

from ../../CM7/../../CM7/TouchGFX/generated/gui_generated/include/gui_generated/common/FrontendHeapBase.hpp:18:

C:\ST\STM32CubeIDE_1.16.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.win32_1.0.200.202406191623\tools\bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/include/string.h:33:10: note: candidate: 'void* memset(void*, int, size_t)'

33 | void * memset (void *, int, size_t);

| ^~~~~~

In file included from ../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/widgets/canvas/CWRUtil.hpp:21:

../../CM7/../../CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/Utils.hpp:74:6: note: candidate: 'void touchgfx::memset(void*, uint8_t, uint32_t)'

74 | void memset(void* data, uint8_t c, uint32_t size);

| ^~~~~~

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

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

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

 

10:55:13 Build Failed. 14 errors, 0 warnings. (took 3s.161ms)

call of overloaded 'memset(virtqueue*&, int, uint32_t&)' is ambiguous
invalid application of 'sizeof' to incomplete type 'virtqueue_allocate(unsigned int)::vq_desc_extra'
make: *** [Application/User/generated/subdir.mk:217: Application/User/generated/FrontendApplicationBase.o] Error 1
make: *** [Application/User/gui/subdir.mk:58: Application/User/gui/settingsPresenter.o] Error 1
make: *** [Application/User/gui/subdir.mk:60: Application/User/gui/settingsView.o] Error 1
make: *** [Application/User/TouchGFX/target/generated/subdir.mk:37: Application/User/TouchGFX/target/generated/TouchGFXConfiguration.o] Error 1
make: *** [Application/User/TouchGFX/target/generated/subdir.mk:39: Application/User/TouchGFX/target/generated/TouchGFXGeneratedHAL.o] Error 1
make: *** Waiting for unfinished jobs....
STM32H745I_DISCO_CM4.elf has a LOAD segment with RWX permissions
candidate: 'void* memset(void*, int, size_t)'
candidate: 'void touchgfx::memset(void*, uint8_t, uint32_t)'

 

1 ACCEPTED SOLUTION

Accepted Solutions

Hello @motaz9898,

When you want to communicate with the backend of your GUI, you cannot directly add the codes to your screen files. Please follow the documentations below to learn about the procedure you have to take:

MVP Architecture

Concept of Screen 

Backend Communication 

I hope this helps you!
Don't hesitate to ask more questions if you have any!

Mohammad MORADI
ST Software Developer | TouchGFX

View solution in original post

3 REPLIES 3

Hello @motaz9898,

When you want to communicate with the backend of your GUI, you cannot directly add the codes to your screen files. Please follow the documentations below to learn about the procedure you have to take:

MVP Architecture

Concept of Screen 

Backend Communication 

I hope this helps you!
Don't hesitate to ask more questions if you have any!

Mohammad MORADI
ST Software Developer | TouchGFX

Should I use RTOS with OpenAMP?
And how can I open multiple communication channels?"

"When I tried to use OpenAMP alone in a C file, the processor hangs."

You can use it in two forms: with and without RTOS:

See these examples:

https://github.com/STMicroelectronics/STM32CubeH7/tree/master/Projects/STM32H747I-EVAL/Applications/OpenAMP

And that depends if you are using TouchGFX with RTOS, in that case you need to use OpenAMP with RTOS.

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.