Segger Embedded Studio 6.30 causes crash if optimised

I'm developing for nRF52832, SDK 17.0.2 and softdevice S312 7.0.1.

After I upgraded from Segger Embedded Studio 6.22a to 6.30 I found that turning on any compiler optimisation causes a runtime error during initialisation of the softdevice. The reported error is NRF_ERROR_INVALID_PARAM.

The error seems to be related to ble_gap.h and calls to softdevice GAP initialisation functions. Perhaps something to do with the compiler's optimisation of the SVCALL macros.

I can switch between the two versions of SES, and I can confirm that the problem only occurs on SES version 6.30 and only when compiler optimisation is set to level 1 or higher.

Is this a Segger problem or is it a Nordic problem?

Thanks,
Barry

Parents
  • Hello, 

    I just observed a similar problem with SES 6.30. A release version of the FW got stuck somewhere, not answering. The first problem when building the release version was a throwing a warning that was not seen before and not giving any sense. After some investigation I switched to SES 6.22a and the release version works ok, no warning in building.
    There must be something wrong with SES 6.30 or some setting is missing. Based on the warning I got it looks like missing some nRF related definitions.

    A debug version works ok.

    Any advises, please?

    Best regards,

    peter

  • Peter, if this is the same problem that I encountered then you can build a release version with SES 6.30 by turning off all compiler optimisation. Set compiler optimisation for the "Release "version to "None".

    Regards, Barry.

Reply Children
No Data
Related