3.1系のビルドコンフィギュレーションフレームワークを一新します.

昨夜30時ごろに日記に書いている最中にSafariが落ちてしまい,そのままふて寝したネタ.

無償版を含め,PizzaFactory3.1系のビルドコンフィギュレーションフレームワークを一新します.
ことの起こりは,Blackfinや一部のARM系ターゲットで,TOPPERS/JSPカーネルのビルドができない*1という,ユーザからの指摘でした.
ad hocにパッチする手もあり得たのですが,今後,ターゲットが増えて行くと,保守できなくなる可能性が高いと踏みました.
 
検討の結果,数個の拡張ポイントの追加が行われました.既存のプロジェクトを使っている限りは,アップグレードが行われた事が気づかないようにしています*2
が,新規プロジェクトウィザードのユーザインタフェースが変わります.
詳しいことは,数日中に本家サイトにマジメな文章が載ると思います.

以下,速報.

サンプルやターゲット依存部の改良

今回のフレームワーク更新で,ターゲット依存部やサンプルを増やすときに,Javaを意識する必要はほぼ完全に無くなりました.サンプルを追加する開発者はおそらく組込み開発者で,Eclipseの技術者ではありません,この点は重要です.従来もJavaのコードを書く必要が無いように設計していたのですが,さらに洗練させました.

サンプル周りでは,サンプルを表示させる条件を細かく指定できるようにもしました.例えばBlackfin用JSPの公式リリースには,DSP機能を有効活用するための独自のサンプルファイルがついています.従来のサンプルテンプレート機能では,固有のターゲットに応じて選択可能なサンプルを絞り込むのが困難で,PizzaFactory3に採り込むのが困難でした.
この点は,実はかなり前から気になっていて,いつか改善が必要だと思っていた箇所です.

プロジェクトの分類方針を変更

サンプル周り以上に大きな更新は,プロジェクトの分類方針です.プロジェクトタイプの区分を,ターゲットボードではなく,ツールチェインにしました.
従来の考え方では,同じプロセッサシリーズのものでも別のプロジェクトを作る必要があります.
BF533/BF537やSH1/2のようにほぼ同じターゲットの場合,途中でハードウェア設計や部品供給の都合でターゲットプロセッサが変わることが稀に有ります.新フレームワークでは,このようなプロジェクト途中のターゲットプロセッサ変更に対して,柔軟に対処できます.

上記の分類の変更により,TOPPERSカーネル用とFreestanding用の新規プロジェクトウィザードが別れました.

*1:厳密には,テンプレートが展開されない

*2:昨日の日記で,projectTypeをユーザに気づかれないように入れ替えるというのは,この作業で必要となった作業なのでした.