ColdFire MCF52233 基板 (3)

インターフェース誌 2008 年 9 月号付属の ColdFire MCF52233 基板 (CQ-FRK-MCF52233) 用のFM音源プログラムは、すぐには作成できそうにないので、しばらくは次のようなトピックスについて書きたいと思います。

  • プログラム開発 / フラッシュ書き込み / デバッグ方法
  • Ethernet を全く使わない方法での開発の可能性
  • 予備基板なしでのソフトウェア・リカバリ (クローン作成) の可能性

まずはプログラム開発/フラッシュ書き込み/デバッグ方法ですが、インターフェース誌の紙面では、

  1. SilentC
  2. CodeWarrior + BDM ケーブル
  3. GCC + GDB

の3つの方法が想定されていて、1. と 2. は今月号(9 月号)に解説記事があり、 3. は来月号(10 月号)で解説される予定のようです。
3. については、10 月号の発売以前にサンプル・プログラムをダウンロードできるようにすると紙面には書かれていますが、7 月 29 日現在、インターフェースの Web サイトには見当たりません。

SilentC

SilentC は内蔵フラッシュ ROM の前半 128 Kbyte (0x00000000〜0x0001FFFF) に書き込まれている C 言語(風)のインタプリタです。
基板上の JP2 がオープンなら、電源 ON で SilentC が立ち上がります。
Ethernet 経由の telnet のコンソール上で、昔のパソコンの BASIC インタプリタのような感覚で使えます。
「load」や「save」のコマンドもありますが、これは、フラッシュ上のファイル・システムと、簡易編集用のバッファとの間での転送に使うものです。
ホスト PC との間のファイル転送には「tftp」を使います。
通常は、フラッシュ上のファイル・システムからファイルを読み出したり、書き込んだりしますが、いくつか特別なファイル名があって、特別な操作が行われます。
たとえば、「COLDFIRE.BIN」は、内蔵フラッシュ ROM の後半 (0x00020000〜0x0003FFFF) を読み書きするもので、GDB スタブごとユーザプログラムを書き込むのに使えます。
FM音源プログラムは、インタプリタでは実現できないので、この方法でプログラムを作成することはありませんが、他のコンパイラで生成したオブジェクトをフラッシュに書き込むのに利用する場合があるかも知れません。

CodeWarrior + BDM ケーブル

CodeWarrior は Freescale 製の統合開発環境で、コードサイズが 128 Kbyte に制限された Special Edition が付属 CD-ROM に収録されています。
ターゲット・システムとは BDM (Background Debug Mode) ケーブルで接続し、フラッシュ書き込みやデバッグを行います。
デフォルトではフラッシュ領域は全て消去されるので、基本的には SilentC の機能は使わず、ユーザプログラムの機能のみを使うことになります。
フラッシュ書き込みは他の方法を使い、CodeWarrior は純粋にコンパイラとしての利用、つまり、プログラムをコンパイルしてオブジェクトを得るだけに使う方法もできるとは思います。
私は CodeWarrior には詳しくないので、どこをどういじれば CQ-FRK-MCF52233 基板用のオブジェクトを作れるかが分からないのですが、多分、エキスパートの皆さんが情報を公開してくれるのではないかと期待しています。

GCC + GDB

内蔵フラッシュ ROM の後半の先頭部分 (0x00020000〜) には Ethernet 経由でオブジェクトをダウンロードできる GDB スタブが書き込み済みで、ジャンパ JP2 をショートして電源 ON すると GDB スタブが起動するようになっています。
私は GCC にも GDB にも詳しくなく、GDB 用イニシャライズ・ファイルを含むサンプル・プログラム集がまだ公開されていないので、手も足も出ない状態ですが、おそらく、この方法を主に使うことになるでしょう。