This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

CMSIS RTOS with nRF51822 and S110

I'm looking into using the CMSIS RTOS on the nRF51822 with the S110 softdevice which I've used successfully with other Cortex M0 MCUs. I realize the S110 isn't well tested with various RTOS, but documentation indicates it should be possible.

When initializing the softdevice stack with the call to sd_softdevice_enable(), the return code is 0x0D which nrf_error.h indicates is NRF_ERROR_TIMEOUT. However, the documentation for this function in the header files doesn't indicated this is an expected error to be returned. I'm assuming there is some sort of conflict between the RTOS and the softdevice, but it's unclear what the nature of the timeout might be.

Any hints on where I can look to track down the cause of this issue?

Also, if I get the above issue worked out I'm a bit worried about a conflict between the SVC handling by the softdevice and the RTOS. Since the softdevice controls the SVC interrupt handler, I'm assuming it properly chains the SVC calls intended for the RTOS use. Or, is this a bad assumption on my part.

Thanks,

Mike

Parents
  • Thanks for offering to look at this. I've sent you a PM with a link to an RTOS project based on the ble_app_uart project for the NRF6310 dev board you can build and examine. I have no problem sharing the project, but it would be best to post a link after the issue is resolved.

    Looking at the CMSIS RTOS use of SVC, it seems to only use SVC 0 which shouldn't conflict with the S110 softdevice. I also verified the versions of the SDK and S110 are correct. I suspect the answer to the issue lays elsewhere. Perhaps in how the RTOS initializes the NVIC or other cortex peripherals.

    Thanks,

    Mike

Reply
  • Thanks for offering to look at this. I've sent you a PM with a link to an RTOS project based on the ble_app_uart project for the NRF6310 dev board you can build and examine. I have no problem sharing the project, but it would be best to post a link after the issue is resolved.

    Looking at the CMSIS RTOS use of SVC, it seems to only use SVC 0 which shouldn't conflict with the S110 softdevice. I also verified the versions of the SDK and S110 are correct. I suspect the answer to the issue lays elsewhere. Perhaps in how the RTOS initializes the NVIC or other cortex peripherals.

    Thanks,

    Mike

Children
No Data
Related