-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
Describe the bug
In portable/CMakeLists.txt, mpu_wrappers.c and mpu_wrappers_v2.c are only added as target_sources if FREERTOS_PORT matches one of a collection of patterns which represent MPU-capable ports. That list is missing GCC_ARM_CRX_MPU, so those files don't get correctly included and builds fail unless this is worked around by the end user.
Target
- Development board: Any Cortex-R4, Cortex-R5, Cortex-R58, or Cortex-8 dev kit, but e.g. TI LAUNCHXL2-RM46, LAUNCHXL2-RM57
- Instruction Set Architecture: ARMv7-R, ARMv8-R
- IDE and version: CMake, GCC
- Toolchain and version: cmake version 4.0.3-dirty, arm-none-eabi-gcc (Arch Repository) 14.2.0
Host
- Host OS: Manjaro Linux
- Version: 25.0.7
To Reproduce
- Ensure that a working GNU arm-none-eabi toolchain is installed, and arm-none-eabi-gcc is in your PATH.
- Download CMakeLists.txt to a new directory.
- Modify the third line (
set(FREERTOS_DIR ...)
) to point to the FreeRTOS/ directory of a FreeRTOS source tree (That is, the directory that contains Demo/ and Source/). - Attempt to build the project (e.g.
cmake -S . -B build && cmake --build build
). - You will see many linker "undefined reference" errors on symbols starting with
MPU_
.
Note: this bug doesn't manifest when building the Cortex-R MPU Demos in the Demos/ directory using their supplied CMakeFiles, because they do not leverage the FreeRTOS-Kernel CMakeLists.txt. They set the build up from scratch instead, masking this bug.
Expected behavior
A successful build
Screenshots
: && /usr/bin/arm-none-eabi-gcc -mcpu=cortex-r4 -mfpu=vfpv3-d16 -Og -g -ggdb -Wall -MMD -MP -specs="nosys.specs" -specs="nano.specs" -marm -mfloat-abi=hard -g -Wl,-Map,"RTOSDemo.map" -Wl,-T"/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/sys_link.ld" CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/adc.c.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/can.c.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/dabort.S.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/emac.c.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/emif.c.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/errata_SSWF021_45.c.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/esm.c.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/gio.c.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/het.c.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/lin.c.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/mdio.c.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/mibspi.c.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/notification.c.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/phy_dp83640.c.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/pinmux.c.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/sci.c.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/spi.c.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/sys_core.S.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/sys_dma.c.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/sys_intvecs.S.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/sys_main.c.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/sys_pcr.c.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/sys_phantom.c.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/sys_pmm.c.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/sys_pmu.S.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/sys_selftest.c.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/sys_startup.c.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/system.c.obj CMakeFiles/TI_BOARD_SUPPORT_PACKAGE.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/BoardFiles/source/sys_vim.c.obj CMakeFiles/RM46_FreeRTOS_Full.out.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/source/main.c.obj CMakeFiles/RM46_FreeRTOS_Full.out.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/source/irq_demo.c.obj CMakeFiles/RM46_FreeRTOS_Full.out.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/source/mpu_demo.c.obj CMakeFiles/RM46_FreeRTOS_Full.out.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/source/notification_demo.c.obj CMakeFiles/RM46_FreeRTOS_Full.out.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/source/queue_demo.c.obj CMakeFiles/RM46_FreeRTOS_Full.out.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/source/reg_test.c.obj CMakeFiles/RM46_FreeRTOS_Full.out.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/source/reg_test_GCC.S.obj -o Debug/RM46_FreeRTOS_Full.out FreeRTOS-Kernel/Debug/libfreertos_kernel.a && :
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: CMakeFiles/RM46_FreeRTOS_Full.out.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/source/irq_demo.c.obj: in function `xCreateIRQTestTask':
/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/source/irq_demo.c:278:(.text+0x204): undefined reference to `MPU_xTaskCreateRestrictedStatic'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: CMakeFiles/RM46_FreeRTOS_Full.out.dir/Debug/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/source/mpu_demo.c.obj: in function `xCreateMPUTasks':
/home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/source/mpu_demo.c:414:(.text+0x438): undefined reference to `MPU_xTaskCreateRestrictedStatic'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: /home/malsyned/work/preferred/fsg/cortex-r/FreeRTOS/FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC/source/mpu_demo.c:418:(.text+0x468): undefined reference to `MPU_xTaskCreateRestrictedStatic'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(portASM.S.obj): in function `switch_before_exit':
(privileged_functions+0x3c4): undefined reference to `uxSystemCallImplementations'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_xTaskGetTickCount':
(freertos_system_calls+0x68): undefined reference to `MPU_xTaskGetTickCountImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_uxTaskGetNumberOfTasks':
(freertos_system_calls+0x88): undefined reference to `MPU_uxTaskGetNumberOfTasksImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_vTaskSetTimeOutState':
(freertos_system_calls+0xa8): undefined reference to `MPU_vTaskSetTimeOutStateImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_xTaskCheckForTimeOut':
(freertos_system_calls+0xc8): undefined reference to `MPU_xTaskCheckForTimeOutImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_xQueueGenericSend':
(freertos_system_calls+0xe8): undefined reference to `MPU_xQueueGenericSendImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_uxQueueMessagesWaiting':
(freertos_system_calls+0x108): undefined reference to `MPU_uxQueueMessagesWaitingImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_uxQueueSpacesAvailable':
(freertos_system_calls+0x128): undefined reference to `MPU_uxQueueSpacesAvailableImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_xQueueReceive':
(freertos_system_calls+0x148): undefined reference to `MPU_xQueueReceiveImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_xQueuePeek':
(freertos_system_calls+0x168): undefined reference to `MPU_xQueuePeekImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_xQueueSemaphoreTake':
(freertos_system_calls+0x188): undefined reference to `MPU_xQueueSemaphoreTakeImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_xTaskDelayUntil':
(freertos_system_calls+0x1a8): undefined reference to `MPU_xTaskDelayUntilImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_xTaskAbortDelay':
(freertos_system_calls+0x1c8): undefined reference to `MPU_xTaskAbortDelayImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_vTaskDelay':
(freertos_system_calls+0x1e8): undefined reference to `MPU_vTaskDelayImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_uxTaskPriorityGet':
(freertos_system_calls+0x208): undefined reference to `MPU_uxTaskPriorityGetImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_eTaskGetState':
(freertos_system_calls+0x228): undefined reference to `MPU_eTaskGetStateImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_xTaskGetIdleTaskHandle':
(freertos_system_calls+0x248): undefined reference to `MPU_xTaskGetIdleTaskHandleImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_vTaskSuspend':
(freertos_system_calls+0x268): undefined reference to `MPU_vTaskSuspendImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_vTaskResume':
(freertos_system_calls+0x288): undefined reference to `MPU_vTaskResumeImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_uxTaskGetStackHighWaterMark':
(freertos_system_calls+0x2a8): undefined reference to `MPU_uxTaskGetStackHighWaterMarkImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_xTaskGetCurrentTaskHandle':
(freertos_system_calls+0x2c8): undefined reference to `MPU_xTaskGetCurrentTaskHandleImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_xTaskGetSchedulerState':
(freertos_system_calls+0x2e8): undefined reference to `MPU_xTaskGetSchedulerStateImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_xQueueGetMutexHolder':
(freertos_system_calls+0x308): undefined reference to `MPU_xQueueGetMutexHolderImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_xQueueTakeMutexRecursive':
(freertos_system_calls+0x328): undefined reference to `MPU_xQueueTakeMutexRecursiveImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_xQueueGiveMutexRecursive':
(freertos_system_calls+0x348): undefined reference to `MPU_xQueueGiveMutexRecursiveImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_xQueueSelectFromSet':
(freertos_system_calls+0x368): undefined reference to `MPU_xQueueSelectFromSetImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_xQueueAddToSet':
(freertos_system_calls+0x388): undefined reference to `MPU_xQueueAddToSetImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_vQueueAddToRegistry':
(freertos_system_calls+0x3a8): undefined reference to `MPU_vQueueAddToRegistryImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_vQueueUnregisterQueue':
(freertos_system_calls+0x3c8): undefined reference to `MPU_vQueueUnregisterQueueImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_pcQueueGetName':
(freertos_system_calls+0x3e8): undefined reference to `MPU_pcQueueGetNameImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_pvTimerGetTimerID':
(freertos_system_calls+0x408): undefined reference to `MPU_pvTimerGetTimerIDImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_vTimerSetTimerID':
(freertos_system_calls+0x428): undefined reference to `MPU_vTimerSetTimerIDImpl'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: FreeRTOS-Kernel/Debug/libfreertos_kernel.a(mpu_wrappers_v2_asm.S.obj): in function `MPU_xTimerIsTimerActive':
(freertos_system_calls+0x448): undefined reference to `MPU_xTimerIsTimerActiveImpl'
(... and so on and so on)
** Additional context **
I will post a one-line PR to fix this shortly.