Microchip MCLVのサンプルがビルドできない件について

所用でBLDCを動かすことになって,下記の評価ボードを購入したところ,すんなり行かなかった点についてメモ
DM330021 Microchip Technology | 開発ボード、キット、プログラマ | DigiKey

どうやら,コンパイラのバージョンによって挙動が異なるのが原因らしいと海外のフォーラムで知り,下記の点について修正を加えた.
※修正の参考にしたのはコンパイラのインストールフォルダのサンプルです.
 私が使用したコンパイラはv.3.31でした.

まず,AN957で修正した点について


_FICD (ICS_PGD3 & JTAGEN_OFF & COE_ON); //ビルドできない
_FICD (ICS_PGD3 & JTAGEN_OFF);// & COE_ON); //ビルドできる

また,AN1017は上記に加えて更に修正が必要


//ビルドできない
reg_a = __builtin_mac(
x_prefetch,y_prefetch,
&ControlDifferencePtr, &x_prefetch, 2,
&PIDCoefficientsPtr, &y_prefetch, 2, 0
);

//ビルドできる
reg_a = __builtin_mac(
reg_a,
x_prefetch,y_prefetch,
&ControlDifferencePtr, &x_prefetch, 2,
&PIDCoefficientsPtr, &y_prefetch, 2,
0, 0
);

そんな感じでBLDCが元気に回りましたよ