0

仕事では、C2000 コア Texas Instruments TMS320F DSP マイクロコントローラーを使用しています。私たちは単一のコードベースと単一のコア製品から始めました。お客様の要件により、svn リポジトリからさまざまな構成、さらにはさまざまな製品用に多くの変更されたブランチが作成されました。これらはすべて、同じ制御ユニット PCB とマイクロコントローラーを共有し、場合によっては外部に接続された異なる周辺機器を使用します。異なる構成の例としては、変更された ADC ルーチンとシーケンサー構成 (および ADC キャリブレーションの異なるオフセットとスケール値) を使用する 1 つの製品と、異なる制御ルーチン/PID チューニング値などがあります。

製品のさまざまなファームウェア プロジェクトをすべて維持および更新するのは負担になり、私は唯一の開発者です。差異レポートを使用してすべてのファームウェア プロジェクト間の差異を最小限に抑え、#ifdef ステートメントと #ifndef ステートメントで #defines を正しくセットアップして、すべてのファームウェア プロジェクトを条件付きでコンパイルし、おそらく 10 ほどのファームウェアすべてをビルドするなどのアイデアを検討しています。すぐに。

ビルド環境を設定して #define _BUILD_CFG_1 をフィードし、コンパイルを終了してから #define _BUILD_CFG_2 などをフィードすると、10 個のコンパイル済みファームウェアが残ります。すべて同じバージョンですが、構成が異なります。

もう 1 つのアイデアは、フラッシュをセットアップし、異なる構成を表すフラッシュ内の特定のビットに応じて、実行時にコードの異なるセクションを実行することでした。これは、すべての製品に対して単一のファームウェアを使用していたことを意味します。この方法は、他の設定とその動作を考慮すると、おそらく実用的ではありません。また、CPU リソースを要求されるため、パフォーマンスの低下も懸念されます。

参考までに、Texas Instruments Code Composer V4 を使用しています。

他に行く方法はありますか?

本当にありがとう!

4

1 に答える 1

1

IIRC Code Composer は、きれいな IDE の下で実行する Makefile を作成します。

適切な変数を設定する別の Makefile を作成し、IDE によって作成された Makefile を呼び出し、結果の実行可能ファイルを最終的な保存場所に移動することができます。

于 2013-04-04T11:47:28.520 に答える