C言語の拡張


 DSPプログラムを効率よく作成するために、 C言語を一部拡張しています。 代表的なものとして、以下のものがあります。

この中で絶対に必要なものはdm, pmです。


メモリ指定

 SHARCプロセッサは DM (Data Memory) とPM (Program Memory) という 2つのメモリ空間を持っています。 dmpmは、このどちらを使うかを指定します。 staticと同じように使います。 例えば、下記のようになります。

dm float delay[TAPNUM+1];   /* データはDMに置かれます */
pm float coef[TAPNUM];      /* データはPMに置かれます */
float pm * dm ptr;          /* PMに置かれたfloatデータに対するポインタがDMに置かれます */
なお、メモリ指定を省略した場合には、 データはDMに、プログラムはPMに置かれます。


インライン関数

 実際に関数を呼び出すのではなく、 関数に相当する処理を呼び出し元に展開します。 ただし、再帰呼び出しをするような関数などは通常の関数と同様に扱われます。 下記のように使用します。

inline int Function(int x)
{
  .......
}


(作成: 2000年6月12日, 最終更新: 2001年9月17日)