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
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
Jiroskop Nedir?

Jiroskop Nedir?

Türkçe karşılığı düzdöner olan jiroskop, açısal hızı ve yönelimi ölçen bir çeşit cihazdır. 19. yüzyılda keşfedilen jiroskop, açısal momentum ilkesi ile çalışır ve dünyanın eksenine göre yönelim yönünü sabit tutar.

Devamını Oku
12.06.2025
Endüktif (İndüktif) Sensör Nedir?

Endüktif (İndüktif) Sensör Nedir?

Endüstriyel otomasyon, metal nesnelerin hassas ve temassız algılanmasını gerektirir. Özellikle modern fabrikalarda, araba üretiminde veya robotlarla çalışırken metal parçaların yerini bulmak oldukça önemlidir.

Devamını Oku
29.05.2025
Elektrikli Araç Evde Şarj Edilir Mi?

Elektrikli Araç Evde Şarj Edilir Mi?

Fosil grubu yakıt ihtiyaç duymayan elektrikli araçlar, çevre dostu olmasıyla öne çıkar. Maliyet açısından avantajlı olduğu için yoğun ilgi gören elektrikli araç modellerinde şarj edilebilir devasa bataryalar yer alır.

Devamını Oku
26.05.2025
FreeRTOS Nedir?

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.

Devamını Oku
13.05.2025
NFC Nedir?

NFC Nedir?

Yakın Alan İletişimi anlamına gelen NFC, kablosuz iletişim sağlayan yeni nesil bir teknolojidir. İki elektronik cihaz arasında kablosuz iletişim kurulmasını sağlayan NFC, genellikle maksimum 4 cm mesafede çalışır.

Devamını Oku
08.05.2025
Voltaj Regülatörü Nedir?

Voltaj Regülatörü Nedir?

Elektrik sistemlerinde şebeke hattından gelen dalgalı voltajı düzenleyen modüle “voltaj regülatörü” denilir. Voltaj regülatörleri sayesinde değişen voltajlar stabil hale geldiği için hem devredeki diğer modüller hem de devreye bağlı cihazlar düzenli çalışır.

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