Visual Studio (WIN32 simulation) port

nidujay wrote on Sunday, September 14, 2008:


Just a quick note to let you know that there’s a VS port included in the latest freeRTOS distro. It’s included with the Contributed RTOS ports section. ( It’s written for Version 4.1.3 but might work for the latest version also. You’ll just have to try it.

It’s written for Visual Studio 2005.

Have fun!

rtel wrote on Monday, September 15, 2008:

Your post is quite a co-incidence, I was just playing with the port this weekend.  I am very impressed!  This makes a really nice test bench - I have been trying out some new TCP/IP ideas using it.

I found I had to remove the idle hook to get the debugger to behave nicely - the idle hook doing nothing but ‘sleeping’.

I cannot get direct access to the Ethernet interrupts so instead created a task that runs in the background generating simulated events to wake the Ethernet task.  I think this is similar to how you are creating the tick interrupts, only you are using a Windows thread, rather than a task.  Is this correct?  I know very little about native Windows programming.

To use the port I downloaded the latest "Microsoft Visual C++ 2008 Express Edition" - which is completely free but huge so you need a fast internet connection and plenty of disk space.

Thank you for your great contribution.  Any volunteers for a Linux version?


nidujay wrote on Monday, September 15, 2008:


I’m glad you find the port useful.

You’re right about the Sleep. Without it you get the CPU fans running etc because the process is always busy. I have used Sleep(INFINITE) - We don’t use the IDLE thread except for patting the watchdog.

FreeRTOS tasks are wrapped by windows threads so yes, the solution is similar. Only thing is, the solution you have adopted brings the interrupt generators under the fold of the FreeRTOS scheduler (which may or may not be a problem in your case).

Another gotcha is, the windows tick occurs every ms. My suggestion is to add a couple of macros to convert from ms to ticks and vise versa and use them to abstract out the delays arguments.

All the best

mikej42 wrote on Tuesday, September 16, 2008:

Hi Richard

I cannot find how to download this - the various links all end up at the sourceforge download for FreeRTOS.

What simple bit am I missing?

Many thanks for you work on FreeRTOS,

Mike Newsome

nidujay wrote on Tuesday, September 16, 2008:

Sorry. I should have posted this ( here.


nidujay wrote on Tuesday, September 16, 2008:

Have a look at this