Hesabım
Şifremi Unuttum
Kayıt Ol
FreeRTOS Nedir?
13.05.2025

FreeRTOS Nedir?

2003 yılında gömülü sistemler için geliştirilmiş olan FreeRTOS, gerçek zamanlı ve açık kaynaklı bir işletim sistemidir. Düşük güçle çalışan küçük ölçekli cihazlarda kullanılan FreeRTOS, en çok mikrodenetleyicili sistemlerde kullanılır. Kaynak yönetimi, görev zamanlama ve kesme kontrolüne olanak tanıyan FreeRTOS, sadece 4-9 KB belleğe ihtiyaç duyar. Bu sayede düşük güçlü cihazlarda dahi yüksek performans gösterir. FreeRTOS kullanımı, IoT - Nesnelerin İnterneti ve endüstriyel otomasyon sistemlerinde yaygın olarak görülür. Üstelik açık kaynak lisansı sayesinde tamamen özelleştirilebilirdir. Dolayısıyla geliştiricilere esnek ve ücretsiz bir platform sunar.

Dünya genelinde çok sayıda kullanıcının faydalandığı FreeRTOS, karmaşık projelerde dahi pratik bir şekilde yönetilebilir yapı sağlar. Sınırlı kaynaklara sahip sistemlerde dahi birden fazla görevi eş zamanlı olarak çalıştırabilmenize olanak tanıyan FreeRTOS, 40’tan fazla mikrodenetleyici mimarisini destekler. Dolayısıyla yenilikçi projelerde FreeRTOS kullanımı mümkündür. FreeRTOS kullanımı hakkında merak ettiğiniz diğer detayları içeriğin devamında bulabilirsiniz.

FreeRTOS Nasıl Kullanılır?

Genel olarak düşük seviye donanım bilgisi gerektiren FreeRTOS, kapsamlı dokümantasyona sahip olduğundan hemen herkes tarafından kısa sürede öğrenilebilir. Lisanssız olmasıyla dikkat çeken FreeRTOS işletim sistemi multitasking özelliği ile dikkat çeker. Birden fazla işin organize bir şekilde gerçekleşmesini sağlayan FreeRTOS, paralel programlama için idealdir. Üstelik multitasking özelliği sayesinde tek çekirdekli işlemcilerden çok çekirdekli işlemciler gibi verim almak mümkündür. FreeRTOS işletim sistemini kullanabilmek için ilk yapmanız gereken şey bir geliştirme ortamı oluşturmaktır. Ardından söz konusu işletim sisteminin kaynak kodlarını temin etmeniz gerekir. Bu aşamada FreeRTOS'un resmi web sitesinden yararlanabilirsiniz. İndirdiğiniz kaynak kodlarını IDE gibi bir entegre geliştirme ortamında kullanabilirsiniz.

FreeRTOS kullanımı ile donanım yapılandırmak için STM32, ESP32 gibi söz konusu işletim sistemini destekleyen bir mikrodenetleyici kullanmanız önerilir. Yapılandırma sürecinde FreeRTOS’ta bulunan bir dizi API ve kütüphaneden yararlanabilirsiniz. Örneğin, API çeşitleri ile görevler, kuyruklar ve semaforlar oluşturmak mümkündür. Görev oluşturmak için kullanmanız gereken fonksiyon ise xTaskCreate fonksiyonudur. Tüm bunların sonucunda projeyi mikrodenetleyiciye yükleyebilir, sistemin gerçek zamanlı olarak çalışmasını izleyebilirsiniz.

Sistem performansını optimize edebilmek için yapmanız gereken tek şey FreeRTOSConfig.h adlı yapılandırma dosyası düzenlemektir. Örneğin, sistem saat hızı olarak da bilinen tick rate ayarını bu dosyayı düzenleyerek yapabilirsiniz. Benzer şekilde görev önceliklerini de söz konusu dosyayı düzenleyerek kolaylıkla yapılandırabilirsiniz. Üstelik FreeRTOS düşük güç modlarını desteklediği için enerji verimliliği gerektiren projelerde rahatlıkla kullanabilirsiniz.

FreeRTOS'ta Task Nasıl Yazılmalı?

FreeRTOS işletim sisteminde her bir görev bağımsız olarak çalışır ve belli bir işlevi yerine getirir. Dolayısıyla FreeRTOS'ta görev - task yazmak kazanılması gereken temel bir beceridir. Sistemin yapı taşlarından bir olan görev oluşturma işlemi için xTaskCreate fonksiyonunu kullanmanız gerekir. Bu fonksiyon, görev fonksiyonunun adını, yığının - stack boyutunu, öncelik derecesini, görev parametrelerini kapsar. Örneğin, sistemde yer alan bir LED ampulün yanıp sönmesini istiyorsanız ilk etapta görev fonksiyonunu tanımlamanız, ardından ise döngüyü belirtmeniz gerekir. FreeRTOS kullanımı ile söz konusu görevi oluşturmak için tanımladığınız **void vLedTask(void *pvParameters)** fonksiyonuna for veya while eklemeniz yeterlidir. Böylece LED ışık, belirttiğiniz döngüye göre yanıp sönmeye başlar.

FreeRTOS'ta görev oluştururken birkaç noktaya dikkat etmenizde fayda vardır. Bunlardan biri görev döngüleridir. Çünkü FreeRTOS'ta her görevin sonsuz bir döngüde tekrar etmesi gerekir. Döngü sonsuz olmadığında ise silinir. Görevi askıya almak istediğinize ide vTaskDelay fonksiyonunu kullanabilirsiniz. Böyleve işlemciyi diğer görevlere bırakmış olursunuz. FreeRTOS'ta görevi 500 milisaniye askıya almak için vTaskDelay(pdMS_TO_TICKS(500)) komutunu oluşturmanız yeterlidir. komut satırındaki sayıyı değiştirerek askı süresini belirleyebilirsiniz.

Görev önceliklerini 0'dan configMAX_PRIORITIES değerine kadar ayarlamanız mümkün. Görev önceliklendirme işleminin amacı ise yüksek öncelikli işlemlerin işlemciye daha önce ulaşmasını sağlamaktır. FreeRTOS kullanımı ile görev oluştururken dikkat etmeniz gereken önemli konulardan biri de yığın boyutudur. Çünkü yığın boyutu yetersiz olduğunda stack overflow hatası ile karşılaşabilirsiniz. Yığın boyutunu doğru belirlendiğinize ise sistem performansını artırabilir, mevcut sistemi maksimum verimle kullanabilirsiniz.

FreeRTOS görevleri arasında iletişim sağlamak için kuyruklar ya da semaforlar kullanmanız gerekir. Örnek olarak, bir sensör verisini farklı bir göreve yönlendirmek istiyorsanız xQueueReceive ve xQueueSend fonksiyonlarını kullanmanız yeterlidir. Oluşturduğunuz görevi askıya almak için de vTaskSuspend ve vTaskDelete gibi API’lerden faydalanabilirsiniz. Tüm bu araçlar FreeRTOS görev yönetimini kolaylaştırır ve karmaşık projelerde dahi düzenli bir yapı oluşmasına yardımcı olur.

Blog Son Eklenenler
Elektrik Akımı Nedir?

Elektrik Akımı Nedir?

Elektrik akımı elektron olarak adlandırılan elektrik yüklerinin bir iletken malzeme içinde hareket etmesi sonucunda oluşan enerji akışıdır. Lambayı çalıştırmaya veya motoru hareket ettirmeye yarayan bu enerji akışı, elektron hareketi ile gerçekleşir. Elektron hareketi ise enerji kaynağının sağladığı voltaj ile tetiklenir.

Devamını Oku
01.09.2025
Işığa Bağımlı Direnç Sensörü (LDR) Nedir?

Işığa Bağımlı Direnç Sensörü (LDR) Nedir?

LDR sensör, ışık yoğunluğuna duyarlı şekilde çalışan pasif bir elektronik bileşendir. Işığın miktarına göre direnci değişen LDR sensörler, yarı iletken malzemeler kullanılarak üretilir. Ortam aydınlığı arttıkça LDR'nin direnci düşer, azaldıkça ise artar. 

Devamını Oku
26.08.2025
Fırçalı Motor Nedir?

Fırçalı Motor Nedir?

Fırçalı motor, elektrik enerjisini mekanik enerjiye dönüştüren bir motor tipidir. Çok uzun yıllardır endüstride ve farklı projelerde yaygın olarak kullanılır. Doğru akım (DC) ile çalışan fırçalı motor sistemi yapısında bulunan fırçalar sayesinde enerji aktarımı yapar.

Devamını Oku
22.08.2025
Filament Nedir?

Filament Nedir?

3D yazıcı teknolojisinin temel yapı taşlarından biri olan filament, üç boyutlu nesneler oluşturmak için kullanılan termoplastik hammaddedir. Genellikle makaralar halinde satışa sunulan filament çeşitleri, 3D yazıcıların ekstrüder adlı baskı kafasında ısıtılarak eritilir.

Devamını Oku
14.08.2025
Endüstriyel Nesnelerin İnterneti (IIoT) Nedir?

Endüstriyel Nesnelerin İnterneti (IIoT) Nedir?

Endüstriyel nesnelerin interneti​ olarak bilinen “IIoT” teknolojisi, internete bağlı çalışan cihazlardan alınan verileri işlemek anlamına gelir. IIoT teknolojisi gelişmiş donanımlardan oluşan platformlardan meydana gelir.

Devamını Oku
03.07.2025
AC ve DC Elektrikli Araç Şarj İstasyonu Farkları Nelerdir?

AC ve DC Elektrikli Araç Şarj İstasyonu Farkları Nelerdir?

Teknolojinin gelişmesiyle birlikte günümüzde elektrikli araç kullanımı gün geçtikçe artış gösterir. Tamamen elektrikli ya da hibrid araçların şarj edilmesi konusunda AC ve DC şarj istasyonları ön plana çıkar.

Devamını Oku
01.07.2025
Dimmer Devresi Nedir?

Dimmer Devresi Nedir?

Dimmer devresi, alternatif akım kaynaklarıyla çalışan elektrikli cihazların gücünü ayarlamaya yarayan bir kontrol sistemidir. Dimmer devresi, ışık şiddetinin kontrol edildiği aydınlatma sistemlerinde sıklıkla kullanılır. Bu devre sayesinde ampullerin parlaklığı istenilen seviyeye getirilebilir.

Devamını Oku
23.06.2025
Avometre Nedir?

Avometre Nedir?

Çeşitli sensörlerle donatılmış bir ölçüm cihazı olan avometre​, direnç, akım, voltaj, frekans, gerilim ve kısa devre gibi elektriksel parametrelerin ölçümünü yapar. Çok sayıda değeri ölçebildiği için multimetre olarak da adlandırılan cihazın hem analog hem de dijital modellerini bulmak mümkündür.

Devamını Oku
16.06.2025
T-Soft E-Ticaret Sistemleriyle Hazırlanmıştır.