Hi,
I Think that a found a bug in the file serl_int.c in:
C:\Program Files\Freescale\Freescale MQX 3.3\mqx\source\io\serial\int
in line 226/227 is write:
226: int_io_dev_ptr->FLAGS = (_mqx_uint)flags;
227: fd_ptr->FLAGS = (_mqx_uint)flags;
But, it's incorrect because "flags" its a pointer to char and not a unsigned int. The correct is:
226: int_io_dev_ptr->FLAGS = (_mqx_uint)(*flags);
227: fd_ptr->FLAGS = (_mqx_uint)(*flags);
The original code may be cause an intermittent behavior of your firmware, because the value of fd_ptr->FLAGS will be a address of SRAM and may change with each compilation.
Thanks
Thiago Esteves