TOPPERSの環境構築
 
&counter([total|today|yesterday]); - 0 - 0 - 14
 



コンパイル方法

以下のエラーが出た

h8300-hms-gcc -c  -mh -mint32 -mrelax -O2 -DLABEL_ASM   -DSUPPORT_INET4 -DSUPPOR
T_ETHER -DSUPPORT_TCP -DSUPPORT_UDP -DCPU_CLOCK=20000000 -DUSE_TCP_NON_BLOCKING
-DUSE_UDP_NON_BLOCKING -DUSE_TCP_ECHO_CLI -DUSE_UDP_ECHO_CLI -DUSE_TCP_DISCARD_C
LI -DUSE_UDP_DISCARD_CLI -DUSE_TCP_ECHO_SRV2 -DNUM_WWW_SRV_TASKS=2
 -DNUM_TCP_ECHO_SRV_TASKS=8      -DAKI_MONITOR -I. -I../include  -I../tinet/netd
ev/if_ed -I../tinet -I../config/h8/akih8_3069f -I../config/h8 -Wall -Werror ../t
inet/netapp/tcp_echo_srv2.c
../tinet/netapp/tcp_echo_srv2.c: In function `callback_nblk_tcp_echo_srv':
../tinet/netapp/tcp_echo_srv2.c:151: warning: comparison between signed and unsi
gned
../tinet/netapp/tcp_echo_srv2.c:191: warning: comparison between signed and unsi
gned
make: *** [tcp_echo_srv2.o] Error 1
[kaneko@g5 nserv]$

変数型のキャストを追加して・・・(kanekoでマーク)

h8300-hms-gcc  -mh -mint32 -mrelax -O2 -DLABEL_ASM   -DSUPPORT_INET4 -DSUPPORT_E
THER -DSUPPORT_TCP -DSUPPORT_UDP -DCPU_CLOCK=20000000 -DUSE_TCP_NON_BLOCKING -DU
SE_UDP_NON_BLOCKING -DUSE_TCP_ECHO_CLI -DUSE_UDP_ECHO_CLI -DUSE_TCP_DISCARD_CLI
-DUSE_UDP_DISCARD_CLI -DUSE_TCP_ECHO_SRV2 -DNUM_WWW_SRV_TASKS=2          -DNUM_T
CP_ECHO_SRV_TASKS=8      -DAKI_MONITOR -I. -I../include  -I../tinet/netdev/if_ed
 -I../tinet -I../config/h8/akih8_3069f -I../config/h8 -nostdlib  -Wl,-Map,jsp.ma
p -T ../config/h8/akih8_3069f/debug.ld -o jsp.exe \
                start.o  nserv.o netapp_subr.o dbg_cons.o wwws.o udp_echo_cli.o
udp_echo_srv.o udp_discard_cli.o tcp_echo_cli.o tcp_discard_srv.o tcp_discard_cl
i.o tcp_echo_srv2.o ping.o    net_buf.o net_count.o net_subr.o net_timer.o in_su
br.o tinet_cfg.o route_cfg.o ip_input.o ip_output.o ip_icmp.o if.o ethernet.o if
_ether.o if_ed.o tcp_input.o tcp_output.o tcp_usrreq.o tcp_subr.o tcp_timer.o ud
p_input.o udp_usrreq.o udp_output.o timer.o serial.o logtask.o log_output.o vasy
slog.o t_perror.o strerror.o kernel_cfg.o   -lc libkernel.a  -lgcc
h8300-hms-nm jsp.exe > jsp.syms
h8300-hms-objcopy -O srec -S jsp.exe jsp.srec
../cfg/chk -m jsp.syms,jsp.srec \
                -obj -cs jsp.chk -cpu h8 -system akih8_3069f
Program failed in its process by following reason.
  [Internel error] Memory read with unmapped address
make: *** [jsp.exe] Error 1
[kaneko@g5 nserv]$

なんじゃこりゃ?

高橋メモ

FDAU TOPPERS memo 2004/9/29 takahashi

  1. target
    AKI-H8/3069F-LAN
    CPU: H8-3069F CLK20MHz MODE5
    ROM: 内蔵512KB 000000h-007FFFh
    RAM: 内蔵 16KB FFBF20h-FFFF1Fh
    RAM: 外部DRAM 8bit幅 CS2 2MB 400000h-5FFFFFh
    RS232C: SCI0(JP1、線を引き出しDsub9を半田付け), SCI1(Dsub9)
    LAN: RTL8019AS 8bit幅 CS1 32B 200000h-20001Fh
  2. tool-chains
    elf形式の、CとC++のコンパイラをつくろうとしたが、 コンパイルできなかったので、あきらめる。 coff形式のCコンパイラを作成する。 TOPPERS/JSP kernel をコンパイルするには、これがあればいいらしい。 Cygwin環境にて構築
     binutils-2.13.2.tar.bz2
     gcc-3.2.1-core.tar.bz2
     h8300-hms-gcc-3.1-1.patch	http://h8300-hms.sourceforge.net/
     newlib-1.11.0.tar.gz
     gdb-5.2.1.tar.bz2
    1. binutils
      オプション --disable-nls (国際化メッセージ無効)はTOPPERS/JSPのカーネルの コンパイルに必要。
      tar xfj binutils-2.13.2.tar.bz2
      cd binutils-2.13.2
      mkdir objdir
      cd objdir
      ../configure --prefix=/usr/local --target=h8300-hms --disable-nls
      make CFLAGS="-O2 -fomit-frame-pointer" all
      make install
    2. gcc and newlib
      Cコンパイラ以外は必要ないのでgcc-coreを使う。 newlibは組み込み用ライブラリ コンパイルには、かなり時間がかかる。
      export PATH=$PATH:/usr/local/bin
      tar xfj gcc-3.2.1-core.tar.bz2
      tar xfz newlib-1.11.0.tar.gz
      cd gcc-3.2.1
      ln -s ../newlib-1.11.0/newlib .
      patch -p1 < ../h8300-hms-gcc-3.1-1.patch
      mkdir objdir
      cd objdir
      ../configure \
              --prefix=/usr/local --target=h8300-hms \
              --enable-languages=c --with-newlib
      make CFLAGS="-O2 -fomit-frame-pointer" all
      make install
    3. gdb
      TOPPERS/JSPカーネル構築に必要ないので後回しにしてよい。
       
      GDBのソースコードを展開したディレクトリ以下の ./gdb/config/h8300/tm-h8300.h を以下のように修正
      L62	#define TARGET_INT_BIT  32
      L155	#define ARGLAST_REGNUM	1
       
      tar xfj gdb-5.2.1.tar.bz2
      cd gdb-5.2.1
      mkdir objdir
      cd objdir
      ../configure --prefix=/usr/local --target=h8300-hms
      make CFLAGS="-O2 -fomit-frame-pointer" all
      make install
  3. TOPPERS/JSP kernel
    jsp-1.4.tar.gzを入手する。 http://www.toppers.jp/jsp-download.html documentはjsp/docにある。
    とりあえずコンパイルしてみる。
    最初にjsp/cfgに移動し、make cfg(.exe) と chk(.exe) を生成する。
    cd ../
    mkdir akih83hms
    cd akih83hms
    ../configure -C h8 -S akih8_3069f
    でコンフィグレーションされる。 configureはperlスクリプトなのでperlつかえないとダメ。
    make depend
    make
    で、カーネル(jsp.exeとjsp.srec)がmakeされる。
  4. TOPPERS/JSP-tinet
    tinet-1.2.tar.gzを入手する。

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS