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: Custom Device Driver


Assuming that I read you right, Can Software raise an interrupt on an ARM
core?
How would this be trapped in the low level ISR (in ##platform##_misc.c) to
determine the vector?
No Can't have understood properly :-)

True there is an ISR raised that causes me to vector to the GPS engine's ISR
this may result in 0, 1 or more events being raised. It's getting these
events into my DSR that is causing me grief (mainly because the IP we have
is not all in source form - hence the ADS library).  I do not have a clear
picture of the execution thread of this IP.  I do have an routine in ADS
that is called whenever a GPS event occurs - can I use a callback into the
device driver to populate a message box as you suggest?

Andy

-----Original Message-----
From: jlarmour@cambridge.redhat.com
[mailto:jlarmour@cambridge.redhat.com]On Behalf Of Jonathan Larmour
Sent: 27 March 2001 16:44
To: Andy.Simpkins@TardisMobile.com
Cc: eCos discussion
Subject: Re: [ECOS] Custom Device Driver


Andy Simpkins wrote:
>
> I am integrating a GPS receiver into eCos, the problem is that the IP for
> this is in the form of an ARM ADS library.  To overcome this problem I
> simply call the appropriate routine in memory when one of the relevant
> interrupts are received.  The calling function takes the form of an eCos
> device driver.  Great everything works, eCos and the GPS engine.
>
> The GPS engine currently flashes LEDs when a GPS event occurs.  What I am
> now trying to do is get events generated by the GPS engine to be
recognised
> by eCos.  These events happen for example when there is position
information
> available.
>
> 1. How would one go about incorporating this into a device driver?

Assuming it can deliver interrupts, write an ISR that acks the interrupt,
and returns a code instructing eCos to call a DSR.

> 2. How should I then pass this information out to interested threads?

Create a message box, and in the DSR, put the information in that. The
threads can then read out of it.

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



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