このプロジェクトについては、「マイクロ信号アーキテクチャを使用したWiley-Embedded SignalProcessing.2007」で説明しています。2DDCT/IDCT(画像圧縮)を実装しました。画像を使用した別の個人プロジェクトと組み合わせます(これらのファイルを..に移動します)。Blackfin BF537のVisualDspでの処理(* .cppファイルのみ)。(最初はシミュレーターで、その後はBF537ボードで..)
実装されたプロジェクト2DDCT/IDCTには*があります。cおよび*。asmファイルとそれは非常にうまく機能します。ある時点で、いくつかの計算では、Cファイルからasmファイルで宣言(および実装)された関数を使用しています。
プロジェクト内でこれらの*.cファイル(* .cppファイルのみを含む)を移動すると、多くのエラーが発生し、次のようなエラーが発生することに気付きました。
"`[Error li1021] The following symbols referenced in processor 'p0' could not be resolved:
'something [_something]' referenced from '.\Debug\project name.doj'"
したがって、プロジェクトには* .cppファイルだけが必要だと思います(*.cppと*.cの組み合わせではありません)。
2D DCT / IDCTプロジェクトでは、これらすべてを変更すると問題が発生します* 。cファイルを*に。cppファイル。ビルドしようとすると、次のリンクエラーが発生します。
"[Error li1021] The following symbols referenced in processor 'p0' could not be resolved:
'_r8x8dct(short *, short *, short *) [__r8x8dct__FPsN21]' referenced from '.\Debug\Start_DCT2.doj'
'_r8x8invdct_ieee(short *, short *, short *) [__r8x8invdct_ieee__FPsN21]' referenced from '.\Debug\Start_DCT2.doj'"
の *。cppファイルこれは私がasmに実装された関数を呼び出す方法です:
_r8x8dct(in,coeff,temp);
同じ*で。cppファイル私は関数を宣言したヘッダーファイルをインクルードします:
void _r8x8dct(fract16 *in, fract16 *coeff, fract16 *temp);
そしてここに*の一部があります。関数を含むasmファイル:
.section L1_code;
.global __r8x8dct;
.align 8;
__r8x8dct:
.....................................
__r8x8dct.end:
機能付きアナログ$_r8x8invdct_ieee()
*英語の筆記ミスで失礼します