(toppers-users 2924) Re: SH7145で使用できるGCCのバージョンの件

Tatsuya SHIMIZU shimizu_t @ totani.co.jp
2009年 4月 9日 (木) 12:23:26 JST


お世話になります。
トタニ技研の清水です。

下記のコンパイラの最適化オプションの有無で正常に動作するかどうかですが,正常に動作しない場合も多々あることが判明致しました。
対象のボードにもよるようです。

不完全な情報を流してしまい申し訳ございませんでした。
少なくとも,現在のところSH7145Fではgcc2.95.3を使用するのが無難なようです。
あるいは,今井様が指摘下さったmach/maclレジスタ関連部分を修正する。


----- Original Message ----- 
From: "Tatsuya SHIMIZU" <shimizu_t @ totani.co.jp>
To: <users @ toppers.jp>
Sent: Monday, April 06, 2009 6:35 PM
Subject: (toppers-users 2922) Re: SH7145で使用できるGCCのバージョンの件


> 宮城県産業技術総合センター
> 今井様
>
> ありがとうございます。
>
> まだ,SH2に関して勉強不足のため,修正箇所まで教えて頂きながらも自分で修正でききれておりません。
>
> 最適化オプションなしの場合は実機にて正常に動作するようですので,当分は最適化なしで使用いたします。
>
> 有用な情報,ありがとうございました。
>
> 清水
>
>
> ----- Original Message ----- 
> From: "今井和彦" <imai-ka648 @ pref.miyagi.jp>
> To: <users @ toppers.jp>
> Sent: Friday, April 03, 2009 5:27 PM
> Subject: (toppers-users 2920) Re: SH7145で使用できるGCCのバージョンの件
>
>
>> 清水様
>>
>> 宮城県産業技術総合センターの今井と申します。
>>
>> 実機が手元にないため、動作確認しておりませんが、
>>
>> ターゲットsh-hitachi-elfのgcc3.xには最適化周りで不具合がある
>> ようなので、性能的に問題ないようであれば、最適化をoffにして
>> 下さい。
>>
>> また、gcc3.xでは、mach/maclレジスタをテンポラリとして使用す
>> るようです。
>> cpu_support.Sにmach/maclの退避/復元を追加して下さい。
>> jsp-1.4.3では、SH1依存部とSH2依存部で、この辺の実装が異なり
>> ます。
>>
>> 該当箇所:
>>
>> ・SH2依存部
>> cpu_support.S(754): sts.l  mach, @ -r15
>> cpu_support.S(786): lds.l  @r15+,mach
>>
>> ・SH1依存部
>> cpu_support.S(119): sts.l  mach, @ -r15
>> cpu_support.S(163): lds.l  @r15+,mach
>> cpu_support.S(547): sts.l  mach, @ -r15
>> cpu_support.S(653): lds.l  @r15+,mach
>> cpu_support.S(796): sts.l  mach, @ -r15
>> cpu_support.S(830): lds.l  @r15+,mach
>> cpu_support.S(899): lds.l  @r15+,mach /*   +4:MACH  */
>>
>> ちなみにSH1は、machが10ビットしかないため、テンポラリとして
>> 使用する時点で(上記の修正をしても)アウトです。
>> (jsp/doc/sh1.txtの「5.3 gcc3.x対応について」を参照)
>>
>> 以上、参考になれば、幸いです。
>>
>> ------------------------
>> 宮城県産業技術総合センター
>> 今井和彦
>> E-mail: imai-ka648 @ pref.miyagi.jp
>> TEL 022-377-8700
>> FAX 022-377-8712
>>
>>
>> Tatsuya SHIMIZU さんは書きました:
>>> お世話になります。
>>> トタニ技研工業の清水です。
>>>
>>> SH7145を使用した市販のマイコンボードで開発を行っております。
>>> (AP-SH2F-6Aを転用して,ハードウェア依存部分のみ修正しました。同じマイコ
>>> ンなので,依存部分はそう多くはなく,割とすんなりと動いてくれました。)
>>>
>>> コンパイラはgcc-2.95.3を使用して開発を行っているのですが,導入したいJTAG
>>> デバッガの関係で2.97以上,出来れば3.x以上のgccを使用したいと考えています。 
>>> 
>>> 今のところ,2.95.3でコンパイルしたサンプルプログラムは正常に動作するの
>>> に,3.2.3あるいは3.4.3でコンパイルしたサンプルプログラムが正常に動作しな
>>> いことを確認しています。
>>> (途中でプログラムが停止する,シリアル通信で送られているデータの表示が書
>>> けたりする,途中でリセットが掛かったりする等)
>>>
>>> gcc-2.97以上で,SH7145F(あるいは,SH2のどれか)を使用したボードで正常に
>>> サンプルプログラムが動作していた実績があるバージョンがありましたら,教え
>>> て頂けると非常に助かります。
>>>
>>> 以上,よろしくお願い致します。
>>
>>
>>
>
>
>
>
>