2024-10-21 12:59 AM
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.
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)'
Solved! Go to Solution.
2024-10-21 07:13 AM
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:
I hope this helps you!
Don't hesitate to ask more questions if you have any!
2024-10-21 07:13 AM
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:
I hope this helps you!
Don't hesitate to ask more questions if you have any!
2024-10-21 07:25 AM - edited 2024-10-21 07:28 AM
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."
2024-10-21 08:39 AM
You can use it in two forms: with and without RTOS:
See these examples:
And that depends if you are using TouchGFX with RTOS, in that case you need to use OpenAMP with RTOS.