Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => RTOS Uygulamaları => Konuyu başlatan: FxDev - 27 Temmuz 2014, 15:15:46

Başlık: 8 Bitler için Yeni Bir RTOS: cocoOS
Gönderen: FxDev - 27 Temmuz 2014, 15:15:46
Kullananlar problem yaşayanlar bilir benim RTOS ile tanışmamı sağlayan OSA RTOS artık Microchip tarafında XC8 ler ile uyumlu değil.
Bugün eski bir projemi yeniden derlemem gerekti, yeni derleyici destekleriyle birlikte ama bir de baktım OSA RTOS çakıldı. Eh rus arkadaşımız da projeyi artık ilerletmiyor.
Dolayısı ile araştırmalarımda cocoOS'u buldum. Hemen port ettim. Zaten RTOS kullananlar artık tüm RTOS'ların benzer mantıkla port edildiğini fark etmiştir. Şu an için sorunsuz çalışıyor.

Son bir not ekleyeyim, dsPIC tarafında yaptığım ciddi bir güç elektroniği projesinde OSA RTOS'u biraz da risk alarak kullanmıştım. 2 yıldır ürünler gidiyor, programsal geri dönüş hiç yaşamadım ve OSA RTOS yeni çıkan XC16'lar ile hala uyumlu.

CoOS'u da yine aynı proje kapsamında 2 yıldır kullanıyorum. Orada da bir sorun yaşamadım şu ana dek. Zaten o da gün geçtikçe güncelleniyor.

FreeRTOS neden kullanmıyorsun diyenler olacaktır, tek cevabım var: boyut.

Kullanmak isteyenlere cocoOS'un net adresi.

http://www.cocoos.net/index.html (http://www.cocoos.net/index.html)
Başlık: Ynt: 8 Bitler için Yeni Bir RTOS: cocoOS
Gönderen: Karamel - 27 Temmuz 2014, 15:32:45
hocam. size rtos hakkinda birseyler sormak istiyorum. oncelikle kendi bilgilerimi sunmak isterim.

RTOS demektir ki real time operating system. yani isletim sistemi. rtos ile ne oluyor? sistem bosta kaldigi zamanlari degerlendiriyor ve sanki paralel islem yapiyormus gibi davraniyor. hani su mesur delay lerimiz var ya mcu yu bos yere bekleten. rtosta mcu delayler ile beklemiyor. rtos un kendi delayini kullandigimiz zaman rtos baska tasklari islemeye geciyor. islem oncelikleri sayesinde islemler teker teker yapiliyor vs vs.

Peki hocam. neredeyse herkes bu kadarini biliyor. bu yuzden hadi biz led yak sondur yada pwm uygulamalarinin biraz otesine gidelim. projemizde 5 multi taskimiz olsun.

task1 butonlar
task2 lcd
task3 usart
task4 spi
task5 adc

butonlar belirli araliklar la okunabilir. lcd belirli araliklarla char 2x16 char dizi degiskeni ekrana basabilir. usart usart dizi degiskenlerine veri alabilir yada gonderebilir. ayni sekilde spi de oyle. adc de belirli araliklarla belirli kanallari okur falan filan olsun. bunlar nasil birlestirilir? birlestirirken nelere dikkat etmek gerekir? tasklari yazarken nerelere dikkat etmeliyiz?
Başlık: Ynt: 8 Bitler için Yeni Bir RTOS: cocoOS
Gönderen: Tagli - 27 Temmuz 2014, 15:33:57
Sitede sanki PIC için port göremedim. Benim mi gözümden kaçıyor acaba?

Ekleme: Aynı soruyu fb üzerinde de sormuştum, FxDev PIC üzerinde de çalıştığını yazmış. Koda sadece şöyle bir baktım ama diğer RTOS kodlarında gördüğüm ASM ile yazılmış platform bağımlı bir kısım göremedim. İlginç...
Başlık: Ynt: 8 Bitler için Yeni Bir RTOS: cocoOS
Gönderen: FxDev - 27 Temmuz 2014, 17:02:45
@Tagli: Ben kodları açıp hiç bakma fırsatım olmadı. ASM yoksa platform bağımsızdır o halde. Her yerde çalışır anlamına gelir bu bakmam gerekiyor. Akşam bununla ilgili bir yorum yapacağım.
@Karamel: Ben rtosta işlem yaparken Interrupt'larda neye dikkat ediyorsam Task'lar arasında da ona dikkat ediyorum. Normalde tasklar aralarında mesajlaşmaları gerekir, örneğin buton bilgisini bekleyen bir task, buton okuyan tasktan mesaj beklemelidir vs. Fakat hiç o kadar detaylara gitmediğim için global değişkenlerle işi yürütüyorum. Benim için RTOS'un avantajı şu, düzen oturtması, görevlerimi zamanında yapması vs. Yoksa bunları kendim yazıyor olacaktım. Genelde çalıştığım konular donanım ağırlıklı oluyor, yazılım yardımcısı oluyor. Örneğin bir Flyback'i işlemci ile kontrol ediyorsam genelde işleri Interrupt'a yüklerim, haberleşme, sıcaklık okuma vs. işlerini RTOS'a aktarırım. Ama söz konusu PID gibi konular olunca mecbur kesmeden kurtulamam.
Başlık: Ynt: 8 Bitler için Yeni Bir RTOS: cocoOS
Gönderen: Erhan YILMAZ - 27 Temmuz 2014, 18:30:13
http://www.coocox.org/CoOS.htm (http://www.coocox.org/CoOS.htm) CoOS sandım bende değilmiş.
Başlık: Ynt: 8 Bitler için Yeni Bir RTOS: cocoOS
Gönderen: FxDev - 27 Temmuz 2014, 20:41:14
Yok yok bu coco :)
Başlık: Ynt: 8 Bitler için Yeni Bir RTOS: cocoOS
Gönderen: Erhan YILMAZ - 31 Temmuz 2014, 12:15:03
Basit sade bir şeye benziyor. MSP430 için port etmek geldi içimden.

mesaj birleştirme:: 31 Temmuz 2014, 14:08:00

Anlamadığım neden tasklara aynı öncelik seviyeleri verilemiyor? Birde taskları neye göre anahtarlıyor? örneğin tick timeri 1 ms için kurduk. Her 1 ms'de taskları mı çalıştırıyor? Öncelik nerede devreye giriyor? Aslında bir çok soru takıldı kafama ama toparlayamadım. :) Port edip debug etsem bazı cevaplar bulabilirim sanırım. Önce forumda ki rtos konularına bir göz atayım.