__cplb_ctrl

__cplb_ctrl*1でキャッシュをイネーブルにしても、プロセッサ上のICPLB/DCPLB自身が正しく設定されていないかぎり、プロセッサは正しく動作しません。
VisualDSP++ランタイムはCPLBの初期値を_dcplbs_tableおよび、_icplbs_tableの二つの大域変数から取り出します。この変数はVisualDSP++のコンパイル済みオブジェクトとして提供されており、LDFの中で明示的にファイル名が指定されています。ADSP-BF533の場合、オブジェクト・ファイルはcplbtab533.dojです。
独自のCPLBを構築するには、このdojファイルを自分で作り直す必要があります。その手順は以下のとおりです。

  1. インストール・ディレクトリの下の blackfin\lib\src\libc\crt\cplbtab533.s をコピーしてプロジェクト・ファイルにコピーする
  2. cplbtab533.sを編集する
  3. 編集したcplbtab533.sをプロジェクトに追加する
  4. LDFを開き、$OBJECTS変数から cplbtab533.doj を削除する

これによって独自のCPLBをADSP-BF533に登録することができます。

*1: アセンブリ言語では ___cplb_ctrl