Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs

nRF5 SDK 17.1.0 examples is not compiling in latest SES (6.20a)

e.g, when compiling ble_app_hrs I get:

7> Compiling ‘cc310_backend_eddsa.c’
4> C:\nRF\nRF5SDK\external\segger_rtt\SEGGER_RTT_Syscalls_SES.c:76:10: fatal error: __vfprintf.h: No such file or directory
4> 76 | #include "__vfprintf.h"

Should I downgrade SES or is there any better solution to get a quick start?

Parents
  • Hi,

    There has been a change in recent Segger Embedded Studio versions that require you to remove the SEGGER_RTT_Syscalls_SES.c file from the project. With that, it should build as expected. For reference, this is mentioned in the Embedded Studio Library IO documentation:

    Note: Older projects might include SEGGER_RTT_Syscalls_SES.c or a similar file to override printf(). When using the SEGGER Runtime Library, this file should be removed from the project, or its content should be encapsulated with #if !defined(__SEGGER_RTL_VERSION) ... #endif

  • Hi Einar,

    I am also having the same issue while i builf "ble_app_blinky"

    __vfprintf.h: No such file or directory in segger v6.20

    when i delete SEGGER_RTT_Syscalls_SES.c file from the project it build successful.

    I can't understand the purpose of this SEGGER_RTT_Syscalls_SES.c 

    where it will use while debugging ? 

    if i build the same project without SEGGER_RTT_Syscalls_SES.c  in segger v5.68 . it build successful 

    where i want to use #if !defined(__SEGGER_RTL_VERSION) ... #endif

  • Hi,

    The purpose of the file is to retarget printf etc. to RTT. Recent Segger Embedded Studio versions ship with this implementation as part of the toolchain so there is no need for the project to include it. The suggested preprocessor code that checks __SEGGER_RTL_VERSION is needed if you want to make the project compatible both wth older and newer SES versions. If that is not needed, you can ignore it.

Reply Children
No Data
Related