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

FreeRTOS or Zephyr?

Hi,

My projects with Nordic chips thus far have been pretty simple, but now I would like to use an RTOS. My question is, do I use the FreeRTOS available in nRF SDK, or move over to Zephyr? Which has better support, and which will Nordic focus its support on in the future? My focus is on BLE applications.

Jacques

Parents
  • Hi,

     

    My projects with Nordic chips thus far have been pretty simple, but now I would like to use an RTOS.

    Don't choose an RTOS just because it seems to be trendy.

    Choose an RTOS where it makes sense to do so and where it reliefs your development process, such as larger applications where several timers, queues, and other things are needed.

     

    As for FreeRTOS vs zephyr, I'd recommend that you try out both solutions to which you prefer. There's no right or wrong choice in that sense.

    We maintain a freertos port in the nRF5 SDK where we provide support, but the zephyr project is a standalone project and its recommended that you get support through their channels.

    We are developing nRF connect SDK (ncs for short) on top of a zephyr fork, but this one only has official support for nRF9160 at the time of writing this post. 

     

    Kind regards,

    Håkon

  • Will any component of the ncs run on target (like for Thingy:91)? In case, how might that influence if I were to write code on the Thingy:91 and use the latest build of Zephyr?

    I try to discuss this at [1].

    [1] My IoT box(?) - Disclaimer: no money, ads, gifts are anything like that with any of my blog notes. Only fun and expenses

  • Hi,

     

    Aclassifier said:
    Will any component of the ncs run on target (like for Thingy:91)? In case, how might that influence if I were to write code on the Thingy:91 and use the latest build of Zephyr?

    Since ncs holds many components, some depending on LTE/NB-IoT and others depending on bluetooth, there will be modules that only work on nRF91 and others that only work on nRF5-series devices.

    We have our fork of zephyr here: https://github.com/NordicPlayground/fw-nrfconnect-zephyr

    This one we try to keep as up-to-date with the upstream master branch as possible, but we have small modifications to it (like accommodating our folder structure, to link in "nrf" repo), but other than that; its pretty much equal.

    For the thingy:91 support, it will first go into the "nrf" repo, before turning up in the upstream zephyr-rtos repo. We develop on our forks, then send the pull-requests to add new boards etc. upstream afterwards:

    https://github.com/NordicPlayground/fw-nrfconnect-nrf

     

    Kind regards,

    Håkon

Reply
  • Hi,

     

    Aclassifier said:
    Will any component of the ncs run on target (like for Thingy:91)? In case, how might that influence if I were to write code on the Thingy:91 and use the latest build of Zephyr?

    Since ncs holds many components, some depending on LTE/NB-IoT and others depending on bluetooth, there will be modules that only work on nRF91 and others that only work on nRF5-series devices.

    We have our fork of zephyr here: https://github.com/NordicPlayground/fw-nrfconnect-zephyr

    This one we try to keep as up-to-date with the upstream master branch as possible, but we have small modifications to it (like accommodating our folder structure, to link in "nrf" repo), but other than that; its pretty much equal.

    For the thingy:91 support, it will first go into the "nrf" repo, before turning up in the upstream zephyr-rtos repo. We develop on our forks, then send the pull-requests to add new boards etc. upstream afterwards:

    https://github.com/NordicPlayground/fw-nrfconnect-nrf

     

    Kind regards,

    Håkon

Children
Related