Lütfen dikkat: Bu soru özellikle iki RTOS'tan bahseder, ancak daha geneldir ve muhtemelen daha önce gömülü RTOS'lar için C kodu yazmış ve yazılımı doğrudan MCU'larda çalışmış olan herkes tarafından cevaplanabilir.
Gömülü RTOS'lar hakkında daha fazla bilgi edinmek ve onlar için uygulamalar yazmakla ilgileniyorum. Şu anda Embox ve RIOT'a bakıyorum çünkü açık kaynak, modern, aktif ve mükemmel belgelere sahipler. Amacımın iki aşaması var: Aşama 1, bu işletim sistemlerini bir MCU'ya (muhtemelen AVR veya ARM) nasıl derleyeceğinizi ve flash yapacağınızı bulmaktır. Faz 2 daha sonra zaman içinde bir "hobi uygulaması" olarak gelişecek olan basit bir C programı (temel olarak başsız bir arka plan programı) yazmaktır. Daha sonra bu programı aynı MCU'ya flash / dağıtacağım, böylece Embox / RIOT ve uygulamamın üstünde bulunan bir uygulama çubuğunu başarıyla dağıtacağım.
Sonuçta çıkmaz sokaklara giden herhangi bir yola girmeden önce , C / montajcıda yazılan ve MCU'lara yanıp sönen gerçek zamanlı uygulamaların neden altındaki RTOS'lara gerçekten ihtiyaç duymadıklarını açıklamak için oldukça iyi bir iş çıkaran bu makaleye rastladım. .
Şimdi gerçekten kafam karıştı ve bilgi işlem teorisine ilişkin temel anlayışımdan bazılarını sorguluyorum. Sanırım Embox / RIOT'u ilk etapta bile kullanıp kullanmayacağınıza karar vermeye çalışıyorum:
- Kursta kalın ve her iki OS + uygulamasının MCU'sunda bir "uygulama yığını" ile devam edin; veya
- Makalenin uyarısını dikkate alın ve sadece benim app "çıplak metal" çalışan bir MCU ile gitmek
Açıkçası, birincisi daha fazla iştir ve bu yüzden bu rotaya gitmek için iyi bir neden / kazanç olsaydı. Bu yüzden şunu soruyorum: bu (ve benzeri) gömülü RTOS'ların MCU / C uygulama geliştiricilerine sunduğu gerçek faydalar nelerdir? Bir RTOS kullanarak C uygulamam hangi özelliklerden (belki de tekerleği yeniden icat etmeyerek?) Yararlanabilir? RTOS'u terk edip çıplak metale giderek ne kaybedilir?
Burada somut örnekler istiyorum, RTOSes ;-) için wikipedia girişine gittiğinizde aldığınız medya hype değil.