This is the mail archive of the ecos-discuss@sources.redhat.com 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]

Re: interrupt handlers for the ARM SA1110


Warren Jasper wrote:
> 
> I have ported eCos to a development board with a BOPS's DSP and the
> Intel SA1110.  The DSP has it's own interrupt controller (with 32
> vectors or causes), so I would like to "cascade" that onto the current
> port.  I am using GPIO6 and GPIO7 as interrupts from the DSP's
> controller (ie, when the DSP's interrupt controller is configured
> properly, GPIO6 will go high on a DSP interrupt).
> 
> My question is where or how is the best way to do this?  I looked in
> sa11X0/var/current/src/sa11X0_misc.c as see some of the hooks, but am
> unsure how to either override or append to that.  I need to set up a
> secondary level of interrupts, which I would like to do in the HAL,
> and not in the application code.  Where is the best place to append
> more vectors?  If the name of my board is travis, do I have a
> sa11x0/travis/current/plf_intr.h or hal_intr.h?  How does that
> interface or override the one in sa11x0/var/current/{include,src} ?
>
> I would rather not have to modify the var files so my cvs tree remains
> consistant.
 
If you need to change hal_IRQ_handler, the only way to override it is by
changing something in the var stuff. That's a key benefit of open source!
 
> Where is the isr_springboard table like in the mips vrc4373 port?  I have ported
> the BOPS's DSP to another board running the QED rm5231 MIPS CPU, so I thought
> I was familiar with the basic eCos model for the HAL.

Except that hardware can have very different interrupt models and interrupt
controllers making a single solution impossible. In this case, the decoding
is in hal_IRQ_handler.
 
> Also, what is the difference between say hal_interrupt_mask and
> HAL_INTERRUPT_MASK other than the obvious that one is a function and
> the other a macro.  Which one over-rides the other and where.

HAL_INTERRUPT_MASK is the official exported HAL API macro. Use grep for the
rest!

Jifl
-- 
Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine
Come to the Red Hat TechWorld open source conference in Brussels!
Keynotes, techie talks and exhibitions    http://www.redhat-techworld.com/


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