I am using the industrial PC port of FreeRTOS V4.2.1 and the
Open Watcom IDE V1.6 to compile a DOS 16-bit executable.
Some of the functions in the graphics library
produce unpredictable results when used in tasks scheduled by FreeRTOS.
When calling the functions from a loop in main() and not starting the FreeRTOS scheduler, everything works OK, but when calling from a task after having started the scheduler, something like this happens:
_setfont(): Wrong font is being selected.
(The graphics system has been initialized by _setvideomode() and
fonts have been registered successfully by _registerfonts()).
_rectangle(): Not drawn.
_setcolor(): Wrong color.
_outgtext(): Wrong text and wrong length of the string.
I have 6 tasks and I have verfied that they are scheduled correctly
I have allocated a lot of memory (20 kbytes) for stack storage in
each task, so it is hardly a stack overflow problem.
Could it be a compiler switch or a configuration parameter that I
have missed ?