PizzaFactoryがBF532に対応
やった!
ということで、早速ビルドし、焼いてみました。動きます。簡単、痛快です。
ちょっと気になったのが、先週作ったのがサンプル・プロジェクト。これのターゲットは、PizzaFactory上ではBF533になっており、周波数は600MHzのまま強引にメモリ配置のみ変更しています。これをBF532に変更できるでしょうか。
…できませんでした。PizzaFactory(Eclipse)は、途中からターゲットを変更できないようです。仕方ないか。結局、同じ名前の新しいサンプルを作り、強制的にCVSに上書きしました。CVSとの同期に関しては、双方の衝突を解決するツールがPizzaFactoryにあるので、特に困ることなく問題を解決できました。
ついでに、懸案だったブートの高速化を行いました。VisualDSP付属のinitializerサンプルを改造して使いました。
.GLOBAL _initcode .section L1_code; _initcode: /***************************************************************************** Pre-Init Section Save all used register on the stack *****************************************************************************/ link 0; [--SP] = ASTAT; [--SP] = (R7:6,P5:4); /***************************************************************************** Change SPI clock ******************************************************************************/ p5.L = lo( SPI_BAUD ); p5.H = hi( SPI_BAUD ); r7 = 10; /*2.7MHz*/ w[p5] = r7; ssync; /***************************************************************************** Post-Init Section Restore all saved registers from stack ******************************************************************************/ (R7:6,P5:4) = [SP++]; ASTAT = [SP++]; unlink; RTS; _initcode.end:
で、出来上がったdxeをelfloaderでinitializerとして指定すると、ブートの頭でSPIのクロック周波数がかわり、即座に起動するようになります。
elfloader -proc ADSP-BF532 -width 8 -init spiinit.dxe sample1.dxe