2009-10-05 7 views
11

組み込みLinuxデザインでは、組み込みLinuxの多くのことを行うための要件が​​あります。しかし、設計はコストに敏感であり、馬力の莫大な量を必要としません。主にシリアルインターフェイスと話すことになります。理想的には、ローエンドARMの1つを使用したいと考えています。組み込みLinuxの使用に成功したARMの最小構成は何ですか?組み込みLinuxをARMプロセッサで実行するための最小構成ですか?

編集:

アプリケーションがフラッシュデバイスとデータを処理するためのアプリケーションを実行する機能のいくつかの種類のファイルシステムを必要とします。アプリケーションの中には、自分以外の人が書くものもあります。私はまた、新しいアプリケーションを読み込むか、シリアルポートを使って古いアプリケーションを更新して、アプリケーションを受け入れる能力が必要です。

私は他の組み込みOSを見ても、アプリケーションを実行する能力よりもリアルタイムのスレッド化ソリューションのほうが多いようです。私は今までに何をしているのかを知っています。

+0

アプリケーションについてさらに情報を提供できますか? 本当にちょっとしたシリアルデバイスと話をして情報を渡し、ARM + Linuxがコストと複雑さの両方で不合理になる可能性が高い場合、特にツールチェーンとそのようなデバイス上のOSの設定に慣れていない場合。 – Mark

答えて

12

私はあなたのコストオプションをここでは重視する必要があると思います。

ARM + Linuxはオプションですが、そのような単純な(機能の説明からの)一連の機能に対して非常に高い動作オーバヘッドを支払うことになります。 ARMチップのコストを見るだけではなく、外部RAMも考慮する必要があります。これは、カーネル+アプリケーションを実行するのに十分なスペースを確保するためにフラッシュと同様に必要となる可能性が非常に高いでしょう。

注:ごくわずかなカーネルと大きな内部リソースを持つuCと組み合わされた単純なアプリケーションでは、外部要件を回避できます。

2番目のオプションは、軽量OSのはるかに簡単なマイクロコントローラです。これにより、CPUのハードウェアコストが削減され、外部RAMやフラッシュなしで(アプリケーションRAMとプログラムのスペース要件に応じて)このようなことを実行する可能性があります。

3番目のオプション:すべてのOSが使用されることを要求します。基本的なファイルシステムは非常にシンプルです。たとえば、8ビットのPIC用のFATドライバもあります。 SDカードに接続するには、SPIポートと最小限の外部回路が必要です。

アプリケーションビットは単純でも複雑でもかまいません。私はWebサーバーを実行し、簡単なアップロード画面でプログラムの更新を許可するPIC18マイクロコンボール周辺のシステムを構築しました。新しいプログラムをEEPROMまたはフラッシュに保存し、ブートローダに再起動して新しいプログラムを内部プログラムメモリにコピーします。協調型マルチタスキングタイプのアーキテクチャを介して再起動することなく、これを行う方法を設計する可能性があります。アプリケーションを書くプログラマーに行く方法は、あなたが書いたライブラリ/ドライバへのアーキテクチャとアクセスの知識を持つ必要があるでしょう。これを簡単にするための最良の方法は、できるだけ単純なAPIを提供し、それらのビルドプロセスを自動化しようとすることです。

3つ目のオプションは、アプリケーションの処理にかかるオーバヘッドがほとんどなく、ハードウェアの点では最も安価であり、処理能力とメモリを最小限に抑えることができます。これは、プログラミング/ソフトウェアのアーキテクチャーをいくらか必要とするでしょうが、Linuxのパラダイムの下で必要なデバイスドライバーを書くことに加えて、Linuxを稼働させるために必要な研究をほとんど必要としません。

いつものように、ソフトウェア開発コストはデバイスの構築コストに含める必要があります。 10,000以上を構築する予定の場合は、ハードウェアコストを抑え、より多くの人の力を入れて、ハードウェアが設計目標を達成できるようにするソフトウェアソリューションを設計することをお勧めします。あなたの建物が10の場合は、ソフトウェア開発コストを削減できる場合は、ハードウェアに15〜20ドルを追加するのがよいでしょう。たとえば、完全なlinuxカーネルサポートと利用可能なデバイスドライバを備えたMMUを備えたARMです。

私は今のところ両方の世界の中で最悪のものを選んでいると感じています。あなたはLinuxを走らせることができますが、取得するのが最も複雑な部分linuxを立ち上げて稼動しています。特に以前は組み込みプラットフォームでlinuxで作業していませんでした。

2

私はARM7TDMIでも成功しています。だから、あなたは何のトラブルも起こさないと思います。要件の低いシステムを使用している場合は、あらゆる種類の軽量リアルタイムエグゼクティブを使用することができ、Linuxを動作させるよりもはるかに優れた経験をすることができます。

2

Debian GNU Linuxを使用して、Webサーバとメールサーバを稼動させるのに、約5年間、TS-7200を使用しました。これは200MHzで、32MBのRAMを備えており、これらの作業には十分適しています。シリアルポートが内蔵されています。これはARM920Tをベースにしています。

これはあなたの仕事にとって過労です。他のデータポイントを持つように言います。

2

ucLinuxは、リソース制約のあるターゲット用に設計されていますが、MMUのないターゲットの場合は特に重要です。

ただし、小さなリアルタイムのエグゼクティブではなく、そのようなシステムでLinuxを使用するのは正当な理由があります。すぐに使えるネットワーキング、複雑なハードウェアのための容易に利用可能なドライバとプロトコルスタック、既存のPOSIXレガシーまたはオープンソースコードのサポートはおそらくいくつかあります。しかし、あなたがそれを必要としないならば、Linuxは依然として大きく、本当の利益のためにリソースを浪費しているかもしれません。ほとんどの場合、フレーバーのLinuxを選択する場合、オフチップのSDRAMとFlashが必要になります。

あなたは複雑であるが、標準的なプロトコルを実行している場合を除き、あなたの簡単な説明はここ数年IMO

2

のLinuxの使用を正当化するためには表示されませんので、私は、「複雑なハードウェア」として、シリアルI/Oを考えていないだろう私はa gumstixを使ってプロトタイプとテストを行ってきました。私はそれを使って良い結果を出しました。彼らが使用しているプロセッサ(私のボード上のIntel PXA255)が低コストと考えられるのかどうかはわかりませんが、Verdexのライン全体は、適応可能なデバイスにとってかなり安いようです。

0

私のDLINK DIR-320ルータは、Linuxを内部で実行します。

私は、Optwareでフラッシュして、USBハブ、HDD、USBフラッシュなどを接続しています。

これは、低価格で「プラットフォーム」として使用できる状態です。 (大量生産が必要ない場合)。しかし、あなたが必要とするよりも強力かもしれません。

さらに、Webインターフェイス経由でもPDA経由で設定することができます:)

関連する問題