0

私が使用している大規模なAdaプログラムがマイクロプロセッサまたはマイクロコントローラで実行できるかどうかを知りたいのは、低電力要件の専用パッケージに実装する可能性を模索しているからです。

このプログラムは、Ada 95の500を超えるソースファイルであり、Win XPで10MBの実行可能ファイルにコンパイルされ、最大200MBのメモリを使用します。複数のスレッドを必要とせず、「リアルタイム」で実行する必要もありません。

これは、このサイズのプログラムでも意味がありますか?もしそうなら、オペレーティングシステムのオプションは何ですか?コードをOSと互換性を持たせるために、コードを大幅に変更しますか?

4

2 に答える 2

2

あなたが現在見ているその大きなサイズの多くは、XPのような大きなファットOSで実行するためにプログラムが必要とするものと関係がある可能性が高いです。

もちろん、あなたのプログラムが実際にはたくさんの巨大な配列か何かに依存している可能性があり、それが適合する方法はありません。ここからは本当に言えません。

私の場合は、検討しているプラ​​ットフォームについてAdaベンダーに連絡し、実現可能性調査について支援を求めます。一般に、組み込みターゲットでのAdaコンパイラのライセンスは、ベンダーがこのような個別の販売前の注意を喜んで提供するのに十分な生地にぶつかります。

もう1つ言及する必要があります。Adaには非常に広範なランタイムライブラリがあります。これには、特に、完全なタスクおよびタスク同期カーネルが含まれます。WindowsやLinuxのような「ビッグファットOS」上のプログラムは、それを必要としない場合でも、それらを取り込むことがよくあります。ほとんどのコンパイラは、不要なクラッドを取り除く方法を提供します。もちろん、小さな組み込みターゲットのコンパイラはそれを行う必要があります。したがって、より小さなプラットフォームをターゲットにして構築すると、そのサイズの多くが自然になくなる可能性があります。必要に応じて、実行時のオーバーヘッドを最小限に抑えるためのGnatの手順を確認できます。それがベンダーではない場合でも、関係する可能性のある問題のいくつかが表示されるはずです。

于 2012-09-18T14:20:29.073 に答える
0

Debian(Raspbian)ディストリビューションの一部としてGnatを使用しているRaspberry-Piに適しているように思えます。その200MBのフットプリントが単なるデータである場合は、メモリフットプリントに注意を払う必要があるかもしれません...

于 2012-11-19T16:46:52.117 に答える