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

possible FreeRTOS conflicts with libraries

Hello everyone,


I am starting with the NRF52840 dongle.
I intend to use it for a Uni project because I'm gonna use it later for work (new product). Since we're using STM32 it makes sense to use FreeRTOS and from what I've read it's fine using it instead of zephyr for the NRF52840.

The NRF5 SDK has quite a bit of libraries that seem to do a lot behind the scenes - I am more accustomed to very low level drivers so it's a bit new for me. So I am not sure about of lot of things, at the moment I don't have a debugger so it doesn't help.  There's also lots of callbacks that I am not sure in what context are called, like saadc_callback  (I imagine it's interrupt) 
- What I would like to know is if there are libraries that will conflict with FreeRTOS environment. I for example tried to adapt UART example to use FreeRTOS and printf doesn't work (although it's called always by the same thread).
- Plus, when I use the blinky FreeRTOS example, am I using FreeRTOS or amazon FreeRTOS?

I am also trying to use nrfx drivers instead of nrf_driver by adapting the examples that still use them.

Thank you in advance

Edit: My idea is to use Thread on the Uni project.
For work later we're gonna use something else that is proprietary

Parents
  • Hi,

    I understand there are quite a lot of libraries in the background. Some like it and the low level programmers do not like them as they want to have full control of the flow. It is upto you if you want to use libraries or not, you can use just the drivers and handle all flow in your application. 

    - What I would like to know is if there are libraries that will conflict with FreeRTOS environment. I for example tried to adapt UART example to use FreeRTOS and printf doesn't work (although it's called always by the same thread).

     Freertos uses RTC1, so you need to use app_timer_freertos . There is no conflict with UART as freertos does not use it. So it should work just fine. 

    - Plus, when I use the blinky FreeRTOS example, am I using FreeRTOS or amazon FreeRTOS?

    We do not use Amazon FreeRTOS in our SDK as their licensing model is different. please check the license files in the SDK\documentation folder to get an idea of which external modules you are using.

Reply
  • Hi,

    I understand there are quite a lot of libraries in the background. Some like it and the low level programmers do not like them as they want to have full control of the flow. It is upto you if you want to use libraries or not, you can use just the drivers and handle all flow in your application. 

    - What I would like to know is if there are libraries that will conflict with FreeRTOS environment. I for example tried to adapt UART example to use FreeRTOS and printf doesn't work (although it's called always by the same thread).

     Freertos uses RTC1, so you need to use app_timer_freertos . There is no conflict with UART as freertos does not use it. So it should work just fine. 

    - Plus, when I use the blinky FreeRTOS example, am I using FreeRTOS or amazon FreeRTOS?

    We do not use Amazon FreeRTOS in our SDK as their licensing model is different. please check the license files in the SDK\documentation folder to get an idea of which external modules you are using.

Children
Related