...

SuperH RISC engine C/C++ Compiler Simulator Package

by user

on
Category: Documents
12

views

Report

Comments

Transcript

SuperH RISC engine C/C++ Compiler Simulator Package
平成13年7月9日
日立ソフトウェアエンジニアリング株式会社
〒231-0015 横浜市中区尾上町6丁目81番地
TEL (045)681-2111(大代表)
SuperH RISC engine
C/C++ Compiler Simulator Package
Windows®版V6.0Ar1
ソフトウェア添付資料
HSK-02952
はじめに
今回納入致しますSuperH RISC engine C/C++ Compiler Simulator Package について説明致します。
目 次
1.記録媒体
------------------------------------------
1
2.インストール方法 ----------------------------------
1
3.使用上の注意事項 ----------------------------------
2
4.ソフトウェアマニュアル一覧 -------------------------
3
5.メモリ所要量及びディスク占有量 --------------------
3
6.アップデート内容 -----------------------------------
4
7.一時的制限事項 -------------------------------------
5
8.マニュアル正誤表 -----------------------------------
5
9.テクニカルサポート ---------------------------------
5
付録1-1 V6.0Aアップデート内容
付録1-2 V6.0Ar1アップデート内容
付録2-1 ご使用上の注意事項
付録2-2 SH7055使用上の注意事項
付録2-3 SuperH RISC engine シミュレータ・デバッガ 制限事項
付録3 「SuperH RISC engine C/C++コンパイラ、アセンブラ、最適化リンケージエディタ
ユーザーズマニュアル」正誤表
All Rights Reserved, Copyright (C) 1992,2000,
Hitachi, Ltd.,
Hitachi Software Engineering Co., Ltd.,
Hitachi ULSI Systems Co., Ltd.
1.記録媒体
本パッケージはCD-ROM 1枚で提供します。
本CD−ROMにより、日立統合開発環境と、関連マニュアルを参照するためのソフトウェア
(Acrobat® Reader)をインストールすることができます。
Acrobat® Reader copyright © 1987-1999 Adobe Systems Incorporated. All rights reserved.
AdobeおよびAcrobatはアドビシステムズ社の商標で特定の法域で登録されています。
2.インストール方法
2.1 インストール
以下の手順でインストールを実行します。インストールは、実行中のアプリケーションをあらかじめ
終了させてから実行してください。
なお、HEW Ver.1.2は、Ver.1.0xと共に使用できません。
HEW Ver.1.0xで作成したプロジェクトをそのまま使いたい場合は、HEW1.1xにアップグレード
してからHEW1.2をインストールしてください。
2.1.1 統合開発環境のインストール
(1) 統合開発環境のCD-ROMをCD-ROMドライブに挿入します。(以下、仮にDドライブとします)
(2) Windows®スタートメニューの[ファイル名を指定して実行...]をクリックします。
(3) CD-ROMのルートディレクトリにあるSETUP.EXEを[ファイル名を指定して実行]ダイアログボッ
クスで指定し(例D:¥setup.exe)、[OK]をクリックします。
(4) 画面に表示されるインストールの指示に従います。
統合開発環境のインストールの注意事項:
(1) 統合開発環境は半角英数字と半角下線のみからなるディレクトリパスにインストールしてく
ださい。特に、全角文字や空白のないディレクトリパスを使用してください。
(2) HEWをHitachi Integration Managerと同じディレクトリにインストールしないでください。
(3) Hitachi Embedded Workshop及びSuperH RISC engineシミュレータ・デバッガ付きHitac
hi Debugging Interfaceは各PCのドライブにインストールしてください。複数部数のライセン
スをご購入の場合、ツールチェイン、ライブラリアンインタフェース、オンラインマニュアル
はネットワークドライブにインストール可能です。他のPCでインストールしたツールチェイン、
ライブラリアンインタフェースを自分のPCに登録する方法はHitachi EmbeddedWorkshopユ
ーザーズマニュアル5章「ツール管理」を参照してください。
(4) HEWをインストールした直後に[Hitachi Embedded Workshop]がWindows® スタートメニューの
[プログラム]の中に表示されない場合はWindows®を再起動してください。
(5) Windows® 98でインストール中にインストーラが異常終了した場合、コンピュータを再起動し
てから再度インストールしてください。
2.1.2 Acrobat® Readerのインストール
(1) 統合開発環境のCD-ROMをCD-ROMドライブに挿入します。(以下、仮にDドライブとします)
(2) Windows®スタートメニューの[ファイル名を指定して実行...]をクリックします。
(3) CD-ROMの[PDF_Read¥Japanese]ディレクトリにあるAr40jpn.exe (日本語版)または
[PDF_Read¥English] ディレクトリにあるAr40eng.exe (英語版)を[ファイル名を指定して実行]
ダイアログボックスで指定し(例D:¥PDF_Read¥Japanese¥Ar40jpn.exe)、[OK]をクリックします。
(4) 画面に表示されるインストールの指示に従います。
- 1 -
注意:Windows®2000環境でインストール中にエラーが発生した場合は、アドビシステムズ社のWebサイト
より、Acrobat® Reader5をダウンロードしてインストールしてください。
詳しくは、以下のURLを参照ください。
http://www.adobe.co.jp/
(2001.06現在)
2.2 プログラムの削除
インストールしたプログラムは以下の手順で削除します。削除は、実行中のアプリケーションをあ
らかじめ終了させてから実行してください。
2.2.1 統合開発環境の削除
(1)Windows®スタートメニューの[設定]の中にある[コントロールパネル]をクリックします。
(2) [アプリケーションの追加と削除]アイコンをダブルクリックします。
(3) [セットアップと削除]タブから[Hitachi Embedded Workshop]をクリックし、[追加と削除]ボ
タンをクリックします。
(4) 画面に表示される指示に従います。
2.2.2 Acrobat® Readerの削除
(1)Windows®スタートメニューの[設定]の中にある[コントロールパネル]をクリックします。
(2) [アプリケーションの追加と削除]アイコンをダブルクリックします。
(3) [セットアップと削除]タブから[Adobe Acrobat 4.0]をクリックし、[追加と削除]ボタンをク
リックします。
(4) 画面に表示される指示に従います。
2.3 プログラムの起動または終了
2.3.1 統合開発環境の起動と終了
・起動:Windows®スタートメニューの[プログラム]の中にある[Hitachi Embedded Workshop]メニ
ュー内の[Hitachi Embedded Workshop]をクリックします。
・終了:HEWの[File]メニューの[Exit]をクリックします。
2.3.2 オンラインマニュアルおよび添付資料の参照
・オンラインマニュアルをインストールした場合
Windows®スタートメニューの[プログラム]の中にある[Hitachi Embedded Workshop]メニュー内
のPDFファイルOnline Manuals [SuperH] –English(xx xx)(英語版)または
Online Manuals [SuperH] –Japanese(xx xx)(日本語版)をクリックします。(xx xxは、年月
のキーワードを表示しています)
(例 Online Manuals [SuperH] -Japanese(99 06))
・オンラインマニュアルをインストールしていない場合
(1) 統合開発環境のCD-ROMをCD-ROMドライブに挿入します。(ここでは、仮にDドライブとしま
す)
(2) Windows®スタートメニューの[ファイル名を指定して実行...]をクリックします。
(3) CD-ROMの[Manuals]ディレクトリにある,jSH_xxxx.PDF(日本語版)またはeSH_xxxx.PDF(英
語版)(xxxxは、年月のキーワードを表示しています)を[ファイル名を指定して実行]ダイ
アログボックスで指定し(例D:¥Manuals¥jSH_9906.PDF)、[OK]をクリックします。
3.使用上の注意事項
必要な機器構成は以下の通りです。
- 2 -
・ホストコンピュータ:IBM PC互換機、PC-9800シリーズ機
(CPU:日本語Windows®95、Windows®98、WindowsNT®4.0またはWindows®2000が動作するもの)
・OS:日本語Windows®95、Windows®98、WindowsNT®4.0またはWindows®2000
・ディスプレイ:SVGA以上
・I/O装置:CD-ROMドライブ
・その他:マウス等のポインティングデバイス
IBM PCは、米国IBM社により管理されている計算機の名称です。
PC-9800シリーズは、日本電気(株)により管理されている計算機の名称です。
Windows®、Windows®95、Windows®98、WindowsNT®およびWindows®2000は、米国マイクロソフト社により管理されているオ
ペレーティングシステムの名称です。
4.ソフトウェアマニュアル一覧
以下にCD-ROMに添付しているマニュアルの一覧を示します。
表1 ソフトウェアマニュアル一覧
項番
資 料 名
型 名
1
Hitachi Embedded Workshop ユーザーズマニュアル
HS6400EWIW1SJ
2
SuperH RISC engine C/C++コンパイラ、アセンブラ、
HS0700CLCS6SJ
最適化リンケージエディタユーザーズマニュアル
3
SuperH RISC engine シミュレータ・デバッガ ユーザーズマニュアル
HS0700SDIW7SJ
4
SuperH RISC engine Hitachi Embedded Workshop,
HS0700EWIW1SJ
Hitachi Debbugging Interface チュートリアル
5
Hitachi Embedded Workshop 注意事項
6
アセンブラ、
P0700ASM5-S2
標準ライブラリ構築ツール 注意事項
PTSLG-N1
SuperH RISC engine シミュレータ・デバッガ注意事項
P0700WSD7-N4J
7
HS6400EWIW1SJ-RN001101
上記の他に以下の資料を同梱しております。(本資料)
SuperH RISC engine C/C++ Compiler Simulator Package ソフトウェア添付資料
5.メモリ所要量及びディスク占有量
・メモリ容量:64MB以上を推奨
・ディスク容量:統合開発環境:空き容量100MB以上(フルインストールに必要な容量)
Acrobat® Reader:空き容量10MB以上
- 3 -
6.アップデート内容
6.1 Ver5.1 → Ver.6.0
(1) SH7615、SH7751用プロジェクトデータの追加
新たに SH7615用およびSH7751用のプロジェクト生成を追加しました。
(2) SH1、SH2用割り込みベクタのC言語対応
SH1、SH2系のベクタテーブルをC言語記述に変更しました。
(3) 新オブジェクト形式のサポート
C++デバッグ機能を備えた標準ELF/DWARF2フォーマットをサポートしました。
(4) 制限値の拡張
・シンボル長の制限を251文字から無制限へ拡張しました。
・シンボル数の制限を32,768から無制限へ拡張しました。
・ソースプログラム行数の制限を32,767から無制限へ拡張しました。
・Cプログラム文字数の制限を512文字から32,766文字へ拡張しました。
・アセンブリプログラム行長の制限を255文字から8,192文字へ拡張しました。
・サブコマンド行長の制限を512文字から無制限へ拡張しました。
(5) ディレクトリ名、ファイル名のハイフン(-)指定
ディレクトリ名、ファイル名にハイフン(-)を指定できるようになりました。
(6) ANSI/ISO C++フルサポート
ISO仕様に準拠し、テンプレート、例外処理をサポートしました。
(7) 最適化リンケージエディタの改善内容
・従来のリンケージエディタ(lnk)、モジュール間最適化ツール(optlnksh)、ライブラリアン(lbr)、 オブ
ジェクトコンバータを統合しました。
・日立デバッガ出力のprofile情報に基づいたcasche最適化をサポートしました。
・binaryファイルを入出力できるようになりました。
また、インテルHEXタイプファイルも出力できるようになりました。
・ファイル名、startオプションのセクション名にワイルドカードを指定できるようになりました。
・logo/nologoオプション(起動メッセージの出力有無指定)をサポートしました。
・information/warning/errorメッセージのレベル、出力有無を指定できるようになりました。
・リスト表示を改善しました。(アドレス昇順、シンボルサイズ表示)
(8) 日立統合化ツールの改善内容(Windows®版)
・スタック解析ツールを搭載しました。(UNIX版にも添付しています。)
・ビルド実行時のエラーヘルプ機能をサポートしました。
・市販バージョン管理ツール(Microsoft VSS)のコマンドをツールバーで標準サポートしました。
・標準ライブラリのカスタム構築機能をビルドフェーズとしてサポートしました。
- 4 -
(9) シミュレータ・デバッガの改善内容(Windows®版)
・ANSI/ISO C++ソースデバッグ機能をサポートしました。
・新オブジェクトフォーマットをサポートしました。
・スタックトレース機能を強化しました。
・プロファイル機能をサポートしました。
・SH7750R、SH2DSPのCPUに対応しました。
6.2 Ver6.0 → Ver6.0A
以下の付録を参照ください。
「付録1-1 V6.0A アップデート内容」
6.3 Ver6.0A -> Ver6.0Ar1
以下の付録を参照ください。
「付録1-2 V6.0Ar1 アップデート内容」
7.一時的制限事項
以下の付録を参照ください。
「付録2-1 ご使用上の注意事項」
「付録2-2 SH7055使用上の注意事項」
「付録2-3 SuperH RISC engine シミュレータ・デバッガ 制限事項」
8.マニュアル正誤表
以下の付録を参照ください。
「付録3 「SuperH RISC engine C/C++コンパイラ、アセンブラ、最適化リンケージエディタユーザーズマニュアル」正誤表」
9.テクニカルサポート
弊社テクニカルサポートのご利用方法について説明いたします。
弊社テクニカルサポートはFAXおよびフリーダイヤルにてご利用いただくことができます。FAXは次の
ページ以降に添付してあるサポート依頼書をコピーしてご利用ください。送付いただいた依頼事項について、
後ほど弊社担当より回答をさしあげます。
【受付時間】
受付日 : 月曜日 ∼ 金曜日 (ただし祝日を除く)
受付時間: 10:00 ∼ 17:00
【問合せ先】
第2応用システム部 第1グループ
SHC/C++コンパイラ テクニカルサポート係
FAX 045−681−2401
フリーダイヤル 0120−78−7750
もしくは
第3品質保証部 第2品質保証課
SHC/C++コンパイラ テクニカルサポート係
FAX 045−451−5158
なお、E−mailによるお問い合わせの受け付け、ホームページによる情報の提供も行っております。ご
利用ください。
【E−mailによるお問い合わせ】
FAXの場合と同様に必要事項を明記の上、下記アドレスへお問い合わせください。
- 5 -
[email protected]
【SHCコンパイラホームページ】
下記アドレスにてSHC/C++コンパイラに関する情報提供を行っております。
http://www.hitachi-sk.co.jp/Products/SH-C/HomePage.html
- 6 -
サポート依頼書
製品型名
P−
(リリース媒体のラベルに表示されている:P-xxxx-xxxxxx)
バージョン
製番
(使用許諾契約書に表示されている番号)
使用機種名
使用OS
バージョン
(フ リ ガ ナ)
御登録社
(者)名
所属部名
FAX番号
電話番号
(内線 弊社記入欄(記入しないでください。)
受付番号
分 類
担 当 者
- 7 -
)
現 象
(入力ソース、指定オプション、コンパイル結果、実行結果を詳細に記述)
−以上−
- 8 -
付録1-1
Ver.6.0Aのアップデート内容
各ツールのバージョンは、下表の通りです。
は変更ツールを示しています。
表 1 ツールバージョン一覧
Windows版
SPARC版/HP版
C/C++コンパイラ
6.0A
6.0A
アセンブラ
5.0B
5.0B
最適化リンケージエディタ
7.0
7.0
標準ライブラリ構築ツール
1.0A
1.0A
フォーマットコンバータ
1.0A
1.0A
HDI
5.01
シミュレータ
7.11
HEW
1.2
- 1 -
4.0
1. Hitachi Embedded Workshop (Ver. 1.2)
1.1 SH7046、SH7622シリーズ用プロジェクトデータの追加他(本パッケージより)
HEW Ver.1.2では、新たに SH7046用およびSH7622シリーズ用のプロジェクト生成を
追加しました。
1.2 スタック解析ツールの表示形式向上他(本パッケージより)
スタック使用量の表示形式として、以下の2種類をサポートします。
(1)必要スタック表示形式
下位シンボル中の最大スタック使用量を当該シンボルのスタックサイズに加算します。
(2)使用済みスタック表示形式
上位シンボルで使用するスタックサイズを、下位シンボルに加算していきます。
また、表示結果をテキストファイルで出力することも可能になりました。
- 2 -
2. コンパイラ (Ver.6.0 -> Ver.6.0A)
2.1 外部変数のデバッグ情報不正
【内容】 シンボルの外部定義より前に外部参照宣言があるときに、当該外部変数がシンボルデバッグ
できない不具合を解決しました。
extern int i;
int i; // 日立デバッガ(HDI)では"out of scope"になる
void func()
{
i++;
}
【発生条件】
下記条件を全て満たす時、発生します。
(1)debugオプションを指定。
(2)シンボルの外部定義より前に、当該シンボルの外部参照宣言がある。
2.2 インターナルエラー4609
【内容】 (式,func)() のような関数呼び出しを使用した場合、下記プログラムにおいてインターナルエラ
ー4609が発生する不具合を解決しました。
extern void sub1(void);
void func()
{
(foo(),sub1)();
sub1();
sub1();
return;
}
【発生条件】
下記条件を全て満たす時,発生します。
(1) (式,func)() のような関数呼び出しがある。
(2) func が複数回参照されている(レジスタ割付しようとする)
- 3 -
2.3 インターナルエラー4099
【内容】 以下のコマンド入力時に、インターナルエラー4099が発生する不具合を解決しました。
shc -include=../Io_define initsct.c -CPu=sh2 -DEBug -OPtimize=0 -template=none -noinline -l
ang=c
【発生条件】
コンパイラの使用環境(OS、メモリ、システム構成など)に依存します。
2.4 __STDC__マクロ定義
【内容】
__STDC__マクロが未定義となる不具合を解決しました。
#ifdef __STDC__
#define CONST const
#else
#define CONST
#endif
CONST int a=0;
// V5ではCセクションに割りついていたが、
// V6ではDセクションに割りついてしまう。
2.5 DSPライブラリ(FftInReal, FftReal)の割り込み時不正
【内容】 DSPライブラリ(FftInReal, FftReal)使用時に割り込みが発生すると、呼び出し元
にリターンできない不具合を解決しました。
【発生条件】
以下の条件を全て満たしたときに、発生する可能性があります。
(1)DSPライブラリのFftInRealまたはFftReal関数を使用
(2)上記関数実行中に割り込みが発生する
- 4 -
3. 標準ライブラリ構築ツール (Ver.1.0 -> Ver1.0A)
3.1 セクション名変更オプションの大文字指定
【内容】 -sectionオプションのセクション名に大文字を指定しても小文字になってしまう不具合を
解決しました。
【発生条件】
(1)-sectionオプションで大文字を指定。
- 5 -
4. アセンブラ (Ver.5.0A -> Ver5.0B)
4.1 ローカルラベル、.ASSIGN 定義シンボル使用時の制限事項解除
【内容】 ローカルラベル(?で始まるラベル)、.ASSIGN定義シンボル使用時にコード不正になる不具合
を解決しました。
.IMPORT TRGET
.SECTION CD1,CODE,ALIGN=4
MOV.L #(TRGET - ?LABEL),R0 ;オペランドが相対値のラベルとローカルラベルの減算値
?LABEL:
【発生条件】
下記条件をいずれかを満たす時、発生します。
(1).ASSIGNラベル、ローカルラベルへのJMP/JSR分岐を記述。
(2).ASSIGNラベル、ローカルラベルと、外部シンボル(定義/参照)との式を記述。
4.2 マクロ展開不正
【内容】 マクロ定義内に漢字の「能」がある場合、マクロ展開時にエラー620(UNDEFINED PREPROCESSOR
VARIABL)が発生する不具合を解決しました。
.MACRO
M_SVC_JUMP
XOR.L
ER0,ER0
; 機能コード FETCH <-"能"を含んでいる
MOV.W
@_OP_SYS_PRM,R0
;
AND.W
#h'07FFF,R0
; bit 15(機能種別) mask
.ENDM
;
M_SVC_JUMP
; マクロ展開
【発生条件】
下記条件を満たす時、発生します。
(1)マクロ定義内(コメントも含む)に、下記に示す文字(記号、カタカナ、ロシア文字、ア
ラビア数字、漢字)が存在する。
<記号>: ―
<カタカナ>: ソ
<ロシア文字>: Ы
<アラビア数字>: Ⅸ
<漢字>: 噂,浬,欺,圭,構,蚕,十,申,曾,箪,貼,能,表,暴,予,禄,兔,喀,媾,彌,拿,杤,歃
- 6 -
5. フォーマットコンバータ (Ver.1.0 -> Ver.1.0A)
5.1 絶対アドレスセクション使用時のIllegal file formatエラー
【内容】 絶対アドレスセクション使用時のアブソリュートファイル変換時に、不正に"G2003 Illegal
file format"エラーになる不具合を解決しました。
【発生条件】
下記条件を全て満たす時、発生します。
(1)アセンブリプログラムの絶対アドレスセクション(.section制御命令でlocateを指定)
(2)コンパイル、アセンブル時にdebugオプションを指定。
(3)アブソリュートファイルを変換(elf/dwarf2 -> sysrof または elf/dwarf1)
5.2 コンピューテックス製デバッガでダウンロードエラー
【内容】 アブソリュートファイルをSYSROFに変換後、コンピューテックス製デバッガでダウンロード
できないという不具合を解決しました。
【発生条件】
下記条件を満たす時、発生する場合があります。
(1)elf/dwarf2 -> SYSROF変換時。
5.3 8byte以上の境界調整セクションを含むファイルのダウンロードエラー
【内容】
8byte以上の境界調整をもつセクションを含むアブソリュートファイルをSYSROFに変換後、
デバッガでダウンロードできないという不具合を解決しました。
【発生条件】
下記条件を満たす時、発生する場合があります。
(1)elf/dwarf2 -> SYSROF変換時。
(2)境界調整を8以上に設定したセクションが2ファイル以上に存在する。
5.4 V4.台以前のリトルエンディアンオブジェクトの変換
【内容】
V4.台以前のコンパイラ/アセンブラで生成したリトルエンディアンオブジェクトを変換する
ためのオプション(-endian=little │ big)を追加しました。
【発生条件】
下記条件を満たすとき、発生します。
(1)Sysrof→elf/dwarf2変換時。
(2)SHV4台以前で生成したオブジェクト、およびライブラリ。
(3)littleエンディアンファイル。
- 7 -
5.5 実体のないシンボル変換時のIllegal file formatエラー
【内容】
ファイル内のサイズ0のセクションで定義したシンボルが存在するアブソリュートファイル
を変換時に不正に"G2003 Illegal file format"エラーになる不具合を解決しました。
.SECTION SEC1,DATA
LABEL:
→実体のないSEC1セクションに割りつくLABELシンボル
.SECTION SEC2,DATA
【発生条件】
下記発生条件を満たす時、発生します。
(1)elf/dwarf2→Sysrof変換時
(2)コンパイル、アセンブル時にdebugオプションを指定。
(3)ファイル内にサイズ0のセクションが存在し、かつ、そのセクション内にサイズ0の
シンボル(上記LABEL)が存在する場合。
- 8 -
付録1-2
Ver.6.0Ar1のアップデート内容
各ツールのバージョンは、下表の通りです。
は変更ツールを示しています。
表 1 ツールバージョン一覧
Windows版
SPARC版/HP版
C/C++コンパイラ
6.0A
6.0A
アセンブラ
5.0B
5.0B
最適化リンケージエディタ
7.0A
7.0A
標準ライブラリ構築ツール
1.0A
1.0A
フォーマットコンバータ
1.0B
1.0B
HDI
5.01
シミュレータ
7.11
HEW
1.2
- 1 -
4.0
1. 最適化リンケージエディタ (Ver.7.0 -> Ver.7.0A)
1.1 リテラルデータ統合時の参照位置不正
【内容】
optimize=string_unify最適化により、リロケータブルロードモジュールに含まれる
同一オブジェクトファイル内のリテラルデータを統合したとき、リテラルデータ参照位置が
不正になる問題点を解決しました。
【発生条件】
下記条件を全て満たす時、発生する場合があります。
(1)同一セクション内に同じ外部変数リテラルが2回以上あるファイルをgoptimize
オプション、debugオプションでコンパイルする。
(2)(1)のファイルを入力し、form=relocateオプションを指定。
(3)(2)のファイルを入力し、optimize=string_unify(またはoptimize)オプションを指定。
1.2 helfcnv実行時のG2003エラー
(1)
【内容】 未参照関数削除時、helfcnvでG2003 (E) Illegal file formatとなる問題点を解決しました。
【発生条件】
下記条件を全て満たす時、発生します。
(1)コンパイル時にgoptimizeオプション、debugオプションを同時に指定。
(2)optimize=symbol_delete(またはoptimize)オプションを指定。
(3)(1)を指定したファイルに未参照シンボル削除最適化の対象となる関数がある。
(2)
【内容】 リロケータブルロードモジュール最適化時、helfcnvでG2003 (E) Illegal file formatとなる
問題点を解決しました。
【発生条件】
下記条件を全て満たす時、発生します。
(1)コンパイル時にgoptimizeオプション、debugオプションを同時に指定。
(2)(1)のファイルを入力し、form=relocateオプションでリンク指定。
(3) (2)のファイルを入力し、optimizeオプションを指定。
(4)(3)の出力ファイルをhelfcnvでSYSROFに変換。
1.3 form=relocate指定時の3101エラー
【内容】
0番地の絶対アドレスセクションを含むobjectをform=relocateオプションでリンクすると、
L3101 (F) Section "section名" overlaps section "section名"となる問題点を解決しました。
- 2 -
【発生条件】
下記条件を全て満たす時、発生します。
(1)アセンブリプログラムに0番地の絶対アドレスセクション(.section制御命令でlocate
を指定)を記述。
(2)form=relocateオプションを指定。
1.4 内部エラーL4000(8874)
【内容】
未参照の外部定義EQUシンボル記述時に、内部エラー
L4000(-) Internal error : (8874) "File:in_devtb.cpp Line:5422 / Position is NULL" / "SUB_AT"
が出力される問題点を解決しました。
【発生条件】
下記条件を全て満たす時、発生します。
(1)アセンブリプログラムに外部定義の.equを記述。
(2)(1)のプログラム内に別の外部定義シンボルが存在する。
(3)(1)のプログラムのオブジェクトをライブラリに入力する。
(4)(2)のシンボルを参照し、かつ(1)のシンボル参照がプログラムをリンクする。
1.5 defineオプション指定時の内部エラーL4000(8971)
【内容】 defineオプション指定時に内部エラー
L4000(-) Internal error : (8971) "File:oc_input.cpp Line:2469 / oc_offset_to_abs" / "sub_pos
is NULL"
となる問題点を解決しました。
【発生条件】
下記条件を全て満たす時、発生します。
(1)defineオプションでシンボルをアドレス指定する。
(2)オブジェクトファイル内に(1)のシンボルに対し、シンボル+定数値が存在する。
1.6 内部エラーL4000(7041)
【内容】 絶対アドレスセクションを含むobjectをform=relocateでリンク後、form=absoluteで再リンク
するときに内部エラーL4000(-) Internal error : (7041) "File:ob_obj.cpp "が出力される
問題点を解決しました。
【発生条件】
下記条件を全て満たす時、発生します。
(1)アセンブリプログラムに絶対アドレスセクション(.section制御命令でlocateを指定)
を記述。
(2)(1)の絶対アドレスセクションに外部参照シンボルまたは相対アドレスセクション内シン
- 3 -
ボルの参照がある。
(3)上記絶対セクションを含むobjectをform=relocateでリンクする。
(4)(3)のリロケータブルロードモジュールをform=absoluteで再リンクする。
1.7 Duplicate symbol発生時のシンボル優先順
【内容】
L2300 (E) Duplicate symbol "シンボル" in "ファイル"エラー発生時、-change_messageで
2300をInformationまたはWarningレベルに変更した場合、シンボル優先順位が入力ファイル順
とならない問題点を解決しました。
【発生条件】
下記条件を全て満たす時、発生する可能性があります。
(1) L2300 (E) Duplicate symbol "シンボル" in "ファイル"エラーが発生。
(2)change_message=i=2300または、change_message=w=2300を指定。
1.8 profile最適化不正
【内容】
profileオプション指定時、オブジェクトが不正になる問題点を解決しました。
【発生条件】
下記条件を全て満たす時、発生する可能性があります。
(1) profileオプションを指定。
(2) 最適化(optimize)オプションを指定。
1.9 最適化処理の高速化
【内容】
最適化時の処理が極端に遅くなる不具合について、一部処理を見直し、対策を実施しました。
- 4 -
2. フォーマットコンバータ(Ver.1.0A -> Ver.1.0B)
2.1 FRn,DRnレジスタ名不正
【内容】 ELF/DWARF2からSYSROF変換時、デバッガで浮動小数点レジスタ(FRn,DRn)名が正しく表示されな
い不具合を解決しました。
【発生条件】
下記条件を全て満たす時、発生します。
(1)cpu=sh2e,sh3e,sh4を指定。
(2)コンパイル、アセンブル時にdebugオプションを指定。
(3)FRn,DRnに割りつけられるシンボルが存在する。
(4)ELF/DWARF2-> SYSROF変換時。
2.2 複数ファイルに存在するセクションのオブジェクト変換不正
【内容】 複数ファイルに存在するセクションのオブジェクト変換が不正になる問題点を解決しました。
【発生条件】
下記条件を満たす時、発生する場合があります。
(1) ELF/DWARF2-> SYSROF変換時。
(2) 初期値のある同一セクション(code,const,data)が複数ファイルに存在する。
(3) (2)のセクションの境界調整により、ファイル間で空き領域が生じる。
(4) コンパイル時、アセンブル時のdebugオプション指定有無が混在する。
【対象Ver】
本現象は、V6.0Aでのみ再現します。
2.3 .ORG制御命令指定時の2003エラー
【内容】
.ORG制御命令指定のあるオブジェクトを含むELF/DWARF2ファイルをSYSROFに変換時、
不正に2003エラーを出力する問題点を解決しました。
【発生条件】
下記条件を満たす時、発生する場合があります。
(1)ELF/DWARF2-> SYSROF変換時。
(2).org制御命令があり、かつ同一ファイルの.orgを含むセクションサイズが0である。
(3)(2)をアセンブル時、debugオプションを指定。
(4)リンク時のstartオプション指定で、.orgを含むセクションを単独指定。
例) optlnk -start=P/200,C,D/8000 ; Pは単独指定、C,Dは連続指定
- 5 -
付録 2-1
ご使用上の注意事項
同封しておりますクロスソフトウェアには、下記に示します注意事項がございます。ご留意いただ
きますようお願い申し上げます。
1.CPU による制限事項
同梱しておりますクロスソフトウェアは、使用する CPU により一部機能に制限事項がございます。
下記をご参照の上、ご使用下さい。
(1)ソフトウェアのバージョン
C コンパイラ
Ver.6.0A
アセンブラ Ver.5.0B
シミュレータ・デバッガ
Ver.7.11(Windows®版)
Ver.4.00(UNIX 版)
(2)制限事項
表1
CPU コア 製 品
SH-1
SH-2
SH-DSP
SH-2E
SH-3
SH-3DSP
SH-4
SH7020,21
SH7032,34
SH7604
SH7011
SH7014,16,17
SH7040,41,42,43,44,45
SH7050,51
SH7410
SH7612
SH7065
SH7055
SH7702
SH7707,08,09
SH7709A
SH7729
SH7750,51
CPU別制限事項
キャッシュ
DSP ライブラリ
CPU
サポート
シミュレーショ シミュレーショ
ン
ン
−
○
−
−
○
−
−
○
×
−
○
−
−
○
×
−
○
×
−
○
−
○
○
−
○
○
○
○
○*1
−*1
−
○
×
−
○
×
−
○
○
−
○
○
○
○
○
−
○
○
○:対応、×:非対応
*1:UNIX版は非対応
1/2
2.C++ ソースレベルデバッガについての注意
同梱のシミュレータデバッガにつきましては、 C++ 言語のソースレベルデバッグ可能です。
別売のエミュレータにつきましては、C++ 言語のソースレベルデバッグは、デバイス、エミュレータ
の組み合わせによってサポートされていない場合があります。
弊社製エミュレータ(MY-ICE)の対応状況につきましては、弊社営業へお問い合わせください。
(株)日立製作所製エミュレータにつきましては、2001 年 3 月 9 日現在の対応状況の可否を下記に
示します。
また、3rdParty 製エミュレータに関する C++ 言語サポートの可否は、各エミュレータメーカに
お問い合わせください。
表 2 C++ ソースレベルデバッグ可否状況
CPU コア
製 品
対応エミュレータ PC EWS
SH-1
SH7020,21,32,34
E7000
×
○
SH-2
SH7604
E7000
×
○
SH7011,14,16,17
E7000/E6000
×*3
○
*3
SH7040,41,42,43,44,45
E7000/E6000
×
○
SH7050,51
E7000/E6000
×*3
○
SH-DSP SH7410,7612
E8000/E10A
○
×*1
SH7065
E8000
○
×
SH-2E
SH7055
E8000
○
×
SH-3
SH7702,08
E7000
×
○
SH7707,08R,08S
E7000ROM-EML
×
○
SH7709
E7000ROM-EML
×
○
SH7709A
E8000/E10A *2
○
×
SH3-DSP SH7729
E8000/E10A*2
○
×
SH-3E
SH7718R
E7000ROM-EML
×
○
SH-4
SH7750,51
E8000/E10A
○
×
*1:SH7410,SH7612 用 E8000 は、EWS で C++ をサポートしております。
*2:SH7709A 用 エミュレータは、SH7729 用と同じになります。
*3:E6000 は、PC 上で C++をサポートしております。
*4:デバイスによっては、開発中のエミュレータもありますのでご了承ください。
表 3 エミュレータの C++ ソースレベルデバッグ可否状況
ホスト
E7000
E8000
E6000
E10A
*1
EWS
○
△
×
−
PC
×*2
○
○
○
*1:SH7410 及び SH7612 のみ EWS 対応しております。
*2:PC 版 E7000 で C++ のサポート予定はありません。
以上
2/2
付録 2-2
SH7055 使用上の注意事項
SH7055 には FPU フェッチサイクル-DMAC/AUD バスサイクルの競合時に FPU が誤動作する
不具合があります。SH7055 をご使用の場合は、次の手順に従って開発してください。
1.C/C++プログラム
オプション"-extra=a=2000"を指定してコンパイルしてください。
HEW(日立統合開発環境)をご使用の場合は、コンパイラオプションダイアログボックスの
other->[User defined options:]で"-extra=a=2000"を記述してください。
2.アセンブリプログラム
「3.不具合内容の詳細」に従ってプログラムを作成してください。
3.不具合内容の詳細
(「SH-2E SH7055F-ZTAT ハードウェアマニュアル 3.6 使用上の注意」より抜粋)
(1)FPUを使用(FPU命令もしくはFPUに関するCPU命令を使用)する場合
(a)BT、BF命令を使用せず、かわりにBT/S、BF/S命令を使用してください。
(b)TRAP命令、割り込み/例外処理の分岐先を4n番地に配置してください。その際、4n番地
と
4n+2番地にFPU命令もしくはFPUに関するCPU命令を配置しないでください。
(2)FPU を使用(FPU命令もしくはFPUに関するCPU命令を使用)しない場合
パワーオンリセット後、DMAC もしくはAUD のバスサイクルが発生するまでにFPU をモ
ジュールスタンバイ状態にしてください。
具体的には、モジュールスタンバイコントロールレジスタのビット1 に1を書いてくださ
い。
この操作は、消費電流を低減させる上でも有効です。
FPUがモジュールスタンバイ状態になると、以後のFPU命令およびFPUに関するCPU命
令は不当命令として例外処理されます。
以上
1/1
付録 2-3
SuperHTM RISC engine シミュレータ・デバッガ 制限事項
この度お買い上げ戴いた SuperHTM RISC engine シミュレータ・デバッガには、以下に示す制限事項
がありますのでご注意ください。
1.
SH7750R のサポート
SH-4(SH7750R) シミュレータは、SH7750R が現在開発中のためご使用にならないようお願いします。
また、SH-4(SH7750R)シミュレータに関してマニュアルに記述している仕様も最終仕様ではありませんので、
通知することなく変更になる場合があります。
2.
SH-4BSC シミュレータのキャッシュサポート
SH-4BSC シミュレータで P1 領域(H’80000000∼H’9FFFFFFF)をコピーバックモード(デフォルトはライト
スルーモード)で使用すると、キャッシュの動作が不正になります。
P1 領域をコピーバックモードで使用する場合は、SH-4 シミュレータをご使用ください。
3.
Profile 機能の制限
(1) “Setting Profile-Tree”ダイアログボックスで”Show only executed function(s)”をチェックした場合、
Profile-Tree ウィンドウの関数呼び出し関係の表示が不正になる場合があります。
回復方法:
”Setting Profile-Tree”ダイアログボックスの“Show only executed function(s)”のチェックを外して
から Profile-Tree ウィンドウを一旦クローズし、再度オープンしてください。
(2) プログラム中に、呼び出される関数が動的に決まる関数呼び出しを含む場合、Profile-Tree ウィンド
ウの関数呼び出し関係の表示が不正になる場合があります。
未実行の関数を表示しない場合がありますが、関数を実行後に表示します。
呼び出される関数が動的に決まる関数呼び出しの例:
(関数へのポインタを使用した関数呼び出し)
void func1(void)
{
void (*pf)(int) = func2;
:
if (…) pf = func3;
pf(1);
}
void func2(int a)
{
:
}
void func3(int a)
{
:
}
以上
1/1
付録3
「SuperH RISC engine C/C++コンパイラ、アセンブラ、
最適化リンケージエディタ ユーザーズマニュアル」正誤表
SuperH RISC engine C/C++コンパイラユーザーズマニュアル(HS0700CLCS6SJ)に下記に示す誤りが
ありますので、お詫びするとともに、マニュアルを訂正してくださるようお願いいたします。
No ページ
項目
誤
1 35,36 3.2.1
ASsignA
ASsignC
2
89 5.1.1
例 ∼参照箇所& _ $ をH'FFに設定します。
3
4バイトの下 位 バイトを抽出します。
4
489 11.1.6
(3)(d)
LOW演算子
509 表11.18
5
718 17.3.2(2)
―
正
例 ∼参照箇所¥ & _ $ をH'FFに設定します。
標準ライブラリ構築ツールをUNIXまたはWindows
NT(R)、Windows(R) 2000上のDOSプロンプトで起動す
る場合、以下の方法で実行してください。
(1)UNIXで起動する場合
コンパイラ実行ファイルのあるディレクトリで起動
してください。
(2)Windows NT(R)、Windows(R) 2000上のDOSプロンプ
トで起動する場合
拡張子(.exe)も含めた、フルパス名で起動してくだ
さい。
例 c:¥hew¥Tools¥Hitachi¥Sh¥6_0_0¥bin¥lbgsh.exe
4バイトの最 下 位 バイトを抽出します。
*2
6 13,14 2.3.3
SHow
SOurce │ NOSOurce
│OBject │ NOOBject
本バージョンのコンパイラ、アセンブラ、最適化
リンケージエディタで新規追加した機能を使用
した場合は、変換できません。
SOurce │ NOSOurce
│Object │ NOObject
7
本オプションの省略時解釈は、
show=source,noobject,...
本オプションの省略時解釈は、
show=nosource,object,...
8 24,25 2.2.6
Division
Division = {CPu
:
Division = {Cpu
:
9 24,26 2.2.6
FPu
Fpu = {Single
│Double}
FPu = {Single
│Double}
10 30,31 2.2.7
LOGO
NOLOGO
11 30,32 2.2.7
Subcommand
LOGo
NOLOGo
LOGO
NOLOGO
SUBcommand
SUbcommand
12 37,38 3.2.2
EXPand
EXpand
EXPand
13
V7
rom=romセクション/
ramセクション
V7
library
V7
rom=romセクション=
ramセクション
V7
output
14
14 2.3.3
SHow
713 17.1.3
表17.1
2 rom
714 17.1.3
表17.2
6 create
―
×
Fly UP