This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Softdevice S310 and interrupt

Hi support team,

I would like to know if the following behavior is a normal behavior: My config: NRF51422 AAE0 + S310 V2.0

When I enable some inetrrupt like UART for example, soon I enable the softdevice by calling sd_softdevice_enable() function, the interrupt previously activated are disabled. I've looked the Interrupt Enable control register @0xE000E100 before and after the sd_softdevice_enable() function.

Is it the normal behavior?

Thanks, Bruno

  • So, I've continued to investigate and I found something very strange. If I try to enable for exeample UART Interrupt by using CMSIS function after to eanbled the softdevice, interrupt is working well. But it's not the recommanded way. We have to use the SD_nvic functions. So I've replaced the CMSIS functions by the sd_nvic function and the interrupt are not set (uart IT is never reached and the corresponding bit in the the Interrupt Enable control register @0xE000E100 is not set).

    Of course, I've always checked the result the sd_ functions and they all return "NRF_SUCCESS (0)"

    Any idea?

    Regards, Bruno

  • Hi

    What SDK are you using? See the nRF51 compatibility matrix for SDK's compatible with S310 v2.0.

    According to the nRF51 compatibility matrix, S310 v2.0 has not been tested with second revision nRF51 hardware that you have, i.e. nRF51422 QFAAE0, so I would recommend for you to purchase a third revision chip. The nRF51 DK has a third revision nRF51422 chip which is directly compatible with S310 v2.0 and and compatible SDK's v7.x.

    The examples in SDK 7.1.0/7.2.0, which are compatible with S310 v2.0, are directly compatible with QFAC 32kB RAM chip. If you have 16kB RAM, like the QFAA chip, then you will have to modify the RAM settings in Keil -> Options for Target -> Target tab to match the 16kB RAM.

  • Hi Stefan,

    Thanks for your answer. I don't use a specific SDK. I've ported a RTOS named Chibios on the NRF51422 with GCC. It's not enought stable yet with softdevice enabled, but I'm working on it. With some work around, I'able to enable S310 v2.0 and get HRM data sent it to the UART.

    I'm going to try S310 v1.0, see it makes difference. Is there any more difference between NRF51422v2 and v3. I believed it was just RAM size?

    Bruno

  • ok, I see. For changes between nRF51422 v2 and nRF51422 v3, look at the PCN-093 document.

  • Hi Stefan, I've tested with S310 v1.0, S210 v4.0.1 and S210 v3.0.0 and still the same behavior. I'm sure my inetrrupt priory are all set to '3'. Any idea

Related