
kaffe eCos/mips ւ̃NXRpC菇                    

                                                       2005.01.27 NIC
 
 
  00. ͂߂
 
  01. eCos ̃RpC
    01-1. eCos \[X̃_E[h
    01-2. Configuration Tool ̃_E[h
    01-3. kaffe packages ̑gݍ
    01-4. eCos ̃RpC
 
  02. kaffe ̃NXRpC
    02-1. mipsel-elf svt@C (newlib֌W) ̍폜
    02-2. kaffe for eCos \[X̃_E[h
    02-3. CXg[XNvg (kaffe_build.sh) ̏C
    02-4. kaffe for eCos ̃NXRpC
    02-5. kaffe for eCos  Ultimodule ɂēmF
 
 
 

00. ͂߂                                                      

 
 ̃eLXǵAcygwin ɂ kaffe  mips/eCos p
 NXRpC邽߂̎菇܂Ƃ߂̂łB
 
 ܂ANXRpCɂđOB
 
   EeCos  Configration Tool  mipsel-elf ρB
   EgpRpC mipsel-elf ͈ȉ̗lɃ}EgĂB
 
     c\mipsel-elf  /opt/ecos/gnutools/mipsel-elf
 
 
 ܂Akaffe ̃\[XQɂ͎̃t@C܂܂ĂȂ̂ŕʓrpӁB
 
   Ecurrent.ect
 
 
 

01. eCos ̃RpC                                             

 
 01-1. eCos \[X̃_E[h
 
    _E[ĥ́A"/opt/ecos" ȉɓWJ
 
   $ export CVSRSH="ssh"
   $ cvs -d :ext:ryos@sitek02.exorint.net:/data/cvsprojects/ecos-scmxx
   pass : 04
 
 
 01-2. Configuration Tool ̃_E[h
 
     http://www.ecoscentric.com/
 
   ELTCg [DevZone][Configuration Tool] ֈړB
   E"Downloading snapshots and source code" ̍A
     "eCos Configuration Tool version 2 for Windows" _E[hB
 
 
 01-3. kaffe packages ̑gݍ
 
   Eȉ URL _E[hACӂ̏ꏊ։
 
     http://sourceforge.net/project/showfiles.php?group_id=96658
     
     t@C : kaffe_ecos_2_0Beta.epk
 
 
   (a) Configuration Tool 𗘗pđgݍޏꍇ
 
     EConfiguration Tool 
 
         [Tools]  [Administration]
 
        [add] I *.epk I邱Ƃɂđgݍ܂B
 
 
   (b) 蓮őgݍ܂
 
     Ekaffe_ecos_2_0Beta.epk Kȏꏊ։𓀂B
 
     Epkgadd.db eLXgGfB^ŊJA̓e
       c/packages/eCos.db ̖֒ǋLB
 
     Ekaffe ̃fBNg c/packages փRs[B
 
 
   Ekaffe p̃ev[g(Wł͊܂܂ĂȂ)ǉ
 
     Ec/packages/templates  "_kaffe_complete" ̂悤
       fBNg쐬B
 
     E쐬fBNg current.ect Rs[B
 
 
 01-4. eCos ̃RpC
 
   EConfiguration Tool ňȉ̐ݒ eCos RpCB
 
     1. Repository : _E[h eCos WJꏊw
     2. Templates  : SCM20 board / _kaffe_complete ƑI
     3. Save as    : ~/eCosBase ȉɃ{[hƃev[g悤
                     Otĕۑ
 
   Ej[A[Library] s邱ƂŃRpCJnB
 
     ɃG[ȂǂȂ΁A~/eCosBase ȉ
     eCos ̃IuWFNgB
 
 

02. kaffe ̃NXRpC                                      

 
 02-1. mipsel-elf svt@C (newlib֌W) ̍폜
 
   EeCos Ɋ܂܂郉Cu𗘗pׂ̏uB
   Eȉ̕svƂt@C "S" 폜B
 
     [svt@C]
     -------------------------------------------------
     libc.a, libg.a, libm.a, libnullmon.a, libiberty.a
     libpmon.a, liblsi.a
     -------------------------------------------------
 
     $ find c/mipsel-elf -name xxxxx.a | xargs rm -f
 
 
 02-2. kaffe for eCos \[X̃_E[h
 
   Eȉ URL _E[hACӂ̏ꏊ։
 
      http://sourceforge.net/project/showfiles.php?group_id=96658
      
      t@C : kaffe-1.0.7_for_eCos-2.0.tar.gz
 
 
 02-3. CXg[XNvg (kaffe_build.sh) ̏C
 
   Edvȃ|Cg͊ϐ configure ̃IvV
   Et@C̃Rgɏ]eɍ킹ēKC
 
   []
   --------------------------------------------------------------------------
   #!/usr/bin/sh

   # [UƂ̊ɂ̂œKύX邱
   whereis_ecosbase="/home/NIC/eCosBase/kaffe_complete_scm20_install"

   # mipsel-elf  include pXT
   whereis_mipsel_elf="`which mipsel-elf-gcc`/../../"
   whereis_gcclib="`find ${whereis_mipsel_elf} -type d -name include | grep gcc-lib`"

   # ̃fBNg kaffeh T
   whereis_kaffeh="`pwd`/`find . -name kaffeh_for_*.exe`"

   # ϐݒ
   export KAFFEH=${whereis_kaffeh}
   export ECOS_ENV_DIR=${whereis_ecosbase}

   export LDFLAGS="-nostartfiles -Ttarget.ld -nostdlib -L$ECOS_ENV_DIR/lib "
   export OPTS="-O2 -Wall"
   export CFLAGS="-march=r3000 -mtune=r3000 -mel -G0 -msoft-float $OPTS"
   export CPPFLAGS="-I$ECOS_ENV_DIR/include -nostdinc -D__ECOS"

   export COMMAND_PREFIX=mipsel-elf

   export CC=$COMMAND_PREFIX-gcc
   export LD=$COMMAND_PREFIX-ld
   export NM=$COMMAND_PREFIX-nm
   export AR=$COMMAND_PREFIX-ar
   export RANLIB=$COMMAND_PREFIX-ranlib
   export CPP=$COMMAND_PREFIX-cpp
   export OBJCOPY=$COMMAND_PREFIX-objcopy
   export OBJCOPY_OUT_BFDNAME=elf32-littlemips
   export EXEEXT=.exe

   # Jn
   mv -f config.cache config.cache.old
   make clean

   sh configure --with-engine=intrp --with-includes=${whereis_gcclib} mipsel-dummy-ecos

   make
   --------------------------------------------------------------------------
 
 
 02-4. kaffe for eCos ̃NXRpC
 
   $ ./Build_eCos+kaffe.sh
   
   $ make
 
 
 02-5. kaffe for eCos  Ultimodule ɂēmF
 
   Ekaffe  Ultimodule ŎsB
 
     $ mipsel-elf-gdb c/kaffe/kaffe/kaffe_bin
 
     (gdb) target remote 192.168.0.xxx:9000
     (gdb) load
     (gdb) cont
 
   EsāA"Hello Kaffe" ƕ\ΐB
 
 
