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

Hiroshi Seki hi_seki @ ued.janis.or.jp
2005年 1月 28日 (金) 22:00:36 JST


(tab:4)
いつもお世話になっております。
関製作所 関です。

SH2 を用いた基板用に jsp kernel に乗り換え作業をしておりますが、
同様にサンプルプログラムのビルド時に最後のチェカープログラムで
エラーがでていました。

特に気にせずに使っていたのですが。本日メーリングリストに流れた
メール内容をもとに、ver1.4 のチェッカープログラムを使ってサンプル
プログラムをビルドしたところ。上記のエラーはなくなりました。

どこが違うのか、少し調べたところ、 /cfg/base/fc_binutils.cpp の
207 行目より、差分、


@@ -207,10 +210,6 @@
             ExceptionMessage("Program failed to convert the binary '%' into 
suitable style. Please specify a suitable TEXT file.",
                             "プログラムはバイナリファイル'%'の変換に失敗しまし
た。正しいテキストファイルを指定し直してください。")
                                 << filename << throwException;
-
-            /* テキストモードで開きなおす */
-        file.close();
-        file.open(filename.c_str(), ios::in);
     }



以下の2行が、jsp kernel(ver.1.4) から(ver1.41)では
違っていました。(減っていました。)

        file.close();
        file.open(filename.c_str(), ios::in);


差分ファイルを作ると他にも更新された部分はたくさんありましたが、
実際にチェッカープログラムをビルドし直て確認した結果、
私の環境では、(ver1.41)の/cfg/base/fc_binutils.cpp ファイルに
上記の2行を追加するとエラーが表示されなくなりました。

ただ、私もこのモジュール全体を通しての理解がまだ、全然できていないので、
本当にこの変更で、設計した方の意図する通りの動作をしているのか
よくわかりません。

一応、このような方法でも対処できる事例もあるとゆう程度に
ご参考までに、ご報告いたします。

浅はかな方法しか思いつかず、申し訳ございませんでした。



gcc		:2.95.3
biutils	:2.13.2.1
insight	:6.0

パソコン側
OS		:	Windows2000(SP5)
celeron	:	1.0MHz.
メモリ	:	512M Byte.
です。



Hiroshi Seki <hi_seki @ ued.janis.or.jp>




>お世話になります。
>みなさん回答ありがとうございました。
>
>いろいろ試してみようかと思います。結果はまた報告させていただきます。
>
>また、基本的な質問を1点させていただきたいのですが、コンパイル後京都マイクロ
>コンピュータのPARTNER−Jにてデバックしたいと考えているのですが、シンボリック
>デバックすることは可能なのでしょうか?
>PARTNER−JのABSファイルの作成は無理なのでしょうか?
>
>以上 よろしくお願いします。
>
>->-----Original Message-----
>->From: 田口@FreeLines [mailto:tagu @ freelines.co.jp]
>->Sent: Friday, January 28, 2005 9:00 AM
>->To: users @ toppers.jp
>->Subject: (toppers-users 1855) Re: Sh3(SH7729R)での開発環境(初心者)
>->
>->
>->お世話になります。
>->フリーラインズ田口です。
>->
>->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
>->>>
>->>>作成したファイルを見るとモトローラ形式のファイルは出来上がっていまし
>->た。
>->>>
>->>>よろしくお願いします。
>->
>->
>
>
>
>__________ NOD32 1.986 (20050127) 情報 __________
>
>このメールはNOD32によって検査済みです。
>http://canon-sol.jp