「分かりやすい+スライドボリューム31個は工作するには厳しい案件」、c09_31band_eq です
Buildは出来ているのでDebug設定をして開始、Resumeでbreak解除して、
そしてCD-ROMに収録されていたWindows版の操作アプリを起動
左下にPortというのがあるので取り敢えずOpen、
その後はイコライザの操作に応じて出音に影響が、分かりやすい^^
Closeするとその時点の設定が残るようで出音は変化したまま(パラメタの変更がされないから)
再びOpenするとコントロールが戻る
Slide linkをチェックすると前後3つのバンドが中心バンドに追随して(7バンドが)山形に変化、
おまけのようなものだがイマイチ操作が...、サンプルだから自分で直せということでしょう
わかりました
低音側をいじると「ジ..ジ..」とノイズが気になる、
デジタル処理なので何かがうまくいっていないのでしょう(オーバーフローとか)
無音部分にもノイズがのっているが、これはうちの実行環境のせいかも
コンソール下部にR/Lのバーグラフ(のようなもの)があったので「レベル表示か!」と思ったらダミーの様で、
何も動きません^^;
何はともあれ、
CD-ROM収録のサンプル起動のみなら機材のセットアップから実験実施まで数分なので、
この手軽さはいいですね^^、一応DSPを触っている気分だけ味わえます
ただ自分でコーディングするのは全く別の話、
出来上がっているフィルタのパラメタ変更程度ならともかく、何かしようと思ったら算数が^^;
特定のOSに依存しないBare metal programmingですが、手軽に使えるDSPライブラリは無いものかと探したら、
VisualDSp++からの移植でlibbfdspなるものがあるのですね
但し元々はucLinux用のToolchainに実装され、
その後の経緯はわかりませんが先日インストールしたWindows用のToolchain 2014R1_45_RC2のアーカイブには収録されていました
\GNU Toolchain\2014R1_45\uclinux\bfin-uclinux\runtime\usr\lib
以下にlibbfdsp.aがいます
includeファイルは
\GNU Toolchain\2014R1_45\uclinux\bfin-uclinux\runtime\usr\include
の辺りに一杯^^;
ココに少しだけ説明が、でも詳細な関数仕様はVisualDSP++のマニュアルを見ろとのこと
それによるとlibmは必須で(libbfdspで依存箇所があるらしい)、includeファイルは
#include <complex.h>
#include <cycle_count.h>
// #include <cycles.h>
#include <filter.h>
#include <math.h>
#include <matrix.h>
#include <stats.h>
#include <vector.h>
#include <window.h>
...この辺りが必要な様で、
全部上述のディレクトリにあった(cycles.hを除く、なので今はコメントアウト)
この辺、コンパイラの設定に追加して簡単に使えるものなのだろうか?
その割には情報があまりないです(日本語/英語とも)
BlackfinはARMよりは大分敷居が高い(ボードが高い、VisualDSP++は個人で買うものじゃない、情報も少ない等々)ので仕方ないか...^^;
情報を捜したところ、国内唯一と思われる事例は酔漢さんの旧「Blackfin空挺団」の2007年頃の記事、但し今のDSP空挺団とは時期もサーバーも異なり、記事も無い状態^^;
この辺りをちまちまいじってみますが、なんせ自分でbuildしたわけでもないのでこのライブラリそのまま使えるのか、それともucLinuxのアーカイブにさかのぼって自分でbuildしてやる必要があるのか? せめてそのあたりの情報は無いものだろうか
CQ出版さん!
※ libbfdsp、上記includeファイルを入れて試しに、
何かマニュアルにあった関数を使ってcodingしてbuildしたら#pragma関係でwarningが一杯...は無視して、
"PROCESSOR NOT SUPPORTED" とかいうエラーが^^;
cycle_count_bf.h だというので読むと、あープロセッサの種類を#DEFINEしとかないとエラーになるようだ
ちゃんとしてあれば __PROCESSOR_SPEED__ に400000000を設定してくれる(400MHzね)
これはコンパイラオプションに、
ーD__ADSPBF592A__
を書き足したら消えたが先は長そう^^;