public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] “Big image” of eCos initialization and work flow
@ 2009-06-25  8:52 Nodir Qodirov
  2009-06-29 16:13 ` [ECOS] " Nodir Qodirov
  0 siblings, 1 reply; 2+ messages in thread
From: Nodir Qodirov @ 2009-06-25  8:52 UTC (permalink / raw)
  To: ecos-discuss

Good time of day!

I am trying to understand initialization of eCos kernel (e.g. when/how
scheduler, clock, interrupt, mutex, messageBox is getting init) and
system’s work flow during rum time. Hence, I can create "Big image" of
eCos init and work flow. Just to make my eCos development better,
while after it will be easier to know where to do modification, in
order to get some specific functionality.

When I have read book of J.Massa “Embedded software development with
eCos” there was told that – kernel (scheduler, clock, interrupt …)
gets fully initialized before cyg_start() method call which serves as
HAL-to-kernel transition.

I found from some posts in discussion-list that "_start" in vectors.S
file is the point where we’ll come just after power reset (I have i386
board) and

.extern cyg_start
call      cyg_start

in the same file is point where we’ll start execute kernel. So I have
looked lines between this 2 calls (from “_start” to “cyg_start”), but
I couldn’t find source code for kernel (scheduler, clock, interrupt …)
initialization. I have looked to other external function call as well,
which are in other files. I think there should be such line of codes
(for init), but I’m having difficulties with finding them…

Is there any hint, to find init source code lines?
And to better understand general execution flow of eCos after
cyg_start function call?

Thanking in advance,
Nodir.

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [ECOS] Re: “Big image” of eCos initialization and work flow
  2009-06-25  8:52 [ECOS] “Big image” of eCos initialization and work flow Nodir Qodirov
@ 2009-06-29 16:13 ` Nodir Qodirov
  0 siblings, 0 replies; 2+ messages in thread
From: Nodir Qodirov @ 2009-06-29 16:13 UTC (permalink / raw)
  To: ecos-discuss

Sorry, after re-reading J.Massa's book I found that U was mistaken in

> When I have read book of J.Massa “Embedded software development with
> eCos” there was told that – kernel (scheduler, clock, interrupt …)
> gets fully initialized before cyg_start() method call which serves as
> HAL-to-kernel transition.

where kernel initialization starts after cyg_start() method found in
startup.cxx under "infra" package.

Now I came to know that function cyg_start() calls - cyg_prestart()
cyg_package_start() and cyg_user_start() where user can initialize his
own packages, create threads. But by default (=in eCos source code
without any configuration) these three functions don't do anything
like initialize scheduler, clock tick, interrupt handler.

Scheduler init starts from last call of cyg_start(), which is
Cyg_Scheduler::start() and this call is going to make all scheduler
(depending on configuration option), clock, interrupt init.

Am I following right direction? In order to understand
initialization/execution flow of eCos.

Thanks.

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-06-29 16:13 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-06-25  8:52 [ECOS] “Big image” of eCos initialization and work flow Nodir Qodirov
2009-06-29 16:13 ` [ECOS] " Nodir Qodirov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).