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

Segger Embedded Studio (latest) incompatible with nrf5-sdk

Hi,

Following the latest version of SES (v6.30) on macOS (could also be relevant on linux and windows machines) a critical error has been found.

Building the project with any Release mode optimizations levels casues a crash on the BLE stack (random methods).

nrf5-SDK v17.1.0 - ble_blinky example project, in Debug mode runs and works fine, release mode crashes instantly.

You might also need to add the missing RETARGET_ENABLED=1 to the project preprocessor definitions

Shahar

  • Hi.

    From the release notes of nRF5 SDK v.17.1.0:

    The following toolchains/devices have been used for testing and verification:
     
     - ARM: MDK-ARM version 5.25   
     - GCC: GCC ARM Embedded 9.2020-q2.major
     - IAR: IAR Workbench 7.80.4
     - SES: SES 5.42a

    That is the SES version we recommend using with the nRF5 SDK v.17.1.0.

    Br,
    Joakim

  • You are working fine with version 6.22a

    Version 5.42a is from [2021-04-09] and is obsolete (v6 adds a lot of C++ support and further optimizations).
    The other tools versions are very old as well FYI.

    As the SOFTDEVICE is closed source, it would be helpful if you can try and run ble_blinky on the latest SES in release mode and see why it fails - it seems there might be something incompatible with the SES compiler optimizations.

    Weirdly enough - there doesn't seems to be an issue with the securebootloader when optimized.

    Just make sure to have RETARGET_ENABLED=1 defined in the project preprocessor definitions.

  • Hi!

    Like I said in my previous comment, the version in the release notes is the version we have used for testing and verification.

    We can not guarantee that future releases will be compatible with our old nRF5 SDK releases, unfortunately.

    I'll check with our developers if this is a known issue and if there is a workaround.

    Br,
    Joakim

  • Hi,

    Been 21 days - any reponse from the developers regarding the 6.30?

    This edit in SEGGER_RTT_Syscalls_SES.c resolves the RTT compatiblity (v6.20+) and should be incorporated in the next nrf5 SDK release

    #include "sdk_config.h"
    #if !defined(RETARGET_ENABLED) || RETARGET_ENABLED == 0
    #if (defined __SES_ARM) || (defined __CROSSWORKS_ARM)
    
    #include "SEGGER_RTT.h"
    #if !defined(__SEGGER_RTL_VERSION)

    ...

    #endif
    #endif
    #endif
    /****** End Of File *************************************************/

  • No unfortunately. Like I mentioned, we have a supported version that is tested and verified for each release.

    Thanks for sharing your solution. I will pass this on to our developers.

    Br,
    Joakim

Related