通常、組み込みデバイスの場合、ソフトウェアを直接コンパイルすることはありません。 cross-compilation
と呼ばれるものを実行する方が快適です つまり、通常の PC を使用して x86 以外のアーキテクチャにコンパイルすることです。
Linux は初めてだとおっしゃいました。参考までに、あなたは大きな問題に直面しています:組み込みデバイスへのクロスコンパイルは簡単な仕事ではありません.
あなたの HMI システムを調査したところ、Yocto に関する結果がいくつかあることに気付きました。Yocto
つまり、組み込みデバイス用のファームウェアを構築するためのフレームワーク全体です。
HMI はオープン ソース プロジェクト (Linux、おそらく busybox など) を大量に使用しているため、メーカーはする必要があります。 すべてのオープン ソース コンポーネントを自分で再構築する方法を提供します。通常、それを行う必要があるのは BSP
(ボード サポート パッケージ)。通常、ハードウェア メーカーが出荷します:
buildroot
の使用 ファームウェア全体をゼロから再構築できるプロジェクトyocto
の使用 対応する yocto プロジェクトの新しいコピーに追加されたメタを使用すると、ファームウェア全体を再構築することもできます。- まれに、たくさんのくだらないスクリプトとビルド済みのコンパイラ。
だから、もし私があなただったら:
<オール>さらにググってみると、github で Yocto メタを見つけました。
このメタによって実装されたマシンは、メタのディレクトリ conf/machine で確認できます。
現在、次のコードネームで定義されている 5 つのマシンがあります:
- us01-kit
- us02-kit
- us03-kit
- usom01
- usom02
ですから、これを掘り下げることをお勧めします。これはおそらく、自分でソフトウェアを構築する方法です。また、github アカウントのこのページを確認すると、さらに手がかりが得られる場合があります。
クロスコンパイルに関するbinarymの回答に同意します。ただし、このような保守的なハードウェアを備えたマシンで直接コンパイルしたい場合は、x86 アーキテクチャで約 100KB を占める Tiny C Compiler (tcc) などの小さなコンパイラを検討することをお勧めします。ただし、C11 ではなく、ISO C99 までしかサポートを拡張していないことを指摘しておきます。