FreeRTOS adalah suatu sistem operasi untuk membuat sistem real time berbasis mikroprosesor. Sistem operasi ini cocok untuk sistem-sistem yang kecil dan sederhana. Untuk sistem yang lebih kompleks, diperlukan sistem operasi real-time yang lebih besar seperti eCOS, embedded Linux (or Real Time Linux) ataupun uCLinux.
Berikut ini beberapa mikroprosesor yang cocok untuk menjalankan sistem operasi FreeRTOS.
Prosesor di gambar di atas adalah sebagai berikut:
- NXP LPCXpresso LPC1769
- Espressif ESP8266
- Esperssif ESP32
- Arduino Nano (clone)
- ST Micro STM32F103C8T dan programmernya ST-LINK-V2
Barang-barang yang ditampilkan di sini adalah prosesor yang ada di laboratorium dan sempat dicoba. Masih banyak lagi prosesor yang dapat menjalankan FreeRTOS yang belum dicoba.
Arduino Nano dapat menjalankan FreeRTOS mengingat porting FreeRTOS untuk Atmel AVR tersedia di situs FreeRTOS. Namun kemampuannya terbatas, mengingat memori di ATMega328 sangat terbatas.
Selanjutnya adalah board LPCXPresso dengan prosesor NXP LPC1769. Kemampuan prosesor ini cukup tinggi.
STM32F103 kemampuannya menengah saja, tidak terlalu tinggi, namun kelebihan utama dari prosesor ini adalah tersedia dengan harga murah dari berbagai vendor. Artikel tentang modul ini banyak di Internet sehingga lumayan memudahkan bagi pemula.
STM32F103 dapat diisi proram dengan berbagai cara, namun yang paling mudah adalah menggunakan modul ST-LINK-V2 berikut ini.
Daya tarik utama dari ST-LINK-V2 adalah harganya yang murah, karena banyak versi clone / KW-nya.
Berikutnya adalah prosesor ESP8266 dan ESP32 dari Espressif. Porting FreeRTOS untuk prosesor ini banyak tersedia.
Berikut ini tabel perbandingan kekuatan dari prosesor yang dipakai, dilihat dari clock, flash memory dan static RAM.
Model | Clock | Flash Memory | Static RAM |
ATMega328 | 16 MHz | 32 kB | 2 kB |
STM32F103C8T | 72 MHz | 64 kB | 20 kB |
LPC1769 | 100 MHz | 512 kB | 64 kB |
ESP32 | 240 MHz | external (typical 4 MB) | 520 kB |
ESP8266 | 160 MHz | external | 80 kB |
Perbandingan clock kurang lebih mewakili kecepatan, walaupun sebenarnya perbandingan kecepatan tidak dapat hanya dibandingkan dari clock saja, namun juga mesti melihat arsitektur masing-masing mikroprosesor.
Referensi ports dan demo untuk FreeRTOS adalah sebagai berikut:
- Porting FreeRTOS untuk Atmel AVR (official port)
- Library ARduino AVR FreeROTS (unofficial)
- STM 32 FreeRTOS (official demo)
- Arduino ST32 (STM32duino) FreeRTOS (unofficial port)
- NXP LPCXpresso FreeRTOS (official port)