(toppers-users 1855) Re: Sh3(SH7729R)での開発環境(初心者)

"田口@FreeLines" tagu @ freelines.co.jp
2005年 1月 28日 (金) 09:00:23 JST


お世話になります。
フリーラインズ田口です。

2-3週間前にTOPPERS会員用MLに私も同様の問題で質問を投げたことが
あります。私の場合もH8でした。その後(亀並みの速度ですが)もう少し
詳しく調べてみると必ずしもツールのバージョンの組み合わせの問題や
デバック環境の指定の差だけではないような感じです。
#もう少し調べてから会員用MLにも報告しようと思っていましたが、
#こちらに同じ話題が出たので先にお伝えします。

私の場合、とりあえずツールのバージョンは変えずにいくつかのPCで
試してみました。

 使用ツールのバージョン
  CygWin 1.3.12-2
  gcc 2.95.3
  binutils 2.11.2
  newlib 1.9.0

この組み合わせで以下のPC環境で試してみました。
このバージョンの組み合わせはjsp1.3〜1.4でずっと問題なく使ってきた
組み合わせです。

 自宅PC(Win2k/SP1-Celeron1G, 128M_RAM):ERROR
 会社PC-A(WinXpPro/SP2-Celeron2G, 512M_RAM):OK
 会社開発PC-A(Win2k/SP4-Athlon600M, 128M_RAM):ERROR
 会社開発PC-B(Win2k/SPなし-Pen4_1.6G, 256M_RAM):ERROR
 Libretto L1 060TNMM(Win2k/SP4-crusoe600M, 128M_RAM):OK
 Dynabook Satellite(WinXpPro/SP2-Celeron2.5G, 240M_RAM):ERROR

という結果です。
ツールのバージョンがまったく同じでも、DBGENVが同じ指定でもPCに
よってエラーになる/ならないが変わります。
OSがXPや2Kかとか、SPレベルの問題でもなさそうです。CPUやメモリ量も
関係なさそうで、HDD空き容量も十分にあります。

ただ...エラーにならなかった会社PC-AとLibrettoは、今年に入ってから
OSを新規にインストールしなおしたマシンで、比較的きれいな状態の
マシンです。他のPCはすでに1年以上継続的に使用してきたマシンで
開発ツールやいろいろなソフトウェアが入っているマシンです。
では、エラーになったPCに同じOSとSPを新規に入れなおしてみて、それ
でエラーが出るのか、出なくなるのか? をこれから試してみようと
思っています。

現状では何の問題解決にもなっていませんが、とりあえず回避方法として
宿口さんからの情報にあるように、チェッカーをmakefileから外して
しまう(エラーを無視する)という方法の他、jsp1.4のチェッカーを使う
という方法もあります。(もなかさんからの情報です)

以上ご参考になれば。



At 18:45 05/01/27, Manabu Wada wrote:
>
>はじめまして和田と申します。
>
>ターゲットは違うのですが、CygwinからH8用にJSP1.4.1のサンプルをビルドした
>時に同じようなエラーが出たことがありましたので、ご参考までに
>
>私の場合は、北海道立工業試験場の堤様から、開発環境のバージョンの組み合わ
>せを変えてみてはという助言をいただき、試してみたところ解決しました。
>
>
>☆エラーが出た状況
>JSP1.4.1のサンプルをmakeしてみたところ、srecは生成され実行も
>できるが、make時に毎回エラーメッセージが表示される
>使用DBGENVは TNCT_MONITORとしました。
>
>Targetボード:秋月H8-3052F
>開発環境
>[ホスト]
> WindowsXP SP2
> Cygwin:1.5.12
> ネイティブGCC:3.3.3
>
>[H8用クロス]
>gcc-3.4.2
>binutils-2.15
>newlib-1.12.0
>
>make時のエラーメッセージ:以下は抜粋です。
>-----------------------------------------------------
>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_3052f
>Program failed in its process by following reason.
>  Internal error: Unknown symbol (Probably, Symbol table was stripped)
>make: *** [jsp.exe] Error 1
>-----------------------------------------------------
>同じですよね。
>
>jsp.symsファイルの中を確認すると
>
>:
>0022722c b ___stack_MAIN_TASK
>0022662c b ___stack_TASK1
>00226a2c b ___stack_TASK2
>00226e2c b ___stack_TASK3
>:
>
>のようなシンボルテーブルがありますので、シンボルテーブルは作成され
>ているように見えます。
>
>☆エラーが出なくなった開発環境のバージョンの組み合わせ
>binutils-2.14
>gcc-3.2.3
>newlib-1.12.0
>
>根本的な原因はわからなかったのですが、とりあえずその後問題なく使えて
>おります。
>
>何かの手がかりになれば幸いです。
>
>>
>>はじめまして杉沢と申します。
>>まったくの初心者であります。
>>サンプルのプログラムをコンパイルしたいのですがエラーが出てしまい困っておりま
>>す。
>>過去ログ、ドキュメント類を見ながら試行錯誤していますが、原因がよくわかりませ
>>ん。
>>開発はWindowsXP上で行い、ターゲット 日立 Sh3(SH7729R) ICEは京都マイクロ
>>コンピュータ Partner-Jでデバックを考えています。
>>
>>以下の手順で開発環境作成、コンパイルを行いました。
>>
>>1.Windows上にCygwin(Ver1.2.12-1)のインストール
>>2.開発環境のインストール www.toppers.co.jp のあるSH用のバイナリ
>>(gnu_cygwin_sh.tar.gz)をダウンロードし Cygwinの /usr/local で展開する。 
>>.bashrc にexport path=/usr/local/sh/bin:${PATH}を追加する。
>>3.JSPのソースコード(Ver1.4.1)をダウンロードし /home/XXX/ で展開する。
>>4./home/XXX/cfg ディレクトリーにて make depend , make を実行
>>5./home/XXX/OBJ ディレクトリーを作成して
>>  perl ../configure -C sh3 -S solution_engine を実行
>>  makefile を DBGENV := PARTNER_J と修正
>>6./home/XXX/OBJ にて make depend , make と実行
>>  すると以下のようなエラーが発生してしまいます。
>>
>>エラー内容(最後の部分)
>>      :
>>sh-hitach-elf-nm jsp.exe > jsp.syms
>>sh-hitach-elf-objcopy -0 srec -S jsp.exe jsp.srec
>>../cfg/chk -m jsp.syms,jsp.srec \
>>     -obj -cs jsp.chk -cpu sh3 -system solution_engine
>>Program failed in its process by following reason.
>>  Internal error:Unknown symbol (Probably,symbol table was stripped)
>>make:***[jsp.exe] Error 1
>>
>>作成したファイルを見るとモトローラ形式のファイルは出来上がっていました。
>>
>>よろしくお願いします。