public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] What's i386/Linux synthesis target
@ 2000-01-24 12:29 James Peng
  2000-01-25  6:21 ` [ECOS] " Bart Veer
  0 siblings, 1 reply; 2+ messages in thread
From: James Peng @ 2000-01-24 12:29 UTC (permalink / raw)
  To: ecos-discuss

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 318 bytes --]




 
Hi 
all,
 
I am new to eCos. 
I've checked the documentation, but I am still confused 
about
what the i386/Linux 
target is. 
 
Is it an extension 
of Linux kernel? 
If it is, what is 
the difference between real-time Linux and eCos ?
 
Thanks.
James 
Peng
 
 
 
 

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

* [ECOS] Re: What's i386/Linux synthesis target
  2000-01-24 12:29 [ECOS] What's i386/Linux synthesis target James Peng
@ 2000-01-25  6:21 ` Bart Veer
  0 siblings, 0 replies; 2+ messages in thread
From: Bart Veer @ 2000-01-25  6:21 UTC (permalink / raw)
  To: pengj; +Cc: ecos-discuss

> I am new to eCos. I've checked the documentation, but I am still
> confused about what the i386/Linux target is.
 
> Is it an extension of Linux kernel?

No, the synthetic target is not an extension of the Linux kernel.
Instead it is a port of eCos to Linux.

Basically eCos has certain expectations of the hardware it is running
on, for example there should be some sort of interrupt system with
reasonable behaviour, usually there will be a timer, hopefully there
is some way of communicating back to the host machine for diagnostics
purposes e.g. via a serial line. When eCos runs on a real embedded
system it interacts directly with the hardware, e.g. the interrupt
controller. 

When eCos runs on the synthetic target it does not interact with any
hardware at all. Instead we fake up the necessary functionality. For
example, instead of having a timer chip generating interrupts we set
up an alarm signal using the equivalent of the alarm() system call,
and when the alarm goes off the eCos application receives a Unix
SIGALRM signal; the eCos synthetic target interrupt handling code
intercepts this signal and makes it appear as if there really was a
timer chip that generated a hardware interrupt. All code is compiled
for the ix86 rather than for whatever processor your final embedded
target uses.

There is a certain similarity between the synthetic target and a
simulator: both attempt to run the application in something that fakes
up real hardware. Application development is generally easier because
you do not have to mess up with real hardware all the time, thus
avoiding long download times and the like. Once the application
appears to be running happily on the simulator or the synthetic
target, then you can worry about getting it to work on the embedded
hardware your application is actually meant to run on. A simulator
will more closely resemble the embedded target, for example it will
actually target the right instruction set, but of course this makes it
slower.

Bart Veer // eCos net maintainer

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

end of thread, other threads:[~2000-01-25  6:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-01-24 12:29 [ECOS] What's i386/Linux synthesis target James Peng
2000-01-25  6:21 ` [ECOS] " Bart Veer

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).