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

Masaki Muranaka monamour @ monaka.org
2009年 4月 13日 (月) 02:18:40 JST


こんにちは.

GCCのMLではありませんので,要点のみにて.

> ちなみにSH1は、machが10ビットしかないため、テンポラリとして
> 使用する時点で(上記の修正をしても)アウトです。
> (jsp/doc/sh1.txtの「5.3 gcc3.x対応について」を参照)

pf3gnuchains.sourceforge.jp で公開されているGCC
(3.4.6系)で追試してみましたが,-O2 -m1 -mhitachi としても
,macl/mach が general register としてアサインされている
形跡はなさそうです.
-O2 -m2 -mhitachi だとsample1.s で machがアサインされて
いることが確認できます.

CVSのログを確認したところ,独自の hack を config/sh/sh.{c,h,md} に
加えた形跡はありませんので,おそらく3.4.6 を使えば sh1 においても
mach問題は解決するのではと思います.

On 2009/04/03, at 17:27, 今井和彦 wrote:

> 清水様
>
> 宮城県産業技術総合センターの今井と申します。
>
> 実機が手元にないため、動作確認しておりませんが、
>
> ターゲット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のどれか)を使用したボードで正常に 
>> サンプルプログラムが動作していた実績があるバージョンがありましたら,教え 
>> て頂けると非常に助かります。
>>
>> 以上,よろしくお願い致します。
>