cancel
Showing results for 
Search instead for 
Did you mean: 

Run ThreadX on Windows

ESawa.1
Associate III

Hey threre,

I am thinking about to switch from freeRTOS to ThreadX on STM32H7. But there is a important question. Is it possible to run ThreadX on Windows? We want to simulate some parts of our firmware. I know that there is a port for WIN32 and there is an example for Visual Studio. I checked it and got it up and running. But I would like to compile it inside Eclipse/STM32CubeIDE. On freeRTOS this was no problem and I was able to compile it but for Azure RTOS/ThreadX I cant find any information how to integrate it into an eclipse project. Does anyone knows how it works?

1 ACCEPTED SOLUTION

Accepted Solutions

Hello @ESawa.1​ ,

Take a look at the following link : GitHub - azure-rtos/threadx: Azure RTOS ThreadX is an advanced real-time operating system (RTOS) designed specifically for deeply embedded applications.

You could make some modifications to support STM32CubeIDE.

BeST Regards,

Walid

View solution in original post

6 REPLIES 6

Hello @ESawa.1​ ,

Take a look at the following link : GitHub - azure-rtos/threadx: Azure RTOS ThreadX is an advanced real-time operating system (RTOS) designed specifically for deeply embedded applications.

You could make some modifications to support STM32CubeIDE.

BeST Regards,

Walid

ESawa.1
Associate III

Dear Walid,

thanks a lot for your answer. This was a good point to start. I had to do it a little bit different but now it runs. Thanks a lot.

Glad to help you. You are welcome any time.

LKuma.2
Associate

Can Any one help me for how to use ThreadX on Windows ?

I am interested in any insights you have on making the AzureRTOS libraries for win32 - I was planning to compile using GCC - Cygwin.

Thanks for anything you can tell me.

I think I got this working, I was able to create a library - go ahead and create a gnu directory in parallel with the vs2019 directory and modify the new cmake file - create a gnu target and replace the compiler/linker contents to match the ones in one of the other targets (I used cm7), and then run cmake with the target set to win32/gnu. Run make in the main directory. I got a libthreadx.a in the main directory. It seems I had to change the integer sizes in tx_port.h https://github.com/azure-rtos/threadx/blob/master/ports/win32/vs_2019/inc/tx_port.h to make this work.

The resulting libthreadx.a linked with my gnu compiled source - I haven't tried running anything yet.