This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Target same as host?
>>>>> "Mario" == Schuepany Mario <Mario.Schuepany@fh-hagenberg.at> writes:
Mario> Hi!
Mario> I have just started to work with eCos and try to get a running
Mario> version on my windows xp (cygwin) computer.
Mario> I have no additional hardware for a target system at the moment,
Mario> so I thought it should be possible to build a system with host
Mario> H-i686-pc-cygwin and target i386-elf and start the "hello world"
Mario> at the host pc.
Mario> The examples has been compiled successfully, but when I start hw
Mario> with gdb I get the following output:
Mario> -----------------------------------------------------
Mario> $ i386-elf-gdb helloWorld.o
Mario> GNU gdb 5.0
Mario> This GDB was configured as "--host=3Di686-pc-cygwin =
Mario> --target=3Di386-elf"...
Mario> (gdb) run
Mario> Starting program: /c/ecos/tests/mario/helloWorld/helloWorld.o
Mario> Don't know how to run. Try "help target".
Mario> -----------------------------------------------------
Mario> The complete tool chain has been compiled with target i386-elf.
There are a number of problems here.
1) helloWorld.o is presumably an intermediate object file, not an
executable. You have to link it appropriately for the target
hardware before you can run it. See the programming tutorial in the
Getting Started guide and/or the programming concepts section of
the User's Guide for more details.
2) even if you do produce an i386-elf executable, you cannot run this
on top of cygwin. Usually eCos applications run on bare hardware,
not on top of another operating system. There are a couple of
options:
a) if you have an old PC lying around you can use this as an
embedded target. This PC would not boot up into DOS or Windows
or anything like that. Instead you can make a boot floppy
containing a suitable RedBoot image, connect the old PC to your
main development machine via serial or ethernet, and load
eCos applications onto the bare PC. See the i386 PC Getting
Started guide for more details.
b) for some architectures (e.g. MIPS TX39) eCos can run on top of
an architectural simulator.
c) for Linux users there is the synthetic target, which does allow
you to run suitably-configured eCos applications as a Linux
process. Hardware facilities such as interrupts are emulated
using Linux signals and system calls. This functionality is
only available under Linux, porting it to Windows would require
a great deal of wrok.
Bart
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss