_mi_initialize

_mi_initializeを使う場合はあらかじめ知っておくべき重大な問題があります。現在の_mi_initializeはL1命令SRAMへ初期値を展開できません。つまりノーブートの場合はL1命令SRAMを使えないのです!
もちろん、これには逃げ道があります。_mi_initializeのソースはC言語で書かれていますので、その中のデータコピーを行っている部分をDMA転送に置き換えるだけです*1。関数名をmi_initialize2()に変えてそちらを使うようにすれば、_mi_initializeはリンカーが勝手に削除してくれます。ただ、VisualDSP++に最初から入れておいて欲しい機能ではあります。チップ依存になるので開発する側はいやかもしれません。

*1:アノーマリー50とまともにぶつかるのでで用心が必要です