This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Initialization routines take too long?
- To: Fabrice Gautier <Fabrice_Gautier at sdesigns dot com>
- Subject: Re: [ECOS] Initialization routines take too long?
- From: Grant Edwards <grante at visi dot com>
- Date: Fri, 10 Nov 2000 14:18:27 -0600
- Cc: ecos-discuss at sources dot redhat dot com
- References: <B1F6452C89AFD411AE0800A0CC734C23015007@EMAIL1>
On Fri, Nov 10, 2000 at 12:09:55PM -0800, Fabrice Gautier wrote:
> > > Why should your timer be initialized before everything it needs is
> > > initialized?
> >
> > I'm not sure what you mean. The timer doesn't need anything
> > else to be initialized before it is initialized.
>
> I meant that maybe your timer IRQ handler used some classes (Counter, Alarm
> maybe...) which constructor had not been called before your handler is
> called.
My part of the IRQ handler doesn't use anything external -- it
just returns the highest pending vector ID by examining a CPU
register. What eCos does with it I don't know.
I _think_ that IRQ is not enabled until after all of the
consctructors are called. During my driver init() routines it
appears that individual interrupt sources have been unmasked
(enabled) but the global IRQ mask in the ARM CPSR is still set
(IRQ disabled). I'm currently sifting through the sources to
try to figure out where/when interrupts get enabled.
> Strange, that would mean you can't disable and reenable the IRQ without
> problem...
Don't know.
--
Grant Edwards
grante@visi.com