Im using a DWM3000EVB in combination with NUCLEO-F429ZI and am trying to run the examples from DWM3000 API Software and API Guide.
When building the project in STM32CubeIDE I get this error:
C:/Users/XXX/STM32CubeIDE/workspace_1.16.1/UWB_2025_01_15_2/UWB_2025_01_15_2/Debug/…/Core/Src/read_dev_id.c:48: undefined reference to `dwt_probe’
I found the declaration of dwt_probe in deca_device_api.h, but I dont find the definition of this function. (when writing the line as comment the next error occurs at dwt_readdevid).
So my question: In which file are these functions defined and where do I get this file?
The function is defined within the pre-compiled library.
You include the header in your code so the initial compile works. You will then get undefined symbol errors at link time. You then set the linker to also include the pre-compiled library and it should all hook together correctly.
Or you use an older version of the library where the full source code was included but that means using an older version.
Thank you, this has definitely helped me and and brought me one step ahead.
Unfortunately I got a new error which seems to be inside the library:
C:/ST/STM32CubeIDE_1.16.1/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/bin/ld.exe: C:\Users\XXX\STM32CubeIDE\workspace_1.16.1\UWB_2025_01_15_2\UWB_2025_01_15_2\dwt_uwb_driver\lib\libdwt_uwb_driver-m4-hfp-6.0.7.a(deca_compat.c.obj): in function `dwt_probe’:
deca_compat.c:(.text.dwt_probe+0x8c): undefined reference to `__dw_drivers_start’
C:/ST/STM32CubeIDE_1.16.1/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/bin/ld.exe: deca_compat.c:(.text.dwt_probe+0x90): undefined reference to `__dw_drivers_end’
I included all libraries in the folder DW3XXX_API_rev9p3\API\Shared\dwt_uwb_driver\lib which are part of the software downloaded from qorvo. Do I need any more or did I mess up somewhere else?