This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
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

Why code without the SoftDevice?

I see many questions regarding developing applications without the SoftDevice. Perhaps I don't understand how this firmware system works, but isnt the SoftDevice required as it is the Stack that runs the Radio? Otherwise you are essential just developing on a Cortex M0 with no radio functionality. Am I missing something?

  • To many of us, it's a new environment to learn. So we need to start from the simplest first. The first thing to start learning a new micro and it's development environment is to make the led blink. Because it's simple and you can easily find out what you did wrong and to find things. Most of us are not expert though we need to do it one step at a time. It's like being lost in the jungle. First you need to explore near by to find what you need to survive the night. Then to survive longer. Then find what you needed to explore further to find your way out. It is as simple as that. Just to survive.

  • The SoftDevice is for the BLE. Its more like BLE stack rather than Radio stack. You can still use the radio without the SoftDevice. For example, you can load a third party BLE or Wi-Fi stack or you can just use the radio without any stacks. You can even make your own protocol instead of BLE if that suits your needs (probably will have to get a lot of certifications to use it though). Even without the radio, there are still a lot of really useful peripherals on NRF51822 like the SPI, GPIOTE, RTC, etc. If you use the SoftDevice, however, you will have to use the SoftDevice functions like sd_nvic_SetPriority() instead of arm's NVIC_SetPriority().

Related