電音の工場ブログ

当ブログは…

自作エフェクターシンセサイザ製作のネタや開発覚え書きなど、筆者の電音活動を記録しています。お探しの記事が見つからない方は、検索カテゴリ一覧をご利用ください。

スパマーが来訪すると、ときどきコメントをはてなユーザのみに絞ったり開放したりすることがあります。

2007-07-25

ほんのちょびっとdsPIC

|  ほんのちょびっとdsPIC - 電音の工場ブログ を含むブックマーク はてなブックマーク -  ほんのちょびっとdsPIC - 電音の工場ブログ  ほんのちょびっとdsPIC - 電音の工場ブログ のブックマークコメント

先日書いたdsPIC開発環境をいじってみた。

付録CD-ROMに来月号で解説されるプログラムソースコードが同梱されていたので読んでみたところによると、最近のPICではMicrochipが用意したブロックを組み上げるというのが、組み方のトレンドなのだろうか、とにかくライブラリを呼んでいる。ベクタのシフトもベクタ同士の内積も。

内積を呼んでいるところをちょこっと手を加えて、

for (i = 0, tmp = 0; i < N; i++ )
	tmp += A[i] * B[i];

ってコードに挿げ替えて生成されたアセンブリコードを見てみたら、MAC命令は発行してくれていなかった。

まやまや2007/07/25 11:51確かdsPICでの信号処理命令を使うには、アセンブラでないとダメとかどうとか何処かで見たような気が奥があります。Microchipが出しているフィルター設計用のプログラムを使うか、専用ライブラリ(FFTとか)、ないコードはごり押しでアセンブラで記述するしかないのかも知れません。

ChuckChuck2007/07/25 13:51MACまで発行するほど最適化されたCコンパイラではないようですね。MPLAB C30のユーザガイドには、C/ASMミックスド・デザインについてひとつ章を設けて説明してありました。酔漢さんもトラックバックしてくれましたが、マクロやライブラリを用意する戦略なんでしょうね。
ちなみに "dsPIC30F DSP Algorithm Library" はソースコードも公開されていて勉強になります。

トラックバック - http://emusic.g.hatena.ne.jp/Chuck/20070725