Lチカでerrorが出ていたprefetchmodup云々は、
VisualDSP++にあった関数(コンパイル時にアセンブラに置換される?)をgccに移植したいなぁ...的なもので(移植が楽になるから)、
gcc 4.5の段階でbfinのtoolchainでインプリが完了しているかどうか...というものでした
VusualDSP++とは縁が無いので無視していいのではと
気を取り直して他の(本来の)サンプルコードをコンパイルしてみました
(1) 新規にプロジェクトを作ります、まずは c06_bass_boost から
File>New>C Project、
Project nameだけ入力、Empty ProjectでBare Mrtalなのを確認してNext
![](https://blogimg.goo.ne.jp/user_image/6c/98/a30d3915e7cacc858b28548382a01def.png)
(2) Select Configulationsはそのまま、Next
(3) Select ProcessorはIFX-49に積まれているBF592でシリコンリビジョンはanyでFinish
![](https://blogimg.goo.ne.jp/user_image/02/45/65a5070aa2a7163506e7a4499bbf52c0.png)
(4) Project Explorerから今作ったプロジェクト"c06_bass_boost"にコードを追加していく
Projectの名前を右クリックしてImport、File Systemが選択された状態でNext
![](https://blogimg.goo.ne.jp/user_image/62/b0/c7619ebe826fc8db407a533fd948df22.png)
![](https://blogimg.goo.ne.jp/user_image/63/1a/d1d53d5d2adbbae4231463c4c57a5b6e.png)
(5) CD-ROMの内容をHDDのどこかにコピーしておき、そこから該当するサンプルのフォルダを選択
フォルダ内のファイルが表示されるので、main.cだけ選んでFinish
![](https://blogimg.goo.ne.jp/user_image/43/88/61434e1c220506faff7fab7f3cb5b657.png)
(6) Project Explorerに戻ると、c06_bass_boost以下にmain.cが追加されている
ところが画面下のProblemsが真っ赤、
Project Explorerからmain.cをクリックしてコードを表示させると#includeの頭にに"?"がついている
![](https://blogimg.goo.ne.jp/user_image/16/4f/16aa0d53a7aa9b5070e86df2f0683ed6.png)
(7) CQ提供のIFX-49用includeファイルへの参照をProjectに追加する
Project ExplorerからProject名を右クリックしてPropertiesを選択
C/C++ BuildのSettingsのIncludesを選択
Include pathsにCD-ROMに収録されていたcommonフォルダへの参照(HDD内のコピー)を追加
![](https://blogimg.goo.ne.jp/user_image/3e/3f/f5f41cdbbd309f00a11f0b1050febfe1.png)
CQのコマンドライン用のmakeファイルでは最適化は-O2だったのでついでにこれも変更しておく
![](https://blogimg.goo.ne.jp/user_image/08/fa/2d83173f4afee5ad899359baaa1aa09a.png)
(8) OKでProject Explorerに戻ると色々エラーは消えている^^
追加したcommonへの参照も確認できる、
さぁBuild、Project ExplorerのProject名を右クリックしてBuild Projectを選択
![](https://blogimg.goo.ne.jp/user_image/6f/99/bbeeada706a1dadd73cf528133c48dea.png)
(9) エラー多発^^;、
includeファイルの定義のみ取り込めたが、定義されている関数の本体(xxx.cファイル)が見えない
Projectにソースを取り込む(面倒なので全部)
![](https://blogimg.goo.ne.jp/user_image/21/ef/f44604cfdc017970cfb6809adc839a42.png)
(10) Projectにmain.cをImportした要領で、今度はcommonフォルダ内の*.cを取り込む
Import直後はエラーが出たままだがまたBuildする
![](https://blogimg.goo.ne.jp/user_image/78/ed/8fb7664bcdcad3f9d49088445168edd4.png)
(11) Warningが2つ残っているが(「定義したけど使わなかったぞ」なので無視)無事Build完了^^
![](https://blogimg.goo.ne.jp/user_image/79/c4/e18d8ddf00e5f1cd30deb3a8d8b82b31.png)
(12) では似非gnICE+でIFX-49へ書き込みます、
線をつないでbfin-gdbproxy起動
IFX-49への入力には、PCにつながってるDigiFi付録USB DACでiTunesから何か再生
出力にはイヤホンをつなぐ
![](https://blogimg.goo.ne.jp/user_image/71/0f/56f0b328a9a461a95c5251ff4c236953.jpg)
(13) Debug設定、以下は金子システムさんの手引き通り^^
Project Explorerのc06_bass_boost以下のBinariesを展開
c06_bass_boost - [bfin/le]を右クリックしてDebug Asから、
Bare Metal Application (ELF) on JTAG Deviceを選択
Debuggerタブ内のRemote TargetのPort numberを2000に設定
![](https://blogimg.goo.ne.jp/user_image/3c/b9/ee2e09549870f08f7a9bc23788cae260.png)
続いて、Startupタブ以内で"monitor reset"を追加
![](https://blogimg.goo.ne.jp/user_image/3f/ea/b1b38d4e82e1c639953d5926db48eb75.png)
(14) ApplyしてDebugするとDebug画面に遷移し、コードの頭でBreakする^^
![](https://blogimg.goo.ne.jp/user_image/3e/15/4e4a29b8ae95c0db16c6b7e5e54b230c.png)
念の為bfin-gdbproxyの画面
![](https://blogimg.goo.ne.jp/user_image/2c/b3/5f39ef233ac786d6e9566a71a38c08b1.png)
(15) DSPなプログラムだからステップ動作させても仕方ないし、バグは無いはず(^^;)なので、
iTunesから曲を流し(IFX-49を止めている間は出音なし)、Resume(F8)してBreakを解除、
IFX-49上にあるUSER SWを何度か押して音の変化を確認する
...実行開始時はbass boost状態でUSER SWを押すと切れる、また押すとbass boost...
まぁ期待通りの動作でした、お疲れ様俺^^;
この調子でサンプルをEclipseに取り込んでいけることを確認しました^^
そうそう、祝!初DSPプログラム(音が出るやつ)実行!
※ コンパイル時に出ていたWarning(「使ってないのに定義してる!」)は余分なソースをImportしていたからで、
具体的にはbfin_spi1.cとbfin_timer2.cをProjectから削除すれば何にも出なく(Warningが^^;)てスッキリ!
設定を行い、エラーが無くelfファイルができました。
これをJTAG経由で動作させるにはどうすれば良いのでしょうか?IFX49基板のbootピンは外しておいたほうがいいのでしょうか?bin-gdbproxyコマンドはJTAGとIFX49基板とは
通信できているように思われます。当方使用環境は
win7sp1でCQのCDのBlackfinMiniconfig*は全部インストールしていますが、これが悪さをしているのでしょうか?
IFX49の電源は別途USB以外から取ったほうがいいのでしょうか?それとも、設定方法(当HPどうりに設定していると
思っています)どうすれば、eclipse上からIFX49を動かす事(デバッグ)することができますでしょうか すみませんがよろしくご教授お願いします。
あとIFX-49にへの給電はUSBから直接しなければいけないはず
BlackfinMiniconfigとは共存できるので、そっちで書き込みたいときのオプションとして残しておけるはず
一旦、bin-gdbproxyで接続が確立したら、あとは本文中にも出てきている金子システムさんのマニュアル通りで問題なくいけたはずです
http://kaneko-sys.co.jp/support/blackfin/gcc_and_eclipse_tutorial_V7.pdf
CQの方でEclipseからのコンパイルはサポートしてくれたので(VisualDSP++専用プログラムを除く)、あとは問題ないと思いますが
ご指示どうりにやってみましたが、書込みできないようです。CQでのldr作成コマンドを埋め込みldrファイルが作成され、CQでの書込みプログラムではldrファイルは書き込め、確認できたのですが、Eclipse(LUNA)からは
エラーで書き込めないようようです。上記設定外の項目で設定するところはございますでしょうか?すみませんが宜しくお願い致します。
PG4につながってるLEDは簡単に点滅出来ました
CQのサンプルコードはEclipseでのbuild方法がサポートページに上がっているので、buildさえ出来ればあとは金子システムさんのマニュアル通りです
debug設定とかでポートを間違ってたらEclipseからは読み書きできませんが、それは大丈夫ですよね?