eCos Home

RedBoot Home

About eCos

Supported Hardware

Downloading and Installation



Mailing lists



Anonymous CVS

Contributions and Third Party Projects


eCos NanoX demo

This is a sample program, based on eCos for the Compaq iPAQ, running MicroWindows/NanoX.
The demo consists of:

  • nanowm - A [minimal] NanoX window manager
  • nxkbd - Keyboard popup
  • nxscribble - Handwriting recognizer demo
  • ntetris - NanoX version of classic Tetris game
  • landmine - NanoX version of landmine game

Building the demo application

The following components must be installed:

Building the eCos kernel

The eCos kernel can be built as follows. It is assumed that the arm-elf development tools are in your PATH, and that the environment variable ECOS_REPOSITORY is pointed at the eCos source tree.

    mkdir /tmp/ipaq_ecos
    cd /tmp/ipaq_ecos
    ecosconfig new ipaq net
    ecosconfig add romfs
    ecosconfig import NFD.ecm
    ecosconfig tree

Building MicroWindows/NanoX

    cd /tmp/ipaq_ecos
    mkdir nx
    cd nx
    tar xvzpf microwindows-0.89pre7.tar.gz
    cd microwin
    patch -p4 < nx.patch
    cd src

Note: this patch contains hard-wired path information in an effort to make building the initial demo simpler.

The executable should now be at /tmp/ipaq_ecos/nx/microwin/src/ecos/ecos_app.. This needs to be converted to binary format and compressed with gzip:

    arm-elf-objcopy -O binary /tmp/ipaq_ecos/nx/microwin/src/ecos/ecos_app nanoxdemo
    gzip nanoxdemo

Building the eCos NanoX ROM filesystem

  • Build the ROM file system, using a local directory for staging:
    mkdir /tmp/rom_fs
    mkdir /tmp/rom_fs/bin
    cp redhat.logo /tmp/rom_fs
    cp /tmp/ipaq_ecos/nx/microwin/src/bin/*.cl /tmp/rom_fs/bin
  • Build the mk_romfs application:
    mkdir /tmp/mkromfs
    cd /tmp/mkromfs
    cp ${ECOS_REPOSITORY}/fs/rom/current/support/* .
  • Create the ROM file system image, as needed by the eCos application:
    cd /tmp
    /tmp/mkromfs/mk_romfs -v /tmp/rom_fs ecosromfs
    gzip ecosromfs
  • The file /tmp/ecosromfs.gz can now be used by the eCos demonstration.