Skip to main content
Associate II
October 21, 2024
Solved

erros openamp with touchgfx

  • October 21, 2024
  • 3 replies
  • 3512 views

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)'

 

    This topic has been closed for replies.
    Best answer by Mohammad MORADI ESFAHANIASL

    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!

    3 replies

    ST Employee
    October 21, 2024

    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 MORADIST Software Developer | TouchGFX
    motaz9898Author
    Associate II
    October 21, 2024

    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."

    mƎALLEm
    ST Technical Moderator
    October 21, 2024

    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 "Best answer" on the reply which solved your issue or answered your question.