Showing results for 
Search instead for 
Did you mean: 

Mixing CMSIS-RTOS v2 threads with ThreadX native threads

Associate III


I want to know if it is best practice to mix both CMSIS_OS2 API threads and native THreadX threads in a project or should I just port old code over to native THreadX threads instead.

I'm building an embedded device using AZRTOS and STM32 Microcontroller platform. I have to port X-CUBE-CELLULAR FW package to run in my application. That package is based on FREE RTOS and CMSIS_OS V1 api. After porting that functionality I will need to then use NETXDUO to run the PPP interface plus build out the application logic.

My options are

  1. Converting the cellular modem interface to CMSIS_OS2 API and then use ThreadX native API for any new threads
  2. Convert the cellular modem interface directly to ThreadX native API

Is option 1 best practice or should I just convert all the FreeRTOS calls to ThreadX?


Associate III

x-cube-cellular 7.0.0 shows you that you can mix CMSIS_OS2 API threads and native ThreadX threads.