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