(toppers-users 418) TOPPERS/JSP のインストール ( =?ISO-2022-JP?B?GyRCJD0kTiMyGyhC?=)

長菱エンジニアリング 小松 kom_ce @ ngsrdc.mhi.co.jp
2002年 6月 10日 (月) 11:11:52 JST


北海道立工業試験場の堤様
豊橋技術科学大学の若林様

小松@長崎です。
JSPカーネル のインストールに関するアドバイス有難うございました。
インストール状況を報告します。
若林様のご提案(jsp/cfg/mpstrstream.h:61付近 - protectedの位置を入れ替える。)
を採用させて頂きました。 
何回,トライしてもgcc-2.95.3コンパイラがダウンロードできなかったためです。
(色々なミラーサイトを試みましたがIEが応答なしの状態になりますので諦めました。)
 
1.まず、Red Hat Linux release7.2 kernel 2.4.7-10でインストールを行いました。
  確かに、前回のエラーは解消されましたが、次のステップでエラーが発生して、サンプル
  プログラムのロードモジュール(jsp)は生成されませんでした。
 GCCコンパイラのバージョンはgcc-2.96-98です。

 %cd ~/TOPPERS/jsp/OBJ
 %make depend
 %make

 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../systask ../systask/linux_serial.c
 ../systask/linux_serial.c:173: `SEM_SERIAL1_IN' undeclared here (not in a function)
 ../systask/linux_serial.c:173: initializer element is not constant
 ../systask/linux_serial.c:173: (near initialization for `spcb_table[0].in_semid')
 ../systask/linux_serial.c:173: `SEM_SERIAL1_OUT' undeclared here (not in a function)
 ../systask/linux_serial.c:173: initializer element is not constant
 ../systask/linux_serial.c:173: (near initialization for `spcb_table[0].out_semid')
 ../systask/linux_serial.c: In function `sigint_handler':
 ../systask/linux_serial.c:290: warning: implicit declaration of function `exit'
 make: *** [linux_serial.o] エラー 1

2.次に、Red Hat Linux release7.1 kernel 2.4.2-2でインストールを行いました。
  GCCコンパイラのバージョンはgcc-2.96-81です。
    すると、サンプルプログラムのロードモジュール(jsp)は生成されました。

 $cd ~/TOPPERS/jsp/OBJ
 $make depend
 $make 

 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../kernel ../config/linux/start.c
 cpp -I. -I../include -I../config/linux -I../config/linux/    sample1.cfg | ../cfg/cfg -s -c \
			-cpu linux -system  -obj
 --- mITRON4.0 Kernel Configurator (ver 9.0) for [TOPPERS/JSP rel 1.3] ---
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../kernel kernel_cfg.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../systask ../systask/timer.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../systask ../systask/linux_serial.c
 ../systask/linux_serial.c: In function `sigint_handler':
 ../systask/linux_serial.c:290: warning: implicit declaration of function `exit'
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../systask ../systask/linux_sigio.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../systask ../systask/logtask.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../systask ../libjsp/vasyslog.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../systask ../libjsp/jsp_perror.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../systask ../libjsp/strerror.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall  sample1.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../kernel ../kernel/startup.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../kernel ../config/linux/cpu_config.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../kernel ../config/linux/sys_config.c
 ../config/linux/sys_config.c: In function `_kernel_sys_exit':
 ../config/linux/sys_config.c:56: warning: implicit declaration of function `exit'
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../kernel ../kernel/task.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../kernel ../kernel/wait.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../kernel ../kernel/time_event.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../kernel ../kernel/syslog.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../kernel ../kernel/task_manage.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../kernel ../kernel/task_sync.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../kernel ../kernel/task_except.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../kernel ../kernel/semaphore.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../kernel ../kernel/eventflag.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../kernel ../kernel/dataqueue.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../kernel ../kernel/mailbox.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../kernel ../kernel/mempfix.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../kernel ../kernel/time_manage.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../kernel ../kernel/cyclic.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../kernel ../kernel/sys_manage.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../kernel ../kernel/interrupt.c
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../kernel ../kernel/exception.c
 rm -f libkernel.a
 ar -rcs libkernel.a  startup.o cpu_config.o sys_config.o task.o wait.o time_event.o syslog.o task_manage.o task_sync.o 
 task_except.o semaphore.o eventflag.o dataqueue.o mailbox.o mempfix.o time_manage.o cyclic.o sys_manage.o interrupt.o 
 exception.o
 gcc -c      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../kernel ../kernel/banner.c
 gcc -S      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall -I../kernel kernel_chk.c 
 ../utils/gencheck kernel_chk.s > jsp.chk
 gcc      -I. -I../include -I../config/linux -I../config/linux/ -g -Wall   -o jsp start.o banner.o kernel_cfg.o  timer.o
 linux_serial.o linux_sigio.o logtask.o vasyslog.o jsp_perror.o strerror.o  sample1.o    libkernel.a   -lgcc
 ../cfg/chk jsp -cs jsp.chk \
 			-cpu linux -system  -obj
 --- TOPPERS/JSP Configuration Checker (ver 2.0) ---
   Target architecture : elf32-i386
 No error found in current configuration

 jspを実行しました。 その時のログです。

 $cd ~/TOPPERS/jsp/OBJ
 $./jsp 

 JSP Kernel Release 1.3 (patchlevel = 0) for Linux (Jun  9 2002, 11:09:41)
 Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
                            Toyohashi Univ. of Technology, JAPAN

 Serial driver service starts on port 1.
 System logging task is started on port 1.
 Sample task starts (exinf=0).
 task1 is running (001).   |
 task1 is running (002).   |
 task1 is running (003).   |
         .
         .
         .

 質問1:Red Hat Linux release7.2の場合、エラーを回避する方法はないのでしょうか。

 質問2:Red Hat Linux release7.1の場合、JSPのインストールはOKなのでしょうか。

 質問3:Linuxシミュレーション環境を習得する時、参考にするコキュメントはdocディレクトリ配下の
     「user.txt」と「linux.txt」だけでしょうか。

 以上、宜しくお願い致します。





























私も小松さまと同じ動作環境(Red Hat Linux release7.2 kernel 2.4.7-10)の
ため、同様のエラーが発生しました。
原因がよくわからないので、根本的な解決ではありませんが、バージョンの違う
コンパイラ(gcc-2.95.3)を使って回避しております。
参考にしてください。

また、今井さまからの(toppers-users 414)にありましたSH2依存部はJSP-1.3に
も使えます。

> TOPPERS ML ユーザさま
> 
>  はじめまして。小松@長崎と申します。
>  TOPPERS/Release1.3(jsp-1.3.tar.gz)をダウンロードして
>  動作環境:Red Hat Linux release7.2 kernel 2.4.7-10上でシュミレーション環境を構築中です。
>  下記エラーが発生しましたので教えて下さい。
>  はじめてで、何もわかりません。宜しくお願い致します。
> 
>  質問1:動作環境はVine LinuxかDebian GNU/Linuxでないと駄目なのでしょうか。
>  質問2:config/(ターゲット依存部)にSH2プロッセサ依存ファイルがないのですが

** Cut quoted 25 lines by the mail filter. **
です。

 > 質問1:動作環境はVine LinuxかDebian GNU/Linuxでないと
 >    駄目なのでしょうか。

この問題は、gcc-3.0以降をお使いの際に起こる障害と把握しています。

この問題を回避するには、ソースコードを次のように修正してください。

jsp/cfg/mpstrstream.h:61付近 - protectedの位置を入れ替える
--- 修正前 ---
protected:
	struct tagStreamPartInfo
	{
		 ...省略...
	};

	std::string filename;
--- 修正後 ---
	struct tagStreamPartInfo
	{
		 ...省略...
	};

protected:
	std::string filename;
--------

以上 ご参考になれば幸いです。

----
長菱エンジニアリング 小松  kom_ce @ ngsrdc.mhi.co.jp