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

Hardware driver support for FreeRTOS?

Hi,

Warning: This might be a bit of a rant.

Is there going to be an effort made to make more of the nRF52 hardware drivers compatible with FreeRTOS?

Hopefully constructive: I really am not enjoying dealing with the nRF chips on such a procedural level, as the API seems to be really fragile and I've spent too much time trying to workaround seemingly trivial issues:

  1. The SDK focuses a bit too much on perfection (-Werror for unused variables and functions?) and is really unforgiving.
  2. Integrating different examples together has left a lot to be desired, as everything has to be done essentially manually, including comparing Makefiles to see which pieces of library code and which components need to be added specifically to MY project Makefile in order to get a peripheral working with the provided drivers.
  3. I'm pretty sure I'd love it more if there was a standard .a library for each hardware revision of chip, and I simply link against that. (Let the linker sort out what's not getting used, and encapsulate all of the PAN fixes into the library.)
  4. The current rm -rf / build everything again methodology is pretty painful.
  5. There is way too much use of the bsp.h BSP package, and the transition from doing development on an nRF52 DK board to a custom board is kind of painful, as most of the examples are littered with BSP code.
  6. There's a ton of undocumented preprocessor magic that is happening, that takes a ton of digging with Jump to Source activities to understand.

Thanks, Max

Parents
  • Hi Max,

    I agree with couple of comments so I'll try to help with the others;)

    BSP might look annoying but you will always need to align the HW, that's clear. It has prepared hook to "custom.h" so you can either flush your defines there (and all projects will stay compilable, at least no error spotted on my side) or you can even place more ifdef custom HW defines and switch them through Makefile (I find this pretty elegant and straight forward even you need actually custom H files and defines related to HW). Any idea how you would solve it better?;)

    Cheers Jan

Reply
  • Hi Max,

    I agree with couple of comments so I'll try to help with the others;)

    BSP might look annoying but you will always need to align the HW, that's clear. It has prepared hook to "custom.h" so you can either flush your defines there (and all projects will stay compilable, at least no error spotted on my side) or you can even place more ifdef custom HW defines and switch them through Makefile (I find this pretty elegant and straight forward even you need actually custom H files and defines related to HW). Any idea how you would solve it better?;)

    Cheers Jan

Children
No Data
Related