[ECOS] Target same as host?

Bart Veer bartv@ecoscentric.com
Mon Jan 6 00:23:00 GMT 2003

>>>>> "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

   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.


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

More information about the Ecos-discuss mailing list