SISTEM EMBBEDED MODUL 7 (freeRTOS)
Nama : Micahael Suranta S Depari Nim : 40040324650084 Kelas : Praktikum C Program Studi Teknlogi Rekayasa Otomasi Dosen pengampu : Rofiq Cahyo Prayogo S.T,. M.T. https://github.com/suranta2006-ui/SISTEM-E... 1. Apa itu FreeRTOS dan Mengapa Dibutuhkan? Pada pemrograman mikrokontroler standar (disebut Bare Metal atau *Super Loop*), kode program dijalankan di dalam satu fungsi utama `void loop()` yang berputar terus-menerus. Kelemahannya, jika ada satu fungsi yang memakan waktu lama (seperti pembacaan sensor yang lambat), seluruh sistem akan tertahan. FreeRTOS (*Real-Time Operating System*) hadir sebagai kernel sistem operasi ringan yang dipasang di dalam mikrokontroler. Tugas utamanya adalah melakukan **Multitasking**, yaitu memecah program menjadi beberapa tugas mandiri yang berjalan secara bergantian dengan sangat cepat, sehingga terlihat seolah-olah berjalan bersamaan. 2. Task (Tugas) sebagai Unit Dasar Di dalam FreeRTOS, kita tidak lagi menumpuk semua kode di satu tempat. Kita membaginya menjadi beberapa **Task**. Setiap task sebenarnya adalah sebuah fungsi terpisah yang memiliki putaran tanpa akhir (*infinite loop*). Setiap task memiliki jatah memorinya sendiri (disebut *Stack*) untuk menyimpan variabel lokalnya. Setiap task diberi nilai **Prioritas**. Task dengan prioritas lebih tinggi berhak "merebut" kendali CPU dari task yang prioritasnya lebih rendah. 3. Siklus Hidup dan Status Task Task di dalam FreeRTOS tidak selalu berjalan setiap saat. Mereka berpindah-pindah di antara empat kondisi utama: *Running:* Kondisi saat task sedang aktif dieksekusi oleh CPU. *Ready:* Kondisi saat task sudah siap berjalan, tetapi sedang mengantre karena CPU sedang dipakai oleh task lain yang prioritasnya sama atau lebih tinggi. *Blocked:* Kondisi saat task sedang "tidur" sengaja menunggu waktu tunda (delay) atau menunggu kiriman data dari sensor. Saat *blocked*, task ini tidak akan membebani CPU sama sekali. *Suspended:* Kondisi saat task dinonaktifkan secara total oleh sistem sampai dipanggil kembali. 4. Mekanisme Penjadwalan (Scheduling) Otak dari FreeRTOS disebut *Scheduler*. Dia bekerja berdasarkan interupsi waktu yang sangat cepat (disebut *Tick*, biasanya terjadi setiap 1 milidetik). Scheduler bertugas memantau semua task yang ada dan memutuskan siapa yang berhak memakai CPU berikutnya berdasarkan tingkat prioritas. Jika ada beberapa task dengan prioritas yang sama-sama tinggi, Scheduler akan membagi waktu pengerjaan secara adil dan bergantian (*Time Slicing*). 5. Komunikasi dan Proteksi Antar-Task Karena task berjalan sendiri-sendiri, FreeRTOS menyediakan tiga alat utama agar antar-task bisa saling mengobrol dan berbagi data dengan aman tanpa merusak memori: *Queues (Antrean):* Digunakan untuk mengirim data dari satu task ke task lainnya secara berurutan. Misalnya, Task A membaca data sensor lalu memasukkannya ke antrean, kemudian Task B mengambil data tersebut dari antrean untuk ditampilkan ke layar LCD. *Semaphores:* Berfungsi sebagai lampu sinyal. Digunakan oleh suatu task untuk memberi tahu task lain bahwa suatu kejadian atau tugas penting telah selesai dilakukan. *Mutex (Mutual Exclusion):* Berfungsi sebagai kunci pengaman hardware. Jika Task A sedang memakai jalur komunikasi (seperti I2C atau Serial UART) untuk membaca sensor, Mutex akan mengunci jalur tersebut agar tidak bisa diganggu oleh Task B sampai Task A selesai. Ini mencegah data menjadi tabrakan atau korup. 6. Catatan Penting untuk Praktikum di Lab *vTaskDelay vs Delay Biasa:* Saat menggunakan FreeRTOS, jangan gunakan fungsi `delay()` bawaan mikrokontroler karena itu akan membekukan seluruh kerja CPU. Gunakan fungsi `vTaskDelay()`, yang akan menidurkan task tersebut (*Blocked*) sehingga CPU bisa dipakai untuk mengerjakan task lainnya. *Manajemen Memori:* Berhati-hatilah saat menentukan ukuran memori (*Stack*) untuk setiap task. Jika memori yang dialokasikan terlalu kecil sementara task melakukan perhitungan yang berat, mikrokontroler akan mengalami Stack Overflow dan mengalami crash atau restart otomatis. #SVUNDIP #otomasi #TEKNOLOGIREKAYASAOTOMASI #inengineeringwetrust

SISTEM EMBBEDED MODUL 8

Abstract Black and White wave pattern| Height Map Footage| 3 hours Topographic 4k Background

Demo Proyek Akhir Teknik Kompilasi - sundadepokScript Mini Compiler - Albar Raya

MIT Just Revealed the AI Bubble's Fatal Flaw

Unbelievable Smart Worker & Hilarious Fails | Construction Compilation #7 #adamrose #smartworkers

EMBEDED 8 SPI

3-Hour Serene Yellow & Orange Gradient - Uplift and Relax Your Space

Implementasi FreeRTOS: Multitasking Deterministik pada STM32 & ESP32

BELAJAR DAC & PWM YUKS

Something is jamming GPS over Europe. Here's what we found

Let's build GPT: from scratch, in code, spelled out.

SISTEM EMBEDDED MODUL 11 (FreeRTOS-Memory-Advanced)

I kept coding until an RTOS was inevitable

Pink Ombre Aura Screen | 3 Hours and 1 Second | No Sound

Billionaire's WARNING: I'm SELLING. The Crash Is Already Here!

Deep Dive into LLMs like ChatGPT

But what is quantum computing? (Grover's Algorithm)

40Hz Binaural Gamma Waves - Ultra Deep Concentration

System Design Explained: APIs, Databases, Caching, CDNs, Load Balancing & Production Infra

