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]

Re: Re: On ARM7 can one of FIQ/IRQ be used for non-eCos stuff?


On Wed, Apr 02, 2008 at 07:26:25PM +0000, Grant Edwards wrote:
> On 2008-04-02, Andrew Lunn <andrew@lunn.ch> wrote:
> 
> >> I would think what you'd want to do is to provide a function to change 
> >> the FIQ vector after eCos has started. 
> >
> > It already exists.
> >
> > void cyg_interrupt_get_vsr(cyg_vector_t vector, cyg_VSR_t** vsr);
> >
> > void cyg_interrupt_set_vsr(cyg_vector_t vector, cyg_VSR_t* vsr);
> >
> > with the vector CYGNUM_HAL_VECTOR_FIQ.
> 
> That would work.  It would save a few clock cycles to set the
> vector in the actual vector table rather than in the secondary
> indirect one, but I don't know if it's worth the extra hassle.

It is directly in the vector table, normally at address 0x20 for the
beginning of the table and the FIQ entry at 0x3C. You cannot put an
address at 0x1C, it has to be an instruction, and you have limited
branch range so cannot make it generic.

       Andrew

-- 
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]