Silakan periksa situs ini untuk beberapa platform Cortex-M3 yang mendukung Linux (uClinux):
http://www.emcraft.com/
Kami berhasil menjalankan uClinux pada MCU Cortex-M3 berikut ini: NXP's LPC1788, STM32F2 milik STmicro, SmartFusion dari Actel, dan sedang dalam proses menambahkan dukungan untuk beberapa lagi: Freescale Kinetis, STM32F4 (keduanya lebih Cortex-M4 daripada Cortex-M3) .
Benar, Linux (termasuk uClinux) membutuhkan RAM eksternal untuk menjalankan - SRAM Cortex-M terintegrasi hampir tidak cukup besar bahkan untuk konfigurasi Linux yang sangat kecil; Anda memerlukan setidaknya 4MB RAM eksternal untuk konfigurasi praktis. Semakin banyak lebih baik, pada kenyataannya - jika aplikasi Anda membutuhkan "fitur", Linux memiliki dukungan untuk apa saja dan Anda tidak akan menyesal telah menambahkan lebih banyak RAM daripada kurang.
Sehubungan dengan perangkat tertentu yang digunakan untuk RAM eksternal, semuanya ditentukan oleh antarmuka memori eksternal yang disediakan oleh MCU tertentu. STM32F dan SmartFusion hanya mendukung SRAM; Anda bisa mendapatkan 16MB 70ns PSRAM (dengan Mode Halaman untuk operasi yang lebih cepat) seharga $ 6-7; LPC1788 mendukung memori SDRAM yang lebih cepat; Kinetis K70 mendukung DDR2 ($ 5 untuk perangkat 64MB), dll. Semua memori tersebut menarik daya hanya pada tingkat uA pada waktu statis.
Anda memerlukan sesuatu untuk memuat Linux yang dapat di-boot, tetapi ini bisa mengenai apa saja - jaringan, SDcard, SPI EEPROM, NOR atau NAND Flash, dll.
Secara keseluruhan, saya berani mengatakan bahwa Linux adalah pilihan yang sangat praktis untuk desain Cortex-M3.
Memperbarui
Ada banyak aplikasi yang peka terhadap daya di mana perangkat Anda idle hampir sepanjang waktu, namun saat berjalan, ia harus dapat melakukan banyak hal yang tidak mudah dicapai dengan menggunakan RTOS yang lebih kecil. Koneksi yang aman, VLAN, tunneling TCP / IP, SNMP, SD Card, perangkat USB / host, WiFI, dll dan daftar persyaratan berjalan dan terus.
Dengan RTOS yang lebih kecil beberapa fitur tersebut akan tersedia, beberapa tidak, namun itu hanya sebagian dari cerita. Apa yang kami lihat dengan pelanggan kami semakin banyak adalah bahwa desain yang disematkan menggunakan Cortex-M3 tidak hanya membutuhkan 1 atau 2 dari fitur-fitur canggih, mereka membutuhkan banyak dari mereka dari satu perangkat. Bahkan jika sebuah RTOS menyediakan semua fitur yang dibutuhkan oleh desain, memasukkan semuanya ke dalam memori on-the-chip akan menjadi tantangan. uClinux atau tidak, dugaan saya adalah bahwa trennya adalah semakin banyak desain berbasis-Cortex akan menggunakan memori eksternal. Tentu saja, begitu Anda mendapatkan RAM eksternal dalam desain Anda, uClinux mulai lebih masuk akal.
Mengenai kekuatan pemrosesan yang rendah yang disediakan oleh Cortex-M (yang diukur berdasarkan persyaratan kernel Linux), sebagai pengalaman baru-baru ini, kami baru saja mengaktifkan uClinux pada Freescale K70 MCU. Ini adalah Cortex-M4 (yang sama dengan Cortex-M3 plus perangkat keras FP dan unit DSP); antarmuka on-chip ke RAM high-density (DDR2) dan Flash (NAND), dengan cache on-chip 2x8KB. Inti Cortex-M 120Mhz, dengan bagian 150Mhz segera keluar.
Linux (uClinux) berjalan dengan cantik di perangkat ini. Dengan menggunakan 'dhrystone', kami mendapatkan kinerja sekitar 50% yang kami dapatkan di kotak Freescale PowerPC 250Mhz. Boot cepat, banyak RAM (modul TWR-K70 menyediakan 128MB RAM dan 256MB NAND Flash), jaringan, JFFS2, framebuffer, SSH, HTTPD, Qt / E - semua ini berjalan dengan baik di K70. Pengalaman pengguna secara keseluruhan adalah "embedded Linux" reguler Anda pada mikroprosesor MMU-penuh.
Berikut ini adalah penunjuk ke video sesi uClinux langsung yang berjalan pada Freescale Kinetis K70 Cortex-M4 MCU:
http://www.youtube.com/watch?v=UZjJrLG9CeA