Eclipseからminiconfig-cuiを呼び出す

Blackfin MiniConfig for IFX-49には、コマンドライン版書き込みツールminiconfig-cui.exeが同梱されています。 このコマンドライン版書き込みツールをEclipseのポストビルド処理で呼び出せば、ビルド直後に自動的にターゲットに書き込みできます。 Blackfin MiniConfig for IFX-49を別に操作しなくても良いので、プログラムを変更しながらの開発作業に便利です。

システム環境変数の設定

事前準備として環境変数DIR_MINICONFIGにBlackfin MiniConfig for IFX-49のbinディレクトリを与えます。

  • 32ビットWindowsの例:C:\Program Files\CuBeatSystems\Blackfin MiniConfig for IFX-49\bin
  • 64ビットWindowsの例:C:\Program Files (x86)\CuBeatSystems\Blackfin MiniConfig for IFX-49\bin

Eclipseの起動とプロジェクト設定

環境変数を設定してからEclipseを起動します。
プロジェクトのプロパティを開き、C/C++ BuildのSettingsを選択し、Build Stepsタブを開きます。
Post Build stepsのコマンド記述欄に書かれたbfin-elf-ldrを使ったLDR変換処理に加え、miniconfig-cui.exeを使った書き込み処理を追加します。
ちなみに、${BuildArtifactFileName}はビルド成果物のファイル名、${BuildArtifactFileBaseName}はビルド成果物のファイル名から拡張子を取り除いたもので、これらはEclipse側で用意されている変数ですのでユーザーが改めて設定する必要はありません。

SRAM上で直接実行する場合

SRAM上で直接実行する場合、以下のオプションをPost-build stepsに与えて下さい。

bfin-elf-ldr -T BF592 -c ${BuildArtifactFileBaseName}.ldr ${BuildArtifactFileName} --bmode spi & "${DIR_MINICONFIG}/miniconfig-cui.exe" -p auto -b 57600 -x ${BuildArtifactFileBaseName}.ldr
ビルド開始前に、ターゲットのBOOTピンを短絡し、リセットボタンを押して下さい。
書き込み処理完了後、即座に実行が開始されます。 リセットボタンを押すと、SRAM上で実行されていたプログラムは消去されます。
プログラムを修正しながらの実機動作確認に最適です。

ROMに書き込みを行なう場合

ROMに書き込みを行なう場合、以下のオプションをPost-build stepsに与えて下さい。

bfin-elf-ldr -T BF592 -c ${BuildArtifactFileBaseName}.ldr ${BuildArtifactFileName} --bmode spi & "${DIR_MINICONFIG}/miniconfig-cui.exe" -p auto -b 57600 -x "${DIR_MINICONFIG}/config/bootloader/bootloader.ldr" -y ${BuildArtifactFileBaseName}.ldr
ビルド開始前に、ターゲットのBOOTピンを短絡し、リセットボタンを押して下さい。
書き込み処理完了後、BOOTピンを開放しリセットボタンを押すことで実行できます。
スタンドアロン動作に向けた書き込みに最適です。

Eclipseのドキュメントとの差異

一部のEclipseのドキュメントには、「Specifies one or more commands to execute immediately after the execution of the build. Use semicolons to separate multiple commands.」とあり、セミコロンでコマンドを区切ることで複数のコマンドが実行可能であるかのように書かれていました。しかし、実際に実行してみると区切ったはずの複数のコマンドが一度に実行されてしまいます。調べてみたところ、「&」記号で区切る事で複数のコマンドを分割して実行可能である事がわかりました。

実行例

ビルドが完了すると、書き込み処理が開始され、EclipseのConsoleタブで進捗を確認できます。