A possible bug at the WIN32 simulator

cesarverdes wrote on Saturday, May 01, 2010:

I think that the line:

#if(USE_16_BIT_TICKS == 1 )

had to be changed to:

#if( configUSE_16_BIT_TICKS == 1 )

in the portmacro.h file of the WIN32 simulator.

I’m using the WIN32 simulator for study and understand FreeRTOS. I  wanted to experiment with a small portTickType in order to generate a TickCount overflow and I’ve found that this line is diferent (and possible wrong) compared with other ports.

I found the same code diferent at the GCC MCF5235 port.

I think that the WIN32 simulator is a great tool for the FreeRTOS study and algorithm tests.

Regards,

César

cesarverdes wrote on Sunday, May 02, 2010:

Related with the previous change, I suggest to modify the following line at the portmacro.h file of the WIN32 simulator:

#define portMS_TO_TICKS(ms)  ( ( portTickType ) (1000*(ms) + (15625)/2)/15625 )

for this one:

#define portMS_TO_TICKS(ms)  ( ( portTickType ) [color=red]([/color](1000*(ms) + (15625)/2)/15625 [color=red])[/color] )

adding this couple of parenthesis.

Without the parenthesis and if the portTickType is defined as unsigned portSHORT an overflow occurs within the portMS_TO_TICKS macro with values of ms greater than 57.

rtel wrote on Sunday, May 02, 2010:

Thank you for your feedback.  I would be grateful if you could paste these comments (or a link to this thread) as a comment in the following forum: http://interactive.freertos.org/entries/126325-win32-simulator-using-visual-studio-free-version

Thanks and regards.

cesarverdes wrote on Monday, May 03, 2010:

Of course Richard.

This post follows here

Regards,

Cesar