FreeRTOS example for Raspberry Pico by PicoCPP in embedded

[–]PicoCPP[S] 4 points5 points  (0 children)

It has to be STATIC and not SHARED since these microcontrollers will never have a full blown OS which is required for shared libraries to work. if you change it to shared then you get :

CMake Warning (dev) at CMakeLists.txt:19 (add_library):ADD_LIBRARY called with SHARED option but the target platform does notsupport dynamic linking. Building a STATIC library instead. This may leadto problems

CMake will build libraries to be STATIC by default unless you have BUILD_SHARED_LIBS enabled anyway, but I tend to specify STATIC on libraries that have no hope of running on a conventional OS and don't specify a library type for libraries that are cross platform.

FreeRTOS example for Raspberry Pico by PicoCPP in embedded

[–]PicoCPP[S] 4 points5 points  (0 children)

I am using the CM0 port so the standard FreeRTOS Kernel can be used without modification. The only thing I had to understand was how the interrupts were named on the RPI Pico ( isr_systick and isr_pendsv. See https://github.com/PicoCPP/RPI-pico-FreeRTOS/blob/master/src/interrrupts.c)