【解決方法】LLVM 10.0.1.1 ツールキットによって生成されるバイナリのサイズを制御するにはどうすればよいですか

プログラミングQA

[ad_1]

やあ、

私の問題に対する答えを持っている人がここにいるかもしれないことに気付きました。

1 月に新しいハードウェアが到着したら、A53 コアの 1 つを使用して i.MX8QM チップで簡単なテスト アプリケーションを作成する作業を行っています。 当社のハードウェアは、I.MX8QM MEK ボード設計から派生したものです。

必要なことは、UART の Rx ラインで受信したものを UART Tx ラインで単にエコーすることだけです。

MEK ボード上で問題なく動作するようになりました。 LLVM ツールキット (バージョン 10.0.1.1) を使用してコンパイルおよびリンクする WindRiver ワークベンチを使用します。

アプリケーションは、PCIE などの他のより複雑なものをテストするために私の同僚が書いたより複雑なものに基づいています…
不要なコードをすべて取り除き、UART インターフェイスを処理するためにいくつか追加しました。

私が抱えている唯一の問題は、コードをどれだけ削除/削減しても、最終的なバイナリファイルが常に正確に 327680 バイト (つまり: 5 x 64KBytes ) のままになることです。

常にその最小サイズを維持し、必要に応じて追加のパディングを提供するための指示がどこかにあると思いますが、それらの指示/セットアップファイルがどこにあるかを見つけることができませんでした.

バイナリを 256 KB に減らしたい理由は、SDRAM を起動して実行する際に問題が発生した場合に備えて、I.MX8QM チップの 256 KB OCRAM からアプリケーションを実行したいからです。

スタックとヒープを元の半分に減らしたので、256K バイトで動作するはずですが、それでも問題なく動作します。

ヘルプ/提案は大歓迎です。

私が試したこと:

うんざりしてグーグルで検索しましたが、有用な答えが見つかりませんでした。

解決策 1

特定のツールチェーンとハードウェアがわかりません。 私が他の Cortex-M ツールチェーンと相談するのは、MAP ファイル (リンカーが行ったことのテキスト レポート) です。 これにより、画像のどの部分がどの部分を占めているかが正確にわかります。
乾杯
そして私

[ad_2]

コメント

タイトルとURLをコピーしました