PizzaFactoryでBF532のビルドをする方法を調べているところ

  1. SDRAMのチェックをしなければならない。
  2. そのためには新しいTOPPERS/JSPアプリを造らなければならない。
  3. sample1を改造すればいいのだが、もうgeditに飽きた。
  4. PizzaFactoryでビルドしたいが、BF532には対応していない。
  5. ビルドする方法を探さなければ。

Rebunでは風が吹くと桶屋が儲かるってのは、常識ですよ。SDRAMのチェックをするためにPizaaFactoryを調べる。何と正統的なんでしょう。
PizzaFactoryでBF532に対応するのは実は簡単です。正規版買って、追加料金でBSP造ってもらえばいい。だってそういうビジネスモデルですから。でもお小遣いが…。
TOPPERS/JSPのBF533ポートとBF532ポート*1の決定的な違いはldファイルです。BF532はBF533のメモリ縮小版なので、ほかの部分は互換です。ソースを見ると細かい点が違いますが、さらによく見ればそれは"BF533"を"BF532"に書き換えただけだったりします。数値が変わっているのはldファイルだけです。
そこで、PizzaFactoryがBF533用に生成したsample1をいじって、BF532用に変更しました。変更点は2かしょ。

  1. BF532用の.ldファイルを作る。
  2. .ldファイルを登録する。

1.については省略。BF533ポートとBF53xのHardware Reference Manualを読めば分かります。問題は2。すこし苦闘したあと、登録方法が分かりました。
まず、BF532用のldファイルをbf532elf.ldと命名してプロジェクトにおきます。次に、makefile.initを変更して次のマクロ定義を追加します。

LDSCRIPT = ../bf532elf.ld

"../"はバイナリが生成されるディレクトリからの相対パスです。本当はプロジェクト・ディレクトリをあらわすマクロ定義を使いたいのですが、そんなマクロがあるかすら分からないため、お茶を濁しました。ビルドして、objcopyで余計なelfセクションを引っぺがした後、elfloaderに食わせてやると、問題なくBF532上で走らせることができました。
また一歩前進です。

*1:CVSがうまく動かないのでリリースしていない。これもまた別の風が吹けば桶屋が…