[ECOS] on ARM: Using the FIQ vector

Gary Thomas gthomas@redhat.com
Fri Jan 28 06:20:00 GMT 2000


On 28-Jan-00 Dan Hovang wrote:
> Hello,
> 
> I'm using the FIQ vector to process data which arrives at a very high
> rate. My problem is that I'm unable to control the enable/disable FIQ
> bit of the cpsr. At first, I figured it was just to exclude the FIQ
> bit from the HAL_* macros but after some poking around I found that
> the FIQ bit has a per-thread value which is set every time a new thread
> is created (CPSR_THREAD_INITIAL in arm/arch/v1_2_1/src/hal_arch.h).
> 

Firstly, I'd suggest that you keep up with eCos development by using CVS.
Recent changes to the eCos source base are available via CVS, on a [more
or less] weekly basis.  The code base you're using is extremely old.

For details on using CVS, see http://sourceware.cygnus.com/ecos/

> The only workaround I see would be to exclude the FIQ bit from
> load_context in context.S aswell as from all relevant HAL_* macros.
> It feels like kind of a 'hack' tough. Is there some code design with
> the intention to solve this which I missed out?
> 

I'm a little confused about what you want to accomplish.  Are you interested
in masking _all_ FIQ interrupts or just one.  Perhaps if you could provide
a pseudo-code scenario, I can make some suggestions.


More information about the Ecos-discuss mailing list