DWM3000EVB example code build failed

I have a dwm3000evb board with arduino headers, and an nRF52840-dk. I’ve downloaded the DWS3000 Software and API Guide and followed the README_nRF52840-DK.txt file exactly, including downloading the nRF SDK v16.0.0 and modifying the .emProject file. However, when I click “build and run”, the build fails and the following error message is output:

Building ‘dw3000_api’ from solution ‘dw3000_api’ in configuration ‘Debug
...
Compiling ‘SEGGER_RTT_Syscalls_SES.c’
    __vfprintf.h: No such file or directory
...
Build failed

My understanding was that Segger Embedded Studio comes with the standard library. Is this somehow missing or was there a configuration step that I’m not familiar with here?

This is probably a really dumb mistake, but I’d appreciate any input or help.
Thanks!

1 Like

Hi, It could be that you’re referring to the wrong toolchain. Check that you’re using the right toolchain wich comes with Segger installation.

Thanks for the thought, but the toolchain is correct.


where,
$(GCCTarget)=arm-none-eabi
and
$(StudioDir)=C:/Program Files/SEGGER/SEGGER Embedded Studio for ARM 6.20

Any other ideas?

I have the same error message with the same file with my Nordic SDK 17.0 project.
But only after updating from Segger Studio 5.70a to Segger Studio 6.20.
I think there are no public releases of Segger Studio between these two versions, so the new version apparently breaks the Segger RTT stuff in the SDK

I had the same bug with SEGGER v6.20. What worked for me was to change SEGGER_RTT_Syscalls_SES.c to SEGGER_RTT_Syscalls_GCC.c (for example via the .emProject file).

I hope that helps and works as well

Thanks for your response @lucas , unfortunately this file does not exist in the Software and API Guide I downloaded. ( DW3000_API_C0_rev4p0 ). Is this perhaps in an older version?

@rodims It appears this was indeed the issue. I rolled back to SDK 16.0 and used Segger Studio 5.70a to successfully build and run.
Thank you!

Hei
It should be possible to just remove the file from the build and “use the standard out of your IDE”, as stated in the docs.

Disabling (removing) the Build for the file SEGGER_RTT_Syscalls_SES.c in the Project works for me.
The project builds without errors then. I did not yet check, which consequences this might have.