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.
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 ) ((1000*(ms) + (15625)/2)/15625 ) )
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.
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.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.