Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: Simpliest working FIQ example - please help.

2004-03-08 by moostieuk

Have you read the user manual on the LPC part?  

There's a number of things you have to do before getting the VIC to 
work, one is that if you are running from RAM you have to map the 
exception vectors to where flash would be, and the interrupt vector 
needs to specific jump instruction.  

If you don't do those steps then the normal interrupt vector gets 
called, i'm guessing your program is jumping off to that.  You might 
want to set a breakpoint on the interrupt vector entry in the vector 
table.

It's possible that this might not be the problem, I've not seen your 
compiler so I don't know what it does on your behalf, however, I did 
have the same problem as you and I eventually read the manual 
properly and found the cause of the problem.



--- In lpc2000@yahoogroups.com, "hansklos2003" <hansklos2003@y...> 
wrote:
> Hi!
> 
> My problem is: how to make an application with EINT0 assigned to 
FIQ.
> I try with someting like below - but it does not work.
> The source of interrupt is a pushbutton.
> I use IAR EWARM Kickstart compiler.
> 
> A fragment of code with init procedure:
> 
>   ...
>   VICIntSelect = 0x4000;   // Select EINT0 as FIQ.
>   VICIntEnable = 0x4000;   // Enable EINT0 interrupt.
>   PINSEL1 = 0x00000001;    // configure P0.16 pin as EINT0.
>   ...
> 
> A code with FIQ handler:
> 
>   ...
>   EXTINT = 0x01;       // Try to reset external interrupt flag.
>   if (!(EXTINT & 0x01))// Check if flag was reset (button not 
pressed.
>   {
>     AND I CAN NOT REACH THIS POINT
>   }
>   ...
> 
> What I may say - something is working - after pushing interrupt
> button program hangs.
> 
> Robert

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.