This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

cyg_hal_interrupt_acknowledge function for MPC8xxx HAL


Hi,

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
value.

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.

Cheers,

Ramdas

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]