[ECOS] cyg_hal_interrupt_acknowledge function for MPC8xxx HAL

ramdaspi@gmail.com ramdaspi@gmail.com
Mon Aug 27 07:40:00 GMT 2007


It seems there is a problem in clearing interrupts in function
cyg_hal_interrupt_acknowledge of the MPC8xxx HAL that would result in
simultaneous interrupts being missed.

If there were multiple interrupts being reported, all of them would
get cleared when only one is being acknowledged because we read the
value, OR it with the mask for acknowledged vector and then write this

The documentation says we should write 1's to locations that need to
be cleared. So I believe there is no need for the read or 'OR'
operation. Just write the mask for the vector.

I our board we were missing one of the interrupts with the original
code. With the modification it is working correctly.



Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

More information about the Ecos-discuss mailing list