Lütfen Linux'u (uClinux) destekleyen bazı Cortex-M3 platformları için bu siteyi kontrol edin:
http://www.emcraft.com/
Aşağıdaki Cortex-M3 MCU'larında başarıyla uClinux kullanıyoruz: NXP’nin LPC1788’i, STmicro’nun STM32F2’si, Actel’in SmartFusion’ı ve bir çiftine daha fazla destek ekleme süreci devam ediyor: Freescale Kinetis, STM32F4 (bu ikisi Cortex-M3 yerine Cortex-M4 .
Doğru, Linux (uClinux dahil) çalışmak için harici RAM gerektirir - Cortex-M'nin entegre SRAM'i ultra küçük bir Linux yapılandırması için bile yeterince büyük değildir; pratik yapılandırmalar için en az 4 MB harici RAM gerekir. Aslında, daha iyi, aslında - eğer uygulamanızın "özelliklere" ihtiyacı varsa, Linux her şeyi desteklemektedir ve daha az değil, daha fazla RAM eklediğiniz için üzülmeyeceksiniz.
Harici RAM için kullanılacak belirli cihazlarla ilgili olarak, hepsi belirli bir MCU tarafından sağlanan harici bellek arayüzü ile tanımlanır. STM32F ve SmartFusion yalnızca SRAM'ı destekler; 6-7 dolara 16 MB 70ns PSRAM (daha hızlı işlem için Sayfa Modu ile) alabileceksiniz; LPC1788 daha hızlı SDRAM hafızalarını destekler; Kinetis K70, DDR2'yi (64 MB'lık bir cihaz için 5 $), vb. Destekler. Tüm bu anılar statik zamanlarda sadece uA seviyelerinde güç çekiyor.
Önyüklenebilir bir Linux yüklemek için bir şeye ihtiyacınız var, ancak bu herhangi bir konuda olabilir - ağ, SD Kart, SPI EEPROM, NOR veya NAND Flash, vb.
Genel olarak, Linux'un bir Cortex-M3 tasarımı için tamamen pratik bir seçenek olduğunu düşünüyorum.
Güncelleştirme
Cihazınızın çoğu zaman boşta olduğu birçok güce duyarlı uygulama vardır, ancak çalışırken küçük bir RTOS kullanarak elde edilmesi kolay olmayacak birçok şeyi yapabilmesi gerekir. Güvenli bağlantılar, VLAN, TCP / IP tüneli, SNMP, SD Kart, USB aygıtı / ana bilgisayarı, WiFI, vb.
Daha küçük bir RTOS ile bu özelliklerden bazıları mevcut olacak, bazıları olmayacak, ancak hikayenin sadece bir kısmı. Müşterilerimizle gittikçe daha fazla gördüğümüz şey, Cortex-M3 kullanan gömülü tasarımların bu gelişmiş özelliklerin sadece 1 veya 2'sine ihtiyaç duymaması, birçoğunun tek bir cihazdan ihtiyaç duymasıdır. Bir RTOS bir tasarımın ihtiyaç duyduğu tüm özellikleri sağlasa bile, hepsini çipte belleğe sıkıştırmak zor olacak. uClinux veya değil, benim tahminim trendin gittikçe daha fazla Cortex-M tabanlı tasarımların harici bellek kullanacağı şeklinde olacağı yönünde. Tabii ki, tasarımınızda harici RAM aldığınızda, uClinux daha mantıklı olmaya başlar.
Cortex-M tarafından sağlanan düşük işlem gücüyle ilgili olarak (Linux çekirdeğinin gereksinimlerine göre ölçüldüğü gibi), son bir deneyim olarak, Freescale K70 MCU'da uClinux'ü yeni etkinleştirdik. Bu bir Cortex-M4'tür (Cortex-M3 plus donanım FP ve DSP üniteleri ile aynıdır); 2x8KB çip üzerinde önbellekleri olan yüksek yoğunluklu RAM (DDR2) ve Flash (NAND) ile çip üzerinde arabirimler. 120MHz Cortex-M çekirdeği, yakında 150MHz parçaları geliyor.
Linux (uClinux) bu cihazda çok güzel çalışıyor. 'Dhrystone' kullanarak, 250Mhz Freescale PowerPC kutusunda elde ettiğimiz% 50 civarında performans elde ediyoruz. Hızlı başlatma, çok sayıda RAM (TWR-K70 modülü 128 MB RAM ve 256 MB NAND Flash sağlar), ağ iletişimi, JFFS2, framebuffer, SSH, HTTPD, Qt / E - tüm bunlar K70 üzerinde gayet iyi çalışıyor. Genel kullanıcı deneyimi, MMU dolu bir mikroişlemcideki normal "gömülü Linux" unuzdur.
İşte Freescale Kinetis K70 Cortex-M4 MCU’da çalışan canlı bir uClinux oturumunun videosu:
http://www.youtube.com/watch?v=UZjJrLG9CeA