Linux(uClinux)をサポートするCortex-M3プラットフォームについては、このサイトを確認してください。
http://www.emcraft.com/
次のCortex-M3 MCUでuClinuxを正常に実行します:NXPのLPC1788、STmicroのSTM32F2、ActelのSmartFusion。 。
確かに、Linux(uClinuxを含む)を実行するには外部RAMが必要です-Cortex-Mの統合SRAMは、超小型のLinux構成でも十分な大きさではありません。実際の構成には、少なくとも4MBの外部RAMが必要です。実際、アプリケーションが「機能」を必要とする場合、Linuxはあらゆるものをサポートしており、RAMの容量を減らしたのではなく、増やしたのは残念です。
外部RAMに使用する特定のデバイスに関しては、すべて特定のMCUが提供する外部メモリインターフェイスによって定義されます。STM32FおよびSmartFusionはSRAMのみをサポートします。$ 6-7で16MB 70ns PSRAM(より高速な操作のためのページモード)を取得できます。LPC1788は、より高速なSDRAMメモリをサポートしています。Kinetis K70はDDR2(64MBデバイスの場合は5ドル)などをサポートします。これらのメモリはすべて、静的な時間にわずかuAレベルで電力を消費します。
起動可能なLinuxをロードするには何かが必要ですが、これには何でもかまいません-ネットワーク、SDカード、SPI EEPROM、NORまたはNANDフラッシュなど。
全体として、LinuxはCortex-M3デザインの完全に実用的なオプションであると思います。
更新
デバイスがほとんどの時間アイドル状態になっている消費電力に敏感なアプリケーションがたくさんありますが、実行時には、小さなRTOSを使用して簡単に達成できない多くのことを実行できる必要があります。安全な接続、VLAN、TCP / IPトンネリング、SNMP、SDカード、USBデバイス/ホスト、WiFIなど、および要件のリストは延々と続く。
より小さなRTOSでは、これらの機能の一部が利用可能になりますが、一部は利用できませんが、それはストーリーの一部にすぎません。お客様にますます多く見られるのは、Cortex-M3を使用する組み込み設計では、1つまたは2つの高度な機能だけでなく、単一のデバイスから多くの機能が必要なことです。RTOSがすぐに使用できる設計に必要なすべての機能を提供している場合でも、すべてをオンチップメモリに詰め込むのは困難です。uClinuxかどうかはともかく、トレンドは、ますます多くのCortex-Mベースの設計が外部メモリを使用するようになるだろうと推測しています。もちろん、デザインで外部RAMを取得すると、uClinuxがさらに意味を持ち始めます。
Cortex-Mが提供する低処理能力(Linuxカーネルの要件に対して測定)に関して、最近の経験として、Freescale K70 MCUでuClinuxを有効にしたところです。これはCortex-M4です(Cortex-M3にハードウェアFPおよびDSPユニットを加えたものと同じです)。2x8KBオンチップキャッシュを備えた、高密度RAM(DDR2)およびフラッシュ(NAND)へのオンチップインターフェイス。120Mhz Cortex-Mコア、150Mhzの部品がまもなくリリースされます。
Linux(uClinux)は、このデバイス上で美しく動作します。「dhrystone」を使用すると、250MhzのFreescale PowerPCボックスで約50%のパフォーマンスが得られます。高速起動、大量のRAM(TWR-K70モジュールは128MBのRAMと256MBのNANDフラッシュを提供)、ネットワーキング、JFFS2、フレームバッファー、SSH、HTTPD、Qt / E-これらはすべてK70で正常に動作します。全体的なユーザーエクスペリエンスは、MMUフルマイクロプロセッサ上の通常の「組み込みLinux」です。
以下は、Freescale Kinetis K70 Cortex-M4 MCUで実行されているライブuClinuxセッションのビデオへのポインターです。
http://www.youtube.com/watch?v=UZjJrLG9CeA