Sabotenboy's *sigh*
今年こそ本業を変えたいなぁ...^^;




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

(2) Select Configulationsはそのまま、Next

(3) Select ProcessorはIFX-49に積まれているBF592でシリコンリビジョンはanyでFinish

(4) Project Explorerから今作ったプロジェクト"c06_bass_boost"にコードを追加していく
 Projectの名前を右クリックしてImport、File Systemが選択された状態でNext

(5) CD-ROMの内容をHDDのどこかにコピーしておき、そこから該当するサンプルのフォルダを選択
 フォルダ内のファイルが表示されるので、main.cだけ選んでFinish


(6) Project Explorerに戻ると、c06_bass_boost以下にmain.cが追加されている
 ところが画面下のProblemsが真っ赤、
 Project Explorerからmain.cをクリックしてコードを表示させると#includeの頭にに"?"がついている

(7) CQ提供のIFX-49用includeファイルへの参照をProjectに追加する
 Project ExplorerからProject名を右クリックしてPropertiesを選択
 C/C++ BuildのSettingsのIncludesを選択
 Include pathsにCD-ROMに収録されていたcommonフォルダへの参照(HDD内のコピー)を追加

 CQのコマンドライン用のmakeファイルでは最適化は-O2だったのでついでにこれも変更しておく

 
(8) OKでProject Explorerに戻ると色々エラーは消えている^^
 追加したcommonへの参照も確認できる、
 さぁBuild、Project ExplorerのProject名を右クリックしてBuild Projectを選択

(9) エラー多発^^;、
 includeファイルの定義のみ取り込めたが、定義されている関数の本体(xxx.cファイル)が見えない
 Projectにソースを取り込む(面倒なので全部)

(10) Projectにmain.cをImportした要領で、今度はcommonフォルダ内の*.cを取り込む
 Import直後はエラーが出たままだがまたBuildする

(11) Warningが2つ残っているが(「定義したけど使わなかったぞ」なので無視)無事Build完了^^

(12) では似非gnICE+でIFX-49へ書き込みます、
 線をつないでbfin-gdbproxy起動
 IFX-49への入力には、PCにつながってるDigiFi付録USB DACでiTunesから何か再生
 出力にはイヤホンをつなぐ

(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に設定

 続いて、Startupタブ以内で"monitor reset"を追加

(14) ApplyしてDebugするとDebug画面に遷移し、コードの頭でBreakする^^

念の為bfin-gdbproxyの画面

(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が^^;)てスッキリ!







コメント ( 4 ) | Trackback ( )


« Blackfin (3) ... Blackfin (5) ... »
 
コメント
 
 
 
eclipse上での書き込みデバッグについて (mizu)
2015-08-23 20:21:34
なんとか eclipseの環境を整え当HPでご説明のとうり
設定を行い、エラーが無くelfファイルができました。
これをJTAG経由で動作させるにはどうすれば良いのでしょうか?IFX49基板のbootピンは外しておいたほうがいいのでしょうか?bin-gdbproxyコマンドはJTAGとIFX49基板とは
通信できているように思われます。当方使用環境は
win7sp1でCQのCDのBlackfinMiniconfig*は全部インストールしていますが、これが悪さをしているのでしょうか?
IFX49の電源は別途USB以外から取ったほうがいいのでしょうか?それとも、設定方法(当HPどうりに設定していると
思っています)どうすれば、eclipse上からIFX49を動かす事(デバッグ)することができますでしょうか すみませんがよろしくご教授お願いします。
 
 
 
Unknown (Sabotenboy)
2015-08-24 12:27:25
BOOTピンのショートプラグは不要なはずと記憶してます、BOOTモード選択用なので

あとIFX-49にへの給電はUSBから直接しなければいけないはず

BlackfinMiniconfigとは共存できるので、そっちで書き込みたいときのオプションとして残しておけるはず

一旦、bin-gdbproxyで接続が確立したら、あとは本文中にも出てきている金子システムさんのマニュアル通りで問題なくいけたはずです

http://kaneko-sys.co.jp/support/blackfin/gcc_and_eclipse_tutorial_V7.pdf

CQの方でEclipseからのコンパイルはサポートしてくれたので(VisualDSP++専用プログラムを除く)、あとは問題ないと思いますが
 
 
 
Unknown (MIZU)
2015-08-25 10:22:18
おせわになります。
ご指示どうりにやってみましたが、書込みできないようです。CQでのldr作成コマンドを埋め込みldrファイルが作成され、CQでの書込みプログラムではldrファイルは書き込め、確認できたのですが、Eclipse(LUNA)からは
エラーで書き込めないようようです。上記設定外の項目で設定するところはございますでしょうか?すみませんが宜しくお願い致します。
 
 
 
Unknown (Sabotenboy)
2015-09-01 12:46:17
まずは金子システムさんのマニュアル通りにLチカを実行してみては?
PG4につながってるLEDは簡単に点滅出来ました

CQのサンプルコードはEclipseでのbuild方法がサポートページに上がっているので、buildさえ出来ればあとは金子システムさんのマニュアル通りです
debug設定とかでポートを間違ってたらEclipseからは読み書きできませんが、それは大丈夫ですよね?
 
コメントを投稿する
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。