Raspberry Pi 3 RTOS'u destekliyor mu?


12

RTOS dünyasında yeniyim. Raspberry Pi 3 (FreeRTOS olabilir) üzerinde bazı RTOS kullanmayı planlıyorum. Yeni başlayanlar için hangi RTOS'un iyi olacağını kimse önerebilir mi?

Henüz BCM2837'de bir veri sayfası yayınlamadıklarından, RTOS'u bir Raspberry Pi 3'e yüklemek bile mümkün mü?

Bu yardımcı olacak mı?


1
RPi'ye bir RTOS yükleyememeniz için hiçbir neden yoktur. Ancak, belirli bir işletim sistemi için öneri istemek konu dışıdır.
Chenmunka

1
Neden RTOS'a ihtiyacınız olduğunu biliyor olabilir misiniz? Başka herhangi bir işletim sisteminin size vermeyeceği şey nedir? Gerçekleştirmeniz gereken gerçek zamanlı gereksinimler nelerdir? Bir RTOS'u yeni başlayanlar için neyin iyi yaptığını açıklayabilir misiniz?
joan

1
@Chenmunka "RPi için en iyi RTOS hangisidir?" ("yeni başlayanlar için" veya başka bir şekilde), görüş temelli olarak konu dışı olacaktır. Bu bir tür ama başlık tam anlamıyla "Raspberry pi 3 RTOS'u destekliyor mu?" -> Belirttiğiniz gibi, muhtemelen evet. Sorunun geri kalanı gerçekten, RTOS'un ne olduğu anlamına gelirse, o zaman sorun değil - ki bu herhangi bir gerçek cevabın doğası olmalı, sanırım. En az bir tane var ... bir çeşit.
goldilocks

@joan Otomotiv uygulamalarına gömülü çözümler için RTOS'a ihtiyacım var. RTOS'ta yeni olduğum için, evde mevcut donanım (rpi-3) ile eğilebilir olup olmadığını merak ediyordum .
kum

Ultibo çekirdeğine bir göz atın. Sadece ihtiyacınız olan şey olabilir. ultibo.org
avra

Yanıtlar:



5

Şu ana kadar ahududu pi 3 için başarılı olmadan şu RTOS'u test ettim, bu da birinin zaman kaybetmemesine yardımcı olacak (3 ay harcadım): FreeRTOS, Xenomai, RTEMS, BitThunder, ChibiOS / RT

RISC OS için bu bir RTOS değildir.

Ahududu pi 3 üzerinde çalışabildiğim tek kişi Fuşya OS'nin çekirdeğidir (Macenta), ancak daha erken bir aşamada ve düşük belgelenmiş

Başka bir yol RTOS'u kendiniz oluşturmaktır, evet mümkündür, ULTIBO CORE kullanarak ve bu öğreticileri takip ederek: - http://www.valvers.com/open-software/raspberry-pi/step01-bare-metal- cpt1'de programlama / - https://www.youtube.com/watch?v=TCfpb8M0WeQ


1
Bir ahududu Pi 3 ( github.com/margro/linux kodunu kullanarak) Xenomai 2.6.5 başarıyla kullandım .
steviethecat

4

ARM, ISA ailesi tüm güncel Ahududu Pi modellerinde Broadcom işlemciler tarafından kullanılan dayanmaktadır RISC kendisi için, RISC OS yazılır. RISC İşletim Sistemi Sanırım ARM ve RISC İşletim Sistemini ilk olarak tasarlayan İngiltere merkezli teknoloji şirketi (Acorn) ile ilk on yıl boyunca ARM cihazlarında hakim oldum. Aslında, ARM başlangıçta "Acorn RISC makinesi" ve Ahududu Pi denilen nedeni kısmen İngiltere'de meyve veya fındık sonra bilgisayar sistemleri adlandırma geleneği nedeniyle oldu.

RISC OS gerçek bir gerçek zamanlı işletim sistemi değildir, ancak kooperatif çoklu görev kullanır , bu da kendisini başka bir sürece teslim etmeyi gönüllü olarak reddedebilecek bir işlemi çalıştırabileceğiniz anlamına gelir. Bunun ne gibi sonuçları olabilir bilmiyorum, ama şunu varsayıyorum:

  • Buna izin vermek için yapılandırılmış şeyleri sorunsuz olarak alabilirsiniz, ancak işletim sisteminin neyi başarabileceğine dair kısıtlamalar içerebilir (ör. Ağ ile ilgili olarak).

  • Çekirdek moduna bağlamsal geçişler , yalnızca hedeflerini tamamlamak için işlem tarafından yapılan sistem çağrıları nedeniyle gerçekleşir.

Bu, gerçek zamanlı işlevselliğe oldukça yakındır. Ayrıca, RISC işletim sisteminin Pi 3 üzerinde çalıştığına dair bir onay var .


Cevap için teşekkürler. Yerleşik işletim sistemi de gerçek bir zaman olduğu için rpi-3 için başka bir işletim sistemi kullanmak gerçekten gerekli değil gibi görünüyor. Uygulamam, bellek kısıtlaması nedeniyle raspbian gibi linux tabanlı işletim sistemine sahip olmayan gömülü donanımı hedefliyor. Mesele şu ki, sadece RTOS dünyasına alışmak için rpi-3 üzerinde küçük bir bellek alanına sahip diğer RTOS'ları yükleyebilir miyim? RPI-3 ile ilgili herhangi bir sınırlama var mı?
kum

1
Üzgünüm: Açıklamak gerekirse, bu bir tartışma forumu değil . Lütfen tura tekrar katılın ve "Pratik, ayrıntılı soruların yanıtlarını alın" bölümüne dikkat edin. Ayrıntıları sorunuzun dışında bıraktığınız anlaşılıyor, diğer insanları aradığınız şey olmayan cevaplar vererek zamanlarını boşa harcaması için davet ediyor, böylece daha sonra tartışma stilini daraltabilirsiniz . SE bu şekilde çalışmaz. Farklı bir sorunuz varsa, farklı bir soru sorun. Orijinal anlamı değiştirmek için bunu düzenlemeyin, yoksa kapatacağım. Teşekkür ederim.
goldilocks

1
Yine de size bir tavsiye vereceğim: Alt MB belleğe sahip sistemlerde çalışacak bir işletim sistemi arıyorsanız, önce seçeneklerinizin ne olduğunu öğrenmelisiniz . Rastgele "pratik için" gerçek zamanlı bir işletim sistemi seçmek, gerçekten kullanmak zorunda olduğunuz sonla ilgili kesinlikle hiçbir şey öğretmeyebilir. Yani zamanını boşa harcama. Ne kullanmanız gerektiğini öğrenin, ardından pi, vb. Üzerinde kullanıp kullanamayacağınızı sorun.
goldilocks

0

Bir RTOS'un tanımı, genellikle çok daha basit bir şey gibi davranan bir bilgisayar olan uygulamaya bağlı olarak değiştiğinden, RISC OS, orta karmaşık uygulamalar için bir RTOS'dur ve çok karmaşık bir RTOS olmasına rağmen, yüksek karmaşık olanlar için zorunlu değildir. kulağa bir çelişki gibi geliyor. Mahmoud Almostafa RABBAH'ın örneği işletim sistemi yok ve doğrudan RTOS olmayan önyükleyiciden tek görevli bir program çalıştırıyor.

Bunu anlamanın makul bir yolu RTOS tanımını üç seviyeye ayırmaktır:

  • Düşük karmaşıklık bir çamaşır makinesi veya bir veri kaydedici gibi bir şey olacaktır ve muhtemelen ilk başta Arduino veya belki daha basit bir MCU veya hatta sıralı mantık gibi daha basit donanımlarla daha iyi durumdasınızdır. Daha az güç tüketecek ve endişelenecek çok daha az şey olacak: Asla işleri olması gerekenden daha karmaşık yapmayın.

  • Yüksek karmaşıklık, RTOS'un yapmadığı tam bir çoklu görev sistemi gibi bir şey olacaktır. İsterseniz, GUI'nizi ayrı bir cihazda çalıştırmak muhtemelen daha iyi olacaktır. Yüksek karmaşıklık, diğer süreçleri çağıran süreçleri de izleyebilir ve bazılarına öncelik verilmesi gerekir, ancak yine de orada bir tür paralel işleme ile daha iyi durumdasınız veya gerçek zamanlı olarak yanıt verememe başarısız oluyor.

  • Orta karmaşıklık, normal bir işletim sisteminin sağlayabileceği arabirimlere, örneğin USB'ye ve belki de küçük bir ekran çıkışına ihtiyaç duyduğunuz yerde olabilir, ancak bir veri akışını işlemek ve hiçbir şey tarafından kesintiye uğratılmak istemezsiniz. Bu bir otomotiv uygulaması seviyesine benziyor.

    Bunun için, işletim sistemi olmadan bir şey derleyebilir, geliştirmek için bir ana makine kullanarak veya doğrudan BASIC'e önyüklenen ve genellikle daha kolay olan hedef makinede gelişen RISC OS sürümünü kullanabilirsiniz.

    Bu, başka şeyler tarafından kesintiye uğramadan, bir dizi olay için yoklanacak kadar hızlı olabilecek tek bir görevi yürütecektir. Donanım kesintileri devre dışı bırakılmadıkça (yapılması oldukça kolay) ve ekran / USB vb. Diğer donanım kesintileri çalışma zamanlayıcılarını ve kullanmadığınız IO'ları çalıştırır.

RTOS uygulamalarında RISC OS'nin bir diğer avantajı, sadece ihtiyacınız olan modülleri kullanabilmenizdir, geleneksel GUI uygulamalarında anlamsız bir şeydir ve "gömülü sistemler" terimini kullanmasına rağmen, örneğin STD / AdvantageSix [1] tarafından kullanılmıştır. "RTOS" yerine. Bunun getirdiği avantajlar, basitleştirilmiş tasarım, daha düşük güç gereksinimleri, daha düşük bellek kullanımı ve daha hızlı önyükleme süreleridir (bazı G / Ç aygıt arabirimleri mini önyükleme gerektirir ve işletim sistemi buna katılmak zorundadır, ancak zaman ölçekleri genellikle farkedilmek için çok kısadır ).

Umarım her ikisi de yukarıdaki bilgilerdeki bazı boşlukları doldurur ve kendi bilgilerimdeki boşlukları netleştirir.

[1] http://www.advantagesix.co.uk/about_us.html (Bellekten diğer örnekler artık çevrimiçi olarak mevcut değildir.)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.