2017-12-31 340 views
0

私は、TI MPS430-F148マイクロコントローラのテスト済み、動作中および出荷時のファームウェアプログラム(C言語)を用意しています。 TIのCode Composer Studioバージョン5.2.1 /コンパイラ・バージョン4.1.1で開発された、使用可能なメモリに適合するよう注意深く作成されました。より高いバージョンのCode Composer Studio/Compilerにアップグレードすると、MSP430-F148のプログラムサイズが大きくなるのはなぜですか?

私はCode Composer Studio 5.2.1からプロジェクトをエクスポートし、TIのCode Composer Studioバージョン7.4.0にインポートしました。プロジェクトをビルドすると、次のエラーメッセージが表示されます。

"エラー#10099-D:プログラムは使用可能なメモリに収まりません。"

この

は、コンパイラのバージョン4.1.1で作成された私のプログラムを言う警告が続いたが、他のコンパイラのバージョンが使用されます。

は、「このプロジェクトは、あるコンパイラのバージョンを使用して作成されました現在インストールされていない - 4.1.1 [MSP430]。ビルド中に別のバージョンのコンパイラが使用される - 16.9.6.LTS。 "

警告の追加テキストは、以前のバージョンのコンパイラの入手とインストールを推奨しています。バージョン4.1.1に最も近いバージョンを見つけてインストールしました。バージョン4.1.9

次に、予想どおりにメモリをスペアにしてプロジェクトを作成しました。その後のテストに合格しました。問題は解決しましたが、質問が残っています。

同じプロジェクトファイルと同じソースコードを使用して、より高いバージョンのコンパイラを使用しているCode Composer Studioの上位バージョンでも、使用可能なメモリに適合するコードが生成されると想定しました。

私の前提に間違いがありますか?

+0

コンパイラの設定を確認しましたか?特にオプティマイザ設定とデバッグ設定。 – Mandraenke

+0

はい。また、4.xの設定は16.xの設定と一致します。 –

答えて

2

あなたの主な仮定—それは全く同じコンパイラです—は間違っています:「ちょっと」異なるバージョンであっても、別のコンパイラです。あなたは新しいコンパイラを扱うように扱わなければなりません。

私はあなたにソースコードなしでの新しい動作の正確な理由を教えてくれませんが、スピードを最適化する別の方法だと思います。 ChangeLogでは、速度やサイズの最適化をオン/オフするなど、ヒントを得ることができます。あるいは、Mandraenkeが示唆しているように、実際の理由はチェーンのどこかの別の設定に過ぎません。私の最初の推測はMakefileです。

graveバグ修正、いくつかの追加オプション、または新しい標準のサポート、特に大きなMCUの動物園が必要な場合にのみ、コンパイラを変更する必要があります。現在のハードドライブのサイズでは、コンパイラをソースコードと共にアーカイブすることはおそらく最悪の考えではありません。

[1]コンパイラのライセンスが許可されている場合と許可されていない場合があります。

+0

うん、一般的には、コンピュータ、オペレーティングシステム、ツールチェーンなどを含む、製品の少なくとも1つの完全なビルドシステムには適していますが、そのシステム上のものはアップグレードできません。箱、倉庫に保管... –

関連する問題