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: Initialization routines take too long?


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

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