Arm Tabanlı Mikroişlemciler #06 | Yazılımda Eşzamanlılık: Görevler, Zamanlayıcı ve Kesmeler

ARM Tabanlı Gömülü Sistem Tasarımı

Eğitmen: Dr. Süleyman Burak ÇELİK

Breadboard üzerindeki RGB ledimize bir düğme ekliyoruz: düğmeye basınca led beyaz yanıp sönmeli, ama tepki neredeyse bir buçuk saniye gecikiyor. Bu derste işlemcinin zamanını birden fazla iş arasında nasıl paylaştığımızın tepki süresini nasıl belirlediğini görüyoruz: tek döngülü programdan görevlere, işbirlikçi zamanlayıcıya ve kesmelere. Her süre hesabı zaman çizgisi üzerinde adım adım gösteriliyor. Bu derste: - Sistemin istenen davranışı ve tepki süresi - Tek döngülü başlangıç programı: renk turu 3 × 500 ms = 1.5 s, beyaz tur 200 + 200 ms = 0.4 s - Zaman çizgisi: düğme yalnız tur başında okunur; en kötü 1.5 s, ortalama 0.75 s; kısa bir basış hiç görülmeyebilir - Meşgul bekleme ve spagetti kod - Görevlere ayırmak: kök fonksiyon, ortak (global) değişkenler - İşbirlikçi çoklu görev ve basit zamanlayıcı - Gecikmenin iki parçası: basıştan bayrağa, bayraktan lede - Kesme: yoklama yerine olay tetikleme, kesme hizmet yordamı, düşen ve yükselen kenar, volatile; Cortex-M0'da 16 çevrim / 48 MHz ≈ 333 ns - Kesme neden yetmez: kesintisiz olmayan zamanlayıcıda uzun görev; çözüm görevleri kısaltmak - Üç tuzak Bölümler: 0:00 Geçen Ders ve Bugün 0:20 Breadboard'da Geç Kalan Led 0:42 Sistem Ne Yapmalı? 1:09 Başlangıç Programı: Tek Döngü 1:45 Zaman Çizgisi: Tepki Süresi 2:21 Meşgul Bekleme ve Spagetti Kod 2:47 Görevlere Ayırmak 3:18 İşbirlikçi Zamanlayıcı 3:44 Gecikmenin İki Parçası 4:12 Kesme: Olay Tetikleme 5:04 Kesme Yetmez: Uzun Görev 5:41 Üç Tuzak 6:08 Özet ve Sıradaki Ders Sıradaki derste görevleri sonlu durum makineleriyle kısaltacak ve işi donanıma devrederek işlemci zamanı kazanacağız. Kaynak kitap: Alexander G. Dean, Embedded Systems Fundamentals with Arm Cortex-M based Microcontrollers, Nucleo-F091RC 2. baskı (Arm Education Media) — Bölüm 3, s. 59–74 (konu sırası ve kavramlar). Örnekler özgündür. Elektrik-Elektronik, Bilgisayar, Mekatronik ve Kontrol Mühendisliği öğrencileri için Arm Tabanlı Mikroişlemciler serisinin altıncı dersi.

Bu videoyu izlemek için Premium üyelik gerekir.