Bu soru ile ilgili burada tartışma var: link
Alıntılar: Bahsedilen Linux Journal makalesi burada: link
8052 ve M68HC12 portlarının NuttX'i karakterize etmek için özellikle kötü seçimler olduğunu düşünüyorum, çünkü her ikisinin de bazı sorunları var ve NuttX şimdi 63 sürümlü 5.16 sürümünde.
Buradaki "Yayıncı" sekmesinde röportajı doldurdum: link ; orada da bir inceleme var: bağlantı .
Kapsamlı NuttX dokümanlarına buradan ulaşabilirsiniz: link .
Hcs12 ve 8051 parçalarıyla ilgili sorunlar şunlardır:
8051 / 80c52: Bu mimari gerçekten RTOS düşmanıydı . Özel bir bellek konumunda küçük bir donanım yığınına (8051'de 128 bayt, 80c52'de 256 bayt) sahiptir (adres 0). Görevler arasında geçiş yapmak için, engellenecek görevin tüm yığınını ayrılmış adresinden bir kaydetme konumuna kopyalamanız ve ardından başlatılacak görevin tüm yığınını kaydetme konumundan ayrılmış yığın konumuna kopyalamanız gerekir. Yech!
Ve bu yana, yığın çok küçük. Özellikle kesme işlemi sırasında istifin taşması çok, çok kolaydır.
NuttX 8051 bağlantı noktası tam ve işlevseldir (en azından son kullandığımda). Ancak, yararlı olması için, taşmayı önlemek için her yığının her kesime de kopyalanması gerekir. Temel olarak, o noktada ilgimi kaybettim, ancak bazıları 8051'i kullanmak için gerçekten motive olsaydı, yapılabilir (belki de iyi tavsiye edilmezse).
8051 portu hakkında iyi olan şey, NuttX'i çok küçük bir hafıza konumuna getirmede büyük bir egzersiz olması. 8051 bağlantı noktası, RTOS, libc, derleyici kitaplıkları, önemli bir test programı, .data / .bss ve yığınını içeren 32Kb RAM'de çalışır. Ve yedeklemek için küçük bir hafıza ile!
hcs12: Bu, boş zamanlarımda başka bir şey yapmadığım zamanlarda üzerinde çalıştığım bir proje. Henüz bitmedi ve henüz ilk kez hazır değil.
Diğer RTOS'larla karşılaştırıldığında, gerçekten iyi, otoriter cevaplarım yok çünkü diğer RTOS'ları kullanmıyorum. Ama işte benim saf anlayışım:
FreeRTOS , tonlarca indirmeye ve yaklaşık 4Kb'lik çok küçük bir alana sahiptir. Gerçekten küçük MCU'lar için tercih edilen RTOS'tur. FreeRTOS bağlantı noktası, hemen hemen her MCU'lu silikon satıcıları tarafından paketlenir. Bu yüzden varsayılan RTOS seçimidir.
Orada FreeRTOS'lu düzinelerce rakip var. ChiBIOS hemen akla geliyor. Bunların hepsi çeşitli tiplerde küçük programlayıcılardır.
Gerçek bir karşılaştırma yapmak için, ilk olarak yapmamız gereken bir şey bir RTOS ile ne demek istediğimizi tanımlamaktır: Sadece bir zamanlayıcı mı? Ya da zamanlayıcı, dosya sistemi, aygıt sürücüleri, bellek yönetimi, ağ iletişimi, vb. Gibi standart işletim sistemi özelliklerinin entegre bir kümesidir. NuttX, Linux ile aynı anlamda tam bir işletim sistemidir. İşte birkaç tane daha:
RTEMS : Bununla çalıştım. Sonsuza kadar var ve çok kararlı olmalı. Bu büyük; > 100kb. Bence MCU pazarının biraz üstünde.
uCOS : Hiç kullanmadı, ama bu birçok popüler bootloader altındaki RTOS değil mi? Benim izlenimim RTEMS'e benziyor, ama neden bahsettiğimi gerçekten bilmiyorum.
NuttX'i bunlarla nasıl karşılaştırabilirim: Eh, çok daha küçük. Başlangıç alanı yaklaşık 20Kb. Tam özellikli bir yapılandırma yaklaşık 10-20Kb daha fazladır. Bu RTOS'lardan bir diğer fark, NuttX'in çok standart odaklı olmasıdır. NuttX'i küçük, Linux benzeri bir iş olarak düşünebilirsiniz. Linux'ta derleyen ve çalıştırılan çoğu kod da NuttX üzerinde çalışır (ağ kodu veya arka plan gibi bazı sistem kodlarının biraz düzeltilmesi gerekebilir).
RTEMS'nin mikro işlemcilere daha çok odaklandığını düşünüyorum; NuttX daha çok mikro denetleyicilere odaklanmıştır.