Чи підтримує Raspberry Pi 3 RTOS?


12

Я новачок у світі RTOS. Я планую використовувати деякі RTOS на Raspberry Pi 3 (може бути FreeRTOS). Хтось може підказати, який RTOS був би корисним для початківців?

Оскільки вони ще не випустили таблицю даних на BCM2837, чи можливо навіть завантажити RTOS на Raspberry Pi 3?

Чи допоможе це?


1
Звичайно, немає причин, чому ви не можете завантажити RTOS на RPI. Однак запит на рекомендацію певної ОС поза темою.
Ченмунка

1
Може хтось знає, навіщо вам потрібен RTOS? Що це дасть тобі, що будь-яка інша ОС не буде? Яким вимогам у реальному часі ви повинні відповідати? Чи можете ви пояснити, що робить RTOS корисним для початківців?
Джоан

1
@Chenmunka "Який найкращий RTOS для RPi?" ("для початківців" чи іншим способом) буде поза темою на основі думки. Це щось на зразок цього, але назва буквально "Чи підтримує малиновий пі 3 RTOS?" -> Як ви зазначаєте, імовірно, так. Якщо в решті питання насправді мається на увазі, що там RTOS, то це добре - що, безумовно, буде сутністю будь-якої реальної відповіді, я б подумав. Існує хоча б один ... такий собі.
золотинки

@joan Мені потрібен RTOS для вбудованих рішень в автомобільні додатки. Оскільки я новичок у RTOS, мені було цікаво, чи можна його оснастити наявним обладнанням (rpi-3) вдома .
піщаний

Погляньте на ядро ​​Ultibo. Це може бути саме те, що вам потрібно. ultibo.org
avra

Відповіді:



5

До цих пір я успішно випробовував наступні RTOS для малинових пі 3, які допоможуть комусь не втрачати час (я витрачаю 3 місяці): FreeRTOS, Xenomai, RTEMS, BitThunder, ChibiOS / RT

Для RISC OS це не RTOS.

Єдине, що мені вдалося запустити на малиновому пі 3 дотепер, це ядро ​​Fuchsia OS (Magenta), але воно знаходиться на більш ранній стадії і мало документально підтверджено

Ще один спосіб - створити RTOS самостійно, так це можливо, використовуючи ULTIBO CORE та дотримуючись цих навчальних посібників: - http://www.valvers.com/open-software/raspberry-pi/step01-bare-metal- програмування in-cpt1 / - https://www.youtube.com/watch?v=TCfpb8M0WeQ


1
Я успішно використовував Xenomai 2.6.5 на Raspberry Pi 3 (використовуючи код від github.com/margro/linux ).
steviethecat

4

ARM, сімейство ISA, що використовується процесорами Broadcom для всіх сучасних моделей Raspberry Pi, базується на RISC , для якого написано RISC OS . Я думаю, що RISC OS переважала на пристроях ARM протягом першого десятиліття, оскільки та сама технологічна компанія у Великобританії (Acorn) спочатку розробляла як ARM, так і RISC OS. Насправді, ARM спочатку розшифровувався як "Acorn RISC machine", і частина причини, яку Raspberry Pi називають тим, що це, через традицію у Великобританії називати комп'ютерні системи після фруктів або горіхів.

Операційна система RISC не є справжньою операційною системою в реальному часі, однак вона використовує спільну багатозадачність , тобто ви можете запустити процес, який може добровільно відмовитись здатися іншому процесу. Якими наслідками це може бути, я не знаю, але я вважаю, що:

  • Ви можете налаштувати речі, щоб це дозволило без проблем, але це може включати обмеження щодо того, що може виконати ОС (наприклад, стосовно мереж).

  • Контекстні перемикання в режим ядра відбудуться лише через системні дзвінки, здійснені процесом з метою виконання його цілей.

Це досить близько до функціонального часу в режимі реального часу, залежно від того, наскільки "реального часу" вам потрібно отримати. Далі, є певне підтвердження того, що ОС RISC працює на Pi 3 .


Дякую за відповідь. Здається, що справді не потрібно використовувати іншу ОС для rpi-3, оскільки резидентна ОС також є в режимі реального часу. Моє додаток орієнтоване на вбудоване обладнання, яке не може мати ОС на базі Linux, наприклад, raspbian через обмеження пам'яті. Справа в тому, чи можу я завантажити інші RTOS, що мають невеликий слід пам’яті на rpi-3, просто щоб звикнути до світу RTOS? Чи є обмеження на rpi-3?
піщаний

1
Вибачте: для пояснення це не дискусійний форум . Відвідайте тур ще раз і зверніть увагу на частину "Отримати відповіді на практичні, детальні запитання" . Це здається, що ви залишили деталі поза запитанням, запропонувавши іншим витрачати час на надання відповідей, які не є тим, що ви шукали, щоб ви могли звузити їх після стилю обговорення. Це не так, як працює SE. Якщо у вас інше питання, задайте інше питання. Не редагуйте цей, щоб змінити початкове значення, або я його закрию. Дякую.
золотинки

1
Я дам вам поради: якщо ви шукаєте ОС, яка буде працювати в системах із підгалузевою пам'яттю, спершу слід дізнатися, які саме варіанти. Просто вибір ОС у режимі реального часу випадковим чином "на практиці" може призвести до того, що ви навчитеся абсолютно нічого про ту, з якою ви закінчуєтесь справді використовувати. Тому не витрачайте час. Дізнайтеся, що вам потрібно використовувати, а потім запитайте, чи можете ви використовувати його на пі тощо.
goldilocks

0

Оскільки визначення RTOS змінюється залежно від програми, зазвичай це комп'ютер, який претендує на щось набагато простіше, RISC OS є RTOS для середньоскладних додатків, і не обов'язково для високоскладних, хоча високо складний RTOS звучить як протиріччя в термінах. Приклад Махмуда Альмостафи RABBAH посилається на відсутність ОС, а запуск програми з однозначним завданням прямо з завантажувача, який також не є RTOS.

Єдиний розумний спосіб зрозуміти це - розділити визначення RTOS на три рівні:

  • Низька складність - це щось на зразок пральної машини або реєстратора даних, і вам, мабуть, краще в першу чергу з більш простим обладнанням, наприклад, Arduino або, можливо, більш простим MCU або навіть просто послідовною логікою. Це споживає менше енергії, і турбуватися буде набагато менше: Ніколи не ускладнюйте речі, ніж повинні бути.

  • Висока складність буде чимось на зразок повноцінної багатозадачної системи, якої RTOS не є. Напевно, краще буде запустити свій графічний інтерфейс на окремому пристрої, якщо ви цього хочете. Висока складність також може бути процесами моніторингу, які викликають інші процеси, і деякі повинні бути визначені пріоритетними, але знову ж таки вам краще провести там якусь паралельну обробку, або вона не зможе реагувати в режимі реального часу.

  • Середня складність полягатиме в тому, що вам потрібні інтерфейси, які нормальна ОС може надати, наприклад, USB і, можливо, невеликий вихід дисплея, але ви хочете обробити потік даних і нічого не перебивати. Це звучить як рівень автомобільної програми.

    Для цього ви могли скласти щось без ОС, використовуючи хост-машину для її розробки, або ви можете використовувати версію RISC OS, яка завантажується безпосередньо в BASIC і розробляється на цільовій машині, що, як правило, простіше.

    Це дозволить виконати єдине завдання, яке може бути досить швидким для опитування на низку подій, не перебиваючи інших речей. Апаратні переривання все ще працюватимуть, якщо їх не вимкнено (досить легко зробити), і вони необхідні для роботи дисплея / USB тощо. Інші апаратні переривання запускають таймери та IO, які ви, можливо, не використовуєте.

Ще одна перевага RISC OS в додатках RTOS - це те, що ви можете використовувати лише потрібні вам модулі, що не має сенсу в традиційних додатках графічного інтерфейсу і використовувалося, наприклад, STD / AdvantageSix [1], хоча вони використовують термін "вбудовані системи" замість "RTOS". Переваги, які це приносить, - це спрощена конструкція, менші енергоспоживання, менша витрата пам’яті та швидший час завантаження (деякі інтерфейси пристроїв вводу / виводу вимагають міні-завантаження, і ОС повинна брати участь у цьому, хоча часові шкали зазвичай занадто короткі, щоб помітити ).

Я сподіваюсь, що обидва заповнить деякі прогалини в інформації вище, і усунуть прогалини в моїх власних знаннях.

[1] http://www.advantagesix.co.uk/about_us.html (Інші приклади з пам'яті більше не доступні в Інтернеті.)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.