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
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
Uydu Haberleşme Sistemi Nedir?​

Uydu Haberleşme Sistemi Nedir?​

Uydu haberleşme sistemi, sinyal iletimi sağlayan çeşitli bileşenlerden meydana gelen bir iletişim teknolojisidir. Bu sistem kapsamında dünyanın yörüngesine yerleştirilmiş çok sayıda uydu bulunur. 

Devamını Oku
05.05.2025
Jumper Kablo Nedir?

Jumper Kablo Nedir?

Jumper kablo, elektronik projelerde ve devre tasarımlarında sıkça kullanılan bağlantı kablolarıdır. Esnek ve izole edilmiş yapılarıyla ön plana çıkar. Genellikle devre elemanları arasında geçici bağlantıları kurmak için tercih edilir.

Devamını Oku
15.04.2025
PLC Nedir?

PLC Nedir?

PLC, endüstriyel alanda kullanılan bir otomasyon cihazıdır. Fabrikalarda üretim hatlarının ve makinelerin kontrolünü veya denetimini sağlayan PLC tanımı genişletilecek olursa; endüstriyel otomasyon sistemlerinde sıkça kullanılan, mikroişlemci tabanlı bir bileşen denilebilir.

Devamını Oku
04.04.2025
Encoder Nedir?

Encoder Nedir?

Sinyal üretici olarak bilinen encoder bir milin dönme ya da ötelenme hareketi dahilinde sayısal elektrik sinyali üretir. Bu kodlayıcılar sayım, konum, hız ya da yönü belirlemek amacıyla geri bildirim sinyali gönderir.

Devamını Oku
02.04.2025
Direnç Renk Kodları Hesaplama

Direnç Renk Kodları Hesaplama

Elektronik dünyasında dirençlerin doğru şekilde tanımlanması önemli bir rol oynar. Bu noktada direnç renk kodları devreye girer. Direnç renk kodları, direnç değerini hızlı ve pratik bir şekilde hesaplamaya yarayan bir sistemdir. Elektrik devrelerinde kullanılan dirençler belirli bir akımı kontrol etmek ya da sınırlandırmak için özel olarak tasarlanmıştır.

Devamını Oku
26.03.2025
Bobin Nedir?

Bobin Nedir?

Bobin, bir iletken telin yan yana veya üst üste sarılması ile tasarlanan devre elemanıdır. İndüktör olarak bilinen devre elemanı iletken bir telin etrafına sarılmasıyla oluşturulur. Bobinlerin sarıldığı bölüme karkas ya da makara, iletken makara üzerinde bir tur yapmasına ise ise tur ya da sarım denir.

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