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