(toppers-users 116) Re: リトルエンディアン指定のやり方は?

Takayuki WAKABAYASHI takayuki @ ertl.ics.tut.ac.jp
2001年 3月 15日 (木) 00:49:55 JST


豊橋技術科学大学の若林です。

Takeda Masaru さんは書きました:
 > DVESH7700用のカーネルでリトルエンディアンを指定には
 > どうしたらよいのでしょうか?
 > jsp/config/sh3/dvesh7700/makefile.config の中の
 > CFLAGS := $(CFLAGS) -mb -DCONFIG_SH7708を
 > CFLAGS := $(CFLAGS) -ml -DCONFIG_SH7708
 > に変えてみたのですがエラーが出ました。
 > 他に変えるところがありますか?

リトルエンディアンにするには、コンパイラとリンカそれぞれに
リトルエンディアン用のオブジェクトを生成するように指定する
必要があります。リトルエンディアンであるcard_e09aおよび
ms7709ase01(SolutionEngine)のMakefileをご参考ください。

具体的には、コンパイラ側は次の通り
jsp/config/sh3/dvesh7700/Makefile.config:21
修正前 CFLAGS := $(CFLAGS) -mb
修正後 CFLAGS := $(CFLAGS) -ml

リンカ側は次の通り
jsp/config/sh3/dvesh7700/Makefile.config:35
修正前 LDSCRIPT = $(CPU)/shelf.ld
修正後 LDSCRIPT = $(CPU)/shlelf.ld
 #OUTPUT_FORMATが異なる

また、もしかしたらですが、"cc1: Invalid option `l'"
というエラーが表示される場合、lが全角となっていないか
確認していただければ幸いです。

補足ですが、SH7708用として利用される場合は問題ありませんが、
DVESH7700自体はビッグエンディアン固定ですので、
DVESH7700上で実行させるのであれば、注意してください。
 #電産 DVESH7700リファレンスマニュアルの回路図(B-0264)では、MD5は
 #GNDに落されているので、SH7708シリーズハードウェアマニュアル p.38に
 #ありますように、SH7708はビッグエンディアンで動作します。

以上、参考になれば幸いです。

//-------------------------------------------------
//Takayuki WAKABAYASHI (わかばやし たかゆき)
//  mailto: takayuki @ ertl.ics.tut.ac.jp
//-------------------------------------------------
//豊橋技術科学大学 工学研究科 情報工学専攻
//  組込みリアルタイムシステム研究室
//    Embedded and realtime system laboratory
//      Dept. of information and computer science
//        Toyohashi univ. of technology