Eclipse & Blackfin Toolchain(gcc)
インストール＆チュートリアル
第8版

金子システム株式会社

1ご注意
1.

本資料に記載されている内容は本資料発行時点のものであり、予告なく変更することがあります。
当社製品のご購入およびご使用にあたりましては、当社ホームページを通じて公開される情報を参照ください。

2.

当社から提供する情報の正確性と信頼性には万全を尽くしていますが、誤りがないことを保証するものではありません。当社はその使用に対する責任を一切負いません。その使用によって第三者の特許権、著作権その他知的財産が侵害された場合でも、同様に責任を負いません。

3.

本資料は、当社の書面による事前の明示同意がない限り、いかなる形式でも複製できません。

2目次
1

はじめに .............................................................................................................................................. 4

2

必要なハードウェア ............................................................................................................................ 43

ソフトウェアインストール ................................................................................................................. 54

3.1

必要なソフトウェアパッケージ .................................................................................................. 5

3.2

Blackfin Toolchain のインストール ........................................................................................... 63.3

TOL-BFICE ドライバのインストール........................................................................................ 73.4

Blackfin Toolchain のリンカスクリプトの修正 ......................................................................... 73.5

Eclipse のインストール ............................................................................................................... 83.6

Eclipse の起動 ............................................................................................................................. 93.7

Blackfin Plugins のインストール ............................................................................................. 11Blackfin アプリケーションの作成 ................................................................................................... 15
4.1

プロジェクトの作成 .................................................................................................................. 164.2

gdb によるデバッグ ................................................................................................................... 225Silicon Revision について ................................................................................................................ 286更新履歴 ............................................................................................................................................ 293

1 はじめに
本書は、Eclipse と GNU Toolchain for the Blackfin Processor(以下 Blackfin Toolchain)を使ったアプリケーションの開発チュートリアルです。Windows を対象に、Blackfin Toolchain と Eclipse のインストール及び、簡単なサンプルプログラムの構築、デバッグまでの手順を解説します。

2 必要なハードウェア
ここでは、以下のハードウェアを使用します。
表 1 ハードウェア一覧
製品名

写真

金子システムACB-BF592
以下よりお求めいただけます。
http://kaneko-sys.co.jp/shop/

金子システムTOL-BFICE
下記よりお求めいただけます。
http://kaneko-sys.co.jp/shop/
gnICE+互換 JTAG ICE

gnICE+生産中止となり、購入できなくなりました。

4

3 ソフトウェアインストール
必要なソフトウェアパッケージ

3.1

必要なパッケージは、以下の通りです。あらかじめ下記のファイルをダウンロードしてください。
Blackfin Toolchain blackfin-toolchain-win32-2014R1.exe
http://sourceforge.net/projects/adi-toolchain/files/2014R1/2014R1-RC1/blackfin-toolchain-win32-2014R1.exe/downloadEclipse Mars 2 Packages Eclipse IDE for C/C++ Developers
http://www.eclipse.org/downloads/packages/release/Mars/2※Windows 32bit 版と 64bit 版があります。ご使用の環境によってダウンロードするファイルを選択してください。
※Eclipse Neon 以降の Mars より新しいパッケージは、後述する Blackfin Plugins が対応していないため、動作しません。
Java Runtime
http://java.com/ja/
Eclipse は Java で作成されているため、動作には Java Runtime が必要です。ライセンスに同意のうえ、手順に沿ってインストールしてください。なお、java のインストール手順はここでは解説しませんので、詳しくは java のサイトを参照してください。

5

3.2

Blackfin Toolchain のインストール
blackfin-toolchain-win32-2014R1.exe をダブルクリックし、インストールしてください。

図 1

Blackfin Toolachin インストーラアイコン

インストールの条件を変更する必要はありません。

図 2Blackfin Toolachin インストール画面（コンポーネント選択）

インストールが無事終われば、完了です。

図 3Blackfin Toolachin インストール画面（インストール中）

6

3.3

TOL-BFICE ドライバのインストール
TOL-BFICE を USB ケーブルで接続し、必要なドライバをインストールしてください。ドライ

バファイルは、標準構成で以下のフォルダに格納されています。
C:¥Program Files (x86)¥Analog Devices¥GNU Toolchain¥2014R1¥gnICE-drivers

3.4Blackfin Toolchain のリンカスクリプトの修正
ADSP-BF592 用のソースファイルをビルドする場合、Blackfin Toolchain のリンカスクリプトの設定ミスにより、オブジェクトのコードサイズが 16K バイト以下 (※1)でないと、正しくリンクできないことが分かっています。以下の作業でリンカスクリプトを修正し、正しいメモリマップに変更します。
この不具合は Blackfin Toolchain バージョン 2014R1 以前で確認しており、今後のバージョンでは修正されている可能性があります。
エクスプローラから、以下のフォルダを開き、bf592.ld ファイルをテキストエディタで編集します。
C:¥Program Files (x86)¥Analog Devices¥GNU Toolchain¥2014R1¥elf¥bfin-elf¥lib

図 4bf592.ld ファイルの格納場所※1 ADSP-BF592 の L1 インストラクション RAM は 32K バイトでキャッシュなし

7

図 5

bf592.ld ファイル修正箇所

bf592.ld ファイルの 20 行目、LENGTH の値を 0x8000 に修正します。
MEM_L1_CODE : ORIGIN = 0xFFA00000, LENGTH = 0x8000
bf592.ld ファイルの 21 行目、キャッシュの設定をコメントにします。
/* MEM_L1_CODE_CACHE : ORIGIN = 0xFFA04000, LENGTH = 0x4000 */編集が完了したら、ファイルを保存して、エディタを閉じてください。
3.5

Eclipse のインストール
Eclipse はインストーラーがなく、zip ファイルを解凍すればインストールが完了します。作業するワークフォルダに展開してください。
ここでは、例として” C:¥Analog Devices”に解凍します。

図 6

Eclipse の解凍先フォルダ例

8

3.6

Eclipse の起動
初回のみ、Eclipse の設定を行う必要があります。
最初に、解凍した eclipse フォルダにある、eclipse.exe を起動します。

図 7

Eclipse.exe アイコン

起動すると、以下のダイアログが表示されます。このフォルダは、ソースやプロジェクトを保存する作業フォルダ（ワークスペース）になりますので、ご使用の環境によって決めてください。以下では、C:¥tmp フォルダを例に進めます。

図 8

Eclipse 作業フォルダ指定9

作業フォルダの指定が終わると、以下の画面が表示されます。

図 9

Eclipse 起動画面

10

3.7

Blackfin Plugins のインストール
Blackfin Plugins とは、Eclipse で Blackfin Toolchain を便利に使うための拡張機能の事です。

このプラグインをインストールしておけば、コンパイラやデバッガ等の設定を手動で設定する必要がなくなり、プログラムと関係のない作業から解放され、簡単にプログラムの作成ができます。
メニューの Help → Install New Software を選択します。

図 10

Eclipse Help メニュー

Work with のリストボックスに、http://download.eclipse.org/tools/cdt/releases/8.8と入力し、CDT Optional Features - C/C++ GDB Hardware Debugging にチェックを入れ、Nextボタンをクリックし、ライセンス条項を確認して Finish ボタンをクリックします。インストール
後、Eclipse を再起動するか問われますので、OK ボタンをクリックして、再起動してください。

11

図 11

Eclipse Install ダイアログ

図 12

再起動確認ダイアログ

12再度、メニューの Help → Install New Software を選択します。

図 13

Eclipse Help メニュー

Install ダイアログの Add ボタンを押して、以下のように入力します。
Name: Blackfin Linux
Location: https://sourceforge.net/projects/adi-toolchain/files/eclipse/update_site/

図 14

Add Repository【取得エラーが発生する場合】
Location を下記に変更してください。ミラーを配置しています。
http://kaneko-sys.co.jp/support/adi_toolchain/eclipse/update_site/13正しくデータが取得できると、以下のようにリストが更新されます。Blackfin Debug とBlackfin GNU Toolchain にチェックを入れて、Next ボタンをクリックし、ライセンス条項を確認した後、Finish ボタンをクリックします。インストール後、Eclipse を終了し、再起動してください。
※インストール途中で Security Warning が表示される場合、OK を押して続行してください。

図 15

Eclipse Install ダイアログ

以上でインストールは完了です。

14

4 Blackfin アプリケーションの作成
ここでは、Blackfin アプリケーションの作成からデバッグまでの手順を解説します。
Eclipse の起動

プロジェクトの作成

ファイルの追加

プログラムの入力

ビルド

bfin-gdbproxy の起動

デバッグ

図 16

Eclipse での開発の流れ

15

4.1

プロジェクトの作成
プロジェクトを作成します。
Eclipse を起動し、New → C Project を選択します。

図 17

Eclipse New C Project

プロジェクト名に、led_blink と入力します（この名前はアプリケーションによって変更してください）。Project Type には Empty Project、Toolchains には Blackfin Bare Metal (bfin-elf)を選択し、Next ボタンをクリックします。

16

図 18

C Project ダイアログ

17

Select Configurations 画面では、そのまま Next ボタンをクリックします。

図 19

C Project ダイアログ

Select Processor 画面では、使用する Blackfin プロセッサを選択します。ここでは BF592 を選択します（プロジェクト作成後でも変更可能です）。Silicon Revision は any にします。Silicon Revision については、「5 Silicon Revision について」を参照してください。

図 20

C Project ダイアログ

18

プロジェクトを作成すると、Project Explorer にプロジェクトが追加されます。

図 21

Project Explorer

もし、Welcome タブが表示されて上図のように表示されない場合は、タブの×を押して ProjectExplorer を表示させてください。

図 22

Welcome タブ

プロジェクトには何もありませんので、ソースファイルを追加します。プロジェクトを右クリックしてメニューを開き、New → Source File をクリックします。

図 23

Source File の追加

19追加するファイル名を Source file テキストボックスに入力します。ここでは、
main.c とし、Finishボタンを押します。

図 24

Source File の追加

プロジェクトに main.c が追加されます。

図 25

main.c の追加

これで、プログラムの入力準備が整いました。実際にプログラムを入力してみます。ここでは、ACB-BF592 の 37 番ピンに接続された LED を点滅させるプログラム例です。

20

図 26 プログラム入力例/* Blackfin固有定義ファイルのインクルード */#include <cdefBF592-A.h>

int main(void){
int lc;/* PG15を出力ピンに設定します */*pPORTGIO_DIR |= PG15;

while(1){/* PG15を'H'出力に設定します*/*pPORTGIO_SET = PG15;/* 一定時間待機 */21

for(lc = 0; lc < 10000000; lc++);/* PG15を'L'出力に設定します */*pPORTGIO_CLEAR = PG15;/* 一定時間待機 */for(lc = 0; lc < 10000000; lc++);}return 0;}※プログラムをそのまま入力すると、Error が表示されますが、ファイル保存後に消えるため、ここでは無視します。
プロジェクトをビルドするには、Ctrl+B を押すか、Project Explorer の led_blink を右クリックし、Build Project を選択します。

図 27 ビルド

下部の Problem タブのリストに、エラーが表示されなければビルド完了です。

4.2

gdb によるデバッグ

ここでは TOL-BFICE を使って、Eclipse からデバッグを行う方法を説明します。ACB-BF592 にTOL-BFICE を接続し、電源を入れてください。
22

図 28

TOL-BFICE 接続例

最初に bfin-gdbproxy を起動する必要があります。
コマンドプロンプトを起動し、ワークフォルダ（C:¥tmp）に移動後、bfin-gdbproxy と入力します。

図 29 コマンドプロンプト23接続が正しく行われると、次のように表示されます。

図 30

bfin-gdbproxy 接続画面

Eclipse のデバッグの設定を行います。虫アイコンの横にある▼をクリックしてメニュー表示させ、Debug As → を選択します。

図 31

Debug Configuration メニュー24

Debug Configuration メニューが表示され、リストに led_blink が自動的に作成されます。

図 32

Debug Configuration メニュー25

Debugger タブを選択し、Remote Target の Port Number を 2000 に変更します。

図 33

Remote Target の Port Number

Startup タブを選択し、Reset and Delay にチェックを入れ、3 から 1 に変更します。
最後に、Apply を押して設定を保存し、Debug ボタンを押します。

図 34

Startup の Reset and Delay

26

Eclipse のデバッグ画面に変更するかどうか聞かれますので、Yes を押します。

図 35

Confirm Perspective Switch ダイアログ

問題がなければ、main の最初のコードで停止します。

図 36 ステップ実行画面

この状態でステップ実行が可能です。そのまま実行させると、ACB-BF592 の 37 番ピンに接続された LED が点滅します。
27

5 Silicon Revision について
シリコンリビジョンとは、Blackfin チップのバージョンの事です。0.0 から始まり、新しいほど数字が大きくなります。新しい ADSP-BF592 では特に目立った問題はありませんが、ADSP-BF53xや ADSP-BF51x などの古いリビジョンでは、DMA の優先順位がコア優先から変更できない、内蔵SRAM のメモリ配置にミスがあるなどの問題があります。具体的な内容は、Analog Devices 社のサイトに IC アノーマリとして公開されており、一度確認されることをお勧めします。
http://www.analog.com/jp/processors-dsp/Blackfin/processors/ic-anomalies/resources/index.html
最近は Blackfin プロセッサのバグもかなり修正されており、どの Blackfin プロセッサでも問題ないのですが、特に理由がなければ、新しいリビジョンのチップを使用してください。
なお、コンパイラに Silicon Revision を指定するのは、これらのバグを回避する対策を指示するためで、any を指定すると全リビジョンに対応しますが、コード又は、データサイズが若干増加するケースがあります。

28

6 更新履歴
版

更新日

更新内容

第1版

2012/02/13

初版発行

第2版

2012/07/05

P.21
サンプルソースのコメントミスを修正

第3版

2012/07/28

P.24
図 37 monitor reset コマンドの入力を追加

第4版

2012/08/01

全体
Eclipse Juno に説明入れ替え

第5版

2012/09/18

全体Blackfin Toolchain 2012R1 に説明入れ替え

第6版

2013/07/04

全体Blackfin Toolchain 2012R2 に説明入れ替え
Eclipse Juno SR1 に説明入れ替え

第7版

2014/03/22

全体Blackfin Toolchain 2014R1 に説明入れ替え
Eclipse Kepler RC2 に説明入れ替え

第8版

2017/02/11

全体
Eclipse Mars 2 に説明入れ替え
gnICE+から TOL-BFICE に説明入れ替え

29