Picproje Facebook Sayfası: https://bit.ly/2pUitll
Başlatan mr.engineer, 28 Ekim 2020, 20:05:11
Alıntı yapılan: mr.engineer - 28 Ekim 2020, 20:05:11MCU'daki interrupt handler ile işletim sistemindeki interrupt handler arasındaki fark nedir? Biri sadece yazılımsal diğeri donanımsal mı?Mesela normal kullandığımız PC'ler deki işlemciler de bir interrupt handler'a sahip mi? Ya da bilgisayarda interrupt sadece işletim sistemi ile mi ilgili?Bir FreeRTOS projesinde MCU'nun kendi interruptlarını kullanıyor musunuz? RTOS'a ait tasklar ve işlemcinin interrupt fonksiyonları arasında karmaşıklık olma ihtimali yüksek değil mi? RTOS kullanırkern MCU'nun interrupt işlemlerinden uzak durmamız mı gerekir?
Alıntı yapılan: Tagli - 29 Ekim 2020, 13:12:47İşlemci içindeki donanımsal kesmelerin de kullanılması gerekir çoğu projede. Ben donanımsal kesmeleri de bir çeşit task olarak görüyorum. Ama FreeRTOS için konuşacak olursak (belki diğerlerinde de mantık aynıdır), donanımsal kesmelerin önceliği tüm RTOS task'lerinden daha yüksektir.Genelde tavsiye edilen şey, donanımsal kesme içinde pek oyalanmayıp, o işi halledecek bir RTOS taskına sinyal gönderip hemen kesmeyi terk etmek. Bu sinyal mesaj, semaphore veya direct task notification ile gönderilebilir. Hatta çok düşük öncelikli bir iş ise, sanırım idle task altında çalışması için bir fonksiyon pointer'ı da sıraya eklenebiliyordu.Benim bazen bu kuralı ihlal edip tüm işi donanımsal kesmede yapıp çıktığım oluyor. Aslında kesin bir kural yok, seçeneklerin farkında olmak ve duruma göre uygun olanını seçmek gerekli.