Buna RTOS Denebilir mi?

Başlatan Bayramsumbul, 11 Haziran 2013, 19:38:08

Bayramsumbul

Arkadaşlar Mantık Şöyle;

  • Elimizde "3" tane Gpr Olsun.
  • Bir Timer olsun bu Timer "x" sürede bir kesme oluştursun.
  • 3 tane Gpr'den biri "a" diğeri "b" ve sonuncusu "c" olsun.Ve bunlar aynı zamanda birer görev olucak.
  • Her kesmede ilgili Gpr bir artacak.
  • Mesela a görevi 10 kesmeden sonra,b görevi 25 kesmeden sonra c görevi 100 kesmeden sonra uygulamaya geçsin.
  • Tabi  b ile c çakışabilir,Onda da bir öncelik olacak.
  • a , b ve c görevleri işlendiğinde ilgili Gpr'ler sıfırlanacak.
  • Emin değilim ama her görevinde bir zaman aşımı olacak.Aksi takdirde bug'a girebilir.
Sizce bundan adam olurmu?
Bir Elektronik Meraklısının Serüveni...

berat23

OS kısmı fazla,temelde gerçek zamanlı birşeyler yapmış oluyorsunuz anladığım kadarıylşa.

Bayramsumbul

Peki Nasıl Bir Os olabilir?Pic Assembly de Pic18 İçin Kod Yazmaya Başlayacağım da.
Bir Elektronik Meraklısının Serüveni...

camby

Hazır RTOS yapılarına bakabilirsin.

Bülent hoca uğraşıyordu bir ara :

http://www.cncdesigner.com/wordpress/?p=990

z

Evet zamanında uğraşmıştım ama yarım kaldı.

Her bir görevi timer int ile kesip sırada bekleyen görevi başlatabilirsin. Burada dikkat edilmesi gereken nokta kesilen göreve ait CPU registerlerinin saklanması, yeni başlatılacak görevin daha önceki CPU registerlerinin geri yüklenmesi konusu.

Benim yazdığım nano çekirdek taskları sırayla işletiyor ancak tasklar arası veri aktarımına el atamamıştım.

Zamanı olan delphide bir iki örnekle konuyu açarsa (mutex vs) eksik kalmış bu çekirdeği CM3 ler için tamamlarım.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Bayramsumbul

Peki Görevleri Belli Noktada Kesmenin Sebebi Nedir?
Benim Düşüncemde Sadece Görev Tekrarı Ve Önceliği Vardı.Ama Tabi Şu da Var ki,Bir Görev Zamanında Bitmezse Sonlandırılacak.
Tabi Son Register Değerleri Her Halde Saklanması Gerekecek. Yoksa O Görev Boşuna Zaman Kaybı Olur Bence.
Bir Elektronik Meraklısının Serüveni...