FreeRTOS Neden Çalışmıyor???

Başlatan PhD, 13 Mart 2021, 09:08:26

PhD

Merhaba Arkadaşlar,

Son versiyon CubeMX (6.2.0) ve Keil (5.33)'de bir proje oluşturdum. FreeRTOS (CMSIS_V2 ve heap_4 ayarlı) ile de 4 adet Task oluşturdum, başka da bir ayar yok. Ancak Debug modda çalıştırdığımda tüm Task'lardaki görevleri 1 kere yaptıktan sonra "task.c" dosyası içerisinde "static portTASK_FUNCTION( prvIdleTask, pvParameters )" fonksiyonunda "if( listCURRENT_LIST_LENGTH( &( pxReadyTasksLists[ tskIDLE_PRIORITY ] ) ) > ( UBaseType_t ) 1 )" komutunda kalıyor.

Daha önce defalarca FreeRTOS kullandım. Daha önceki projelerde bu kullandığım versiyonlardan daha eski versiyonlardı. Kullandığım işlemci STM32F072C8T6, dahili 8MHz osilatörü kullanıyorum. Projede sadece default ayarlarda 4 tane Task (heap_4) ve bir portu (PortF0) görmek için çıkış yaptım başka bir şey yok. Ne yapacağımı nereye bakacağımı şaşırmış durumdayım. Versiyonlardan şüpheleniyorum artık. Sizden ricam bir arkadaş bu versiyonlar elinde var ise böyle basit bir proje oluşturup sonucu bildirebilir mi?

Yaptığım basit projeyi linkte bulabilirsiniz.
https://mega.nz/file/CMZQxBYb#pKfAXzyKK1DTmc29UzMFhHinkviYsOkl598xPfN-x6U

Şimdiden herkese çok teşekkür ederim.

İyi çalışmalar dilerim.
...hiç...

mr.engineer

xTaskCreate fonksiyonunda stack miktarı giriliyordu oraya büyük bir sayı girilmişse sistem çalışmayabiliyor. MCU'ya bağlı tabi bu.

PhD

Alıntı yapılan: mr.engineer - 13 Mart 2021, 14:09:23xTaskCreate fonksiyonunda stack miktarı giriliyordu oraya büyük bir sayı girilmişse sistem çalışmayabiliyor. MCU'ya bağlı tabi bu.

@mr.engineer  cevap için teşekkürler. Stack ile ilgili bir problem olacak kadar büyük bir program yazmadım. CubeMX'den oluşturulduğu hali ile derleyip Debug yapıyorum. Daha hiç bir ayarı değiştirmedim. Default değerler ile çalıştırıyorum.

Dün den beri deniyorum hala bir ilerleme yok. Her zaman yaptığım ayarlar ile yapıyorum bir kere task'ların içi çalışıyor sonra bir daha hiç bir task'a gitmiyor ve ilk mesaj bahsettiğim fonksiyonun içindeki IF'te takılıp kalıyor. Keil ve F0 HAL kütüphanelerinin eski versiyonları yükledim yine sonuç aynı. Hatta daha önceki çalıştırdığım FreeRTOS programlarını tekrar derliyorum, onlarda çalışmıyor. Nasıl bir sorun anlamış değilim. Asıl derdim öyle bir takılıp kaldım ki nereye bakacağımı da bilemiyorum artık.

Neyse araştırmaya devam..
...hiç...

mufitsozen

4 task var demissiniz idle task dahil degilmi?
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

PhD

Alıntı yapılan: mufitsozen - 14 Mart 2021, 17:15:414 task var demissiniz idle task dahil degilmi?
@mufitsozen, idle Task derken FreeRTOS'u aktif ettiğinizde kendisinin DefaultTask olarak oluşturduğu ilk Task'ı diyorsanız Evet o da dahil. Ekstra ben ADD tuşu ile 3 task daha ilave ettim. Toplam 4 task oldu.
...hiç...

mufitsozen

#5
freertos'un tracealyzer diye bir toolu vardi. Onunla baktinizmi hic?

Birde bu var: https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_Trace/RTOS_Trace_Instructions.html
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.