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が元気に回りましたよ