AnsweredAssumed Answered

BUG MQX UART INTERRUPT

Question asked by thiago cesar calori esteves on Sep 30, 2010
Latest reply on Oct 1, 2010 by Juraj Vanco

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

 

 

Outcomes