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

今井和彦 imai-ka648 @ pref.miyagi.jp
2009年 4月 3日 (金) 17:27:02 JST


清水様

宮城県産業技術総合センターの今井と申します。

実機が手元にないため、動作確認しておりませんが、

ターゲット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のどれか)を使用したボードで正常に 
> サンプルプログラムが動作していた実績があるバージョンがありましたら,教え 
> て頂けると非常に助かります。
>  
> 以上,よろしくお願い致します。