Hi, Apologies, as I've been meaning to submit these changes for a while.
The attached patch addresses several issues, including the same fix as Sergei's patch:
1. it makes it easier to support the ever increasing number of LPC2xxx parts by adding a CDL family variable that can be tested to decide whether a certain HAL feature applies to a given part rather than having to test for each part individually. 2. it adds support for XCLK on the LPC22xx parts and makes the VPB and XCLK dividers CDL configurable.3. it includes some fixes to the interrupt handling code (including the external
acknowledge).4. it adds some features to make JTAG debugging easier by disabling the processor
entering sleep mode in the idle loop. 5. it creates a separate lpc2xxx_misc.h header which moves the lpc2xxx specific features out of the hal_var_ints.h header and hopefully provides a better place for them in the future as other features are added. Kind regards, Andy..----- Original Message ----- From: "Sergei Gavrikov" <[EMAIL PROTECTED]>
To: <[email protected]> Sent: Saturday, May 06, 2006 7:32 AM Subject: LPC2XXX interrupt_acknowledge
Hi, I'd found that LPC2XXX hal_interrupt_acknowledge() doesn't clear a peripherial interrupt flag. In one ABC is written: at the end the ISR should clear interrupt flag in EXTINT register and perform dummy write to the correct register in the VIC to clear interrupt source. What do you thing about such a patch? Without it I couldn't handle an exteranl interrupt event with the cyg_drv_interrupt_* functions. The ISR for any software interrupt event works well without the patch. Tested on an Olimex LPC-H2294 (ARM) board. Sergei Gavrikov
lpc2xxx_var.patch
Description: Binary data
