題:
是否可以運行實時軟件?
Lars Pötter
2012-08-02 19:46:43 UTC
view on stackexchange narkive permalink

我知道它運行Linux,並且有適用於Linux的實時補丁。那些補丁程序行得通嗎?

有人在Raspberry Pi上嘗試過另一個實時操作系統嗎?

這個想法是要使用該板來進行對時間至關重要的調節工作。

我認為,唯一不能避免的唯一原因是封閉的GPU解決方案是否會妨礙您。如果您可以決定在執行實時任務時忽略GPU,那麼我認為可以進行實時擴展。
@ChrisStratton是什麼意思?這與GPU有什麼關係?
整個樹莓派系統尚未打開,您無法修改。問題是,在運行實時任務時,不是GPU的部分是否願意遠離,或者是否不可避免地要求總線週期訪問ram甚至“注意”來自ARM內核的方式會破壞硬性的時序目標。
顯然[RISCOS](http://en.wikipedia.org/wiki/RISC_OS)非常適合某些實時應用,並且它是[Raspberry Pi端口](http://www.raspberrypi.org/phpBB3/viewtopic.php ?f = 55&t = 8799)進展順利。 * 8')
RISCOS不是實時操作系統(根據您的Wikipedia鏈接),它有什麼幫助?
CONFIG_PREEMPT_RT補丁已在運行Linux的[幾個ARM處理器]上進行了演示。可能存在一些延遲問題,但是這些問題應該可以以微秒為單位進行測量。
有關此問題的新聞嗎?我對優化音頻感興趣。
“對時間至關重要的調控工作。” “時間緊迫”是什麼意思?您需要哪個法規期限?
八 答案:
minghua
2012-09-08 10:26:50 UTC
view on stackexchange narkive permalink

在Linux內核中,啟用 PREEMPT_RT 將提供有限的延遲和實時API。除了配置 PREEMPT_RT 外,還需要選擇 SCHED_FIFO SCHED_RR 策略。應用程序需要通過調用適當的API或使用適當的實用程序來設置實時參數。

根據自由電子培訓:嵌入式Linux中的實時,PREEMPT_RT是一個將實時功能引入內核的項目。它已完全折疊到2.6.33和3.0內核流中。查看文檔,您將找到所有內容。

基本上,有兩種方法可以為Linux內核帶來實時功能:

  • 在內核內部進行修改,即 PREEMPT_RT 項目。
  • 與普通內核並排運行實時部分,而在普通內核之下,有3代: RTLinux RTAI Xenomai 。 ( Aedos Avio 在下面提到?)

編輯:

歡迎使用Raspberry Pi,好答案! Ingo Molnar提供的RT PREEMPT補丁與高分辨率計時器(HRT)支持一起使用,可使內核實現硬實時功能。目前,它的支持達到[3.4.11內核](http://www.kernel.org/pub/linux/kernel/projects/rt/3.4/),“好消息”是補丁“正在縮小” ”,因此似乎大多數都已包含在主流內核資源中。在[此處](https://rt.wiki.kernel.org/index.php/RT_PREEMPT_HOWTO),您可以找到有關如何應用和使用它的出色教程。
嗯,別忘了在其他提供Linux實時支持的替代方法中引用[Adeos](http://home.gna.org/adeos/)**。
我必須提到,使PREEMPT_RT與Raspberry Pi內核一起工作並不是一件容易的事,只需應用補丁程序就可以產生無法工作的內核。另外,Raspberry Pi內核中有很多新驅動程序,這些驅動程序尚未經過PREEMPT_RT的測試,也沒有清除過長的阻塞睡眠。也就是說,這是一項正在進行的工作。
有任何更新嗎?驅動程序現在是否足夠穩定,可以使用此內核補丁?我希望為尚未編譯內核的人員提供一份實用的教程。
-1
現在有一個預裝的實時內核附帶的disto:https://github.com/guysoft/RealtimePi/
Krzysztof Adamski
2012-08-09 14:07:54 UTC
view on stackexchange narkive permalink

您可能對在RaspberryPi上運行 Xenomai感興趣。 在此處,您將找到有關如何執行此操作的教程。簡而言之,Xenomai是一個創建自定義Linux內核的項目(它們提供了必須應用於內核源代碼的補丁程序),從而使其能夠運行另一個是實時內核(Xenomai內核)。這樣就可以在各種硬件上運行Xenomai應用程序,而無需為其編寫驅動程序(因為Linux在各種硬件上都可以工作)。這允許使用幾個可用的不同RT API編寫RT用戶空間應用程序。

我可以使用此工具獲得的最大頻率是多少?我對以1 kHz左右的速率控制直流電動機感興趣
Piotr Kula
2012-11-13 16:49:40 UTC
view on stackexchange narkive permalink

Wyolum使用aLaMode(我稱為杏仁Pi)以可堆疊的方式安裝在Pi的頂部。它具有一個實時時鐘,使用aTiny 328,提供GPIO真正的UART /電源,並且可以通過多種方式閃爍。很棒是因為Pi可以在Arduino以實時中斷運行的同時完成您想做的任何事情,即Web服務器/數據庫。

enter image description here

要運行2個微控制器似乎有點不切實際,但另一方面,如果其他方法不夠快,則這可以確保實時操作。
關於RPi如何在不減慢其控制環速度的情況下與其他µC乾淨地通信的任何暗示?
GPIO引腳上的硬件UART?
是的,但µC必須輪詢我猜測的UART,才能不讓UART中斷推遲控制循環定時器中斷。然後,我將在控制循環開始時輪詢UART,並確保不會讀取太多字節,以免花費太長時間嗎?還是那樣容易導致UART緩衝區溢出?還是控制環路頻率比UART速度高得多,以至於每個環路讀取一個字節(如果可用)是否綽綽有餘?
`不確定您的意思是什麼嗎?可能會問一個非常技術性的問題,我也忘了嗎?`Atmega具有內置的uart緩衝區,如果您將它附加到您的`main`中斷,或者您可以在需要時調用check uart緩衝區。如果您不喜歡uart,可以使用I2C,但Pi尚不支持該功能。您可以在Piwell上的uart上運行一個單獨的線程,以讀取/寫入/響應所需的任何內容。如果您要猛撞,那會使事情複雜化。
很好的建議。 BTW Raspberry Pi Alamode已經是一個雙關語。 Ala模式是將冰淇淋放在餡餅上的時候。
真的嗎呵呵。我想知道那是什麼意思。現在有意義:)
Jivings
2012-11-12 14:20:06 UTC
view on stackexchange narkive permalink

我見過的最好的解決方案是Heber的 X10i-Raspberry Pi實時控制板

X10i是一種通用,功能強大且安全的實時控制器,它允許通過USB從任何PC系統控制多個輸入/輸出。 Heber現在提供了許多編程語言的支持,以使程序員,發明家和開發人員可以更輕鬆地從其PC與外界聯繫。

上面的鏈接提供了出色而詳盡的文檔,他們嘗試使用最新版本的Debian for Pi使驅動程序保持最新。

所以您需要從Pi到此的帶狀連接器?找不到該東西的租用照片,但它看起來確實很大。它列舉了一些例子,所以我認為很好。 +1
我不能說我已經使用過它,但是我希望如此,儘管我似乎記得在演示中使用USB接口的那個人。是的,這是相當龐大的。
Pierre-Jean Coudert
2012-10-26 18:48:52 UTC
view on stackexchange narkive permalink

這是與Xenomai一起運行的 Raspberry Pi上的一篇文章(法語由Google翻譯)。

嗨,您好。通常,我們不鼓勵只是鏈接的答案,以防鏈接頁面移動。您能否在答案中總結該頁面上的信息?然後,您可以將該鏈接作為參考。謝謝!
Radagast
2013-11-07 01:13:11 UTC
view on stackexchange narkive permalink

RODOS是另一個選擇,它是由德國航空航天中心和黑山教授的大學團隊和學生共同開發的一個開源項目。

它使用C ++編寫,完全採用面向對象的方式編寫並支持ARM7。 ,Atmel AVR,STM32 / Cortex-M3,Xilinx,Raspberry Pi:),...

如果我沒有記錯的話,它目前已在衛星TET和LoTTo機器中使用。

當然,我更希望在Linux上運行它(可能的話)以兼具兩方面的優勢-但是實時問題仍然存在,因為我不確定Linux是否可以提供正確的API

要獲得RODOS,必須向Sergio Montenegro教授或DLR(德國航空航天中心)寫一條消息。

如果我必須寫信給塞爾吉奧教授索要副本,那真的是“開源”嗎?
也許老派的筆和紙是開源的。一些直接聯繫。我真的很喜歡這個傢伙。也許可以得到量身定制的反饋,以決定它是否適合該任務。我認為,出於對安全的擔憂(衛星開採),德國航空航天中心希望採用某種控制方式。讓我們找到一個折衷方案:它是“開源的一種”。有總比沒有好 ;-)
涼。很公平 :)
jitter
2014-01-06 00:50:08 UTC
view on stackexchange narkive permalink

除了linux,還有實時操作系統。在開源軟件中非常流行的是ChibiOS / RT:

是一個完整,可移植,開源,緊湊且極其快速的RTOS(實時操作系統)

的簡要介紹位於 http://chibios.org/dokuwiki/doku.php?id=chibios:documents:introduction。與Linux不同,您可能還會喜歡

Well的讀物,應該解釋一些設計選擇,這些選擇有助於ChibiOS / RT成為一種獨特的設計。本身並沒有什麼新奇的東西,但是整體很有趣。

或不是。如果您喜歡的話-在 https://github.com/steve-bate/ChibiOS-RPi上進行pi實驗可能是值得的體驗:

ChibiOS

作者在

http://www.stevebate.net/chibios-rpi/GettingStarted上添加了一個很好的指南。 html

個人而言,在rtos方面,對我而言,linux就像攜帶越野設備一樣可以滿足平原國家的需求。您可能只是不需要它。即使是圓周率也可能太大。查看 http://forum.arduino.cc/index.php?topic=144715.0減輕體重:)

Pablo
2016-02-06 01:19:37 UTC
view on stackexchange narkive permalink

通過RT_PREEMPT_FULL查看此版本的Hypriot Raspbian:

http://www.ehu.eus/ehusfera/pablogn/2016/01/20/real-time-kernel-for- the-raspberry-sbc /

歡迎來到Raspberry Pi!從理論上講,這可能可以回答問題,但是[更可取的是](// meta.stackoverflow.com/q/8259)在此處包括答案的基本部分,並提供鏈接以供參考。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...