2010-06-26 39 views
2

我有幾個查詢涉及到手中的不同處理器的RTOS。這些是一般性問題。也許你可以用特定於任何處理器/ rtos甚至一般的例子來闡明。如何確定一個處理器是否可以支持RTOS?如何知道處理器是否需要RTOS?處理器可以支持/需要一個RTOS?

+0

對不起,確切的問題是什麼? – BobbyShaftoe 2010-06-26 07:55:13

+0

@S Man - 您可以在http://superuser.com/上發佈您的硬件相關問題,而不是在這裏。這是編程相關問題的網站。謝謝。 – 2010-06-26 15:02:15

+3

@Gert G:我不得不在這種情況下不同意;在嵌入式系統中,通常不可能完全是硬件不可知的;軟件和硬件是密不可分的,這個問題比硬件相關的軟件更多。 superuser.com將是一個完全不適合這個問題的論壇。 – Clifford 2010-06-26 17:08:37

回答

0
  • 沒有處理器需要RTOS。 RT是編程的一個特性,而不是處理器可能需要的東西。

  • 每個處理器,我知道支持RTOS的 - 一個硬件中斷將在下一條指令中斷。這基本上是OS停止並以非實時方式處理事情的操作系統。

+1

我知道的一個處理器不支持搶先式RTOS - PIC16系列,因爲調用堆棧無法操作。 – 2010-06-26 11:22:00

+2

有大量的處理器沒有足夠的內存來支持RTOS。試圖配置一個在64或128字節RAM的處理器上運行只是不值得。 – 2010-06-28 07:37:24

+0

錯了。認真。不要說廢話 - 幾年前64MB是工作站的內存,猜測是什麼 - 仍然存在RTOS。有時需要RTOS來控制非常小但時間關鍵的應用,如汽車中的ABS/ESP。我打賭我不需要一個ABS控制器16mb RAM。 RTOS在嵌入式設備中使用很多。 – TomTom 2010-06-28 08:13:45

2

這是另一個「多長時間是一串字符串」的問題,但我會給它+ +1的有趣。

第二點第一。我不認爲處理器可能需要RTOS;我寧願說一個應用程序可以。

至於處理器是否可以支持RTOS,你的原則性問題將是你加載它的程度,它必須處理多少事件以及它們需要多少處理等等,以及中斷處理機制的可用性等

你有一個特定的處理器,ROTS,應用在心中,或者這只是一個一般性的問題?

3

處理器是否需要RTOS?不,你不需要RTOS。你可以有一個複雜的嵌入式應用程序運行沒有。我正在使用的應用程序目前沒有RTOS。 我們必須考慮在應用程序中調度各種任務,並且必須編寫調度這些任務的代碼。我們通過簡單地使用軟件定時器和按照我們認爲適當的時間劃分不同的任務來實現其中大部分。但是,擁有一個RTOS可以通過無縫地安排代碼的不同部分來使得該過程變得更加簡單,而且您不必擔心那時會處理這些問題。

你,當你選擇一個RTOS考慮幾件事情。你的處理器有多少內存?你有多少FLASH?如果你不需要它的所有功能,你不想在你的開發板上投入昂貴的芯片,並且需要沉重的RTOS。 對於基本的調度東西,你可以得到相對較小的RTOS,這不是很大,並且可以非常有效地完成你想要的大部分事情。
例如免費RTOS是開源的,大致只有

您也可以選擇使用RTOS」這樣做一大堆更多,但要麼是昂貴的或巨大或兩者的VxWorks或嵌入式Linux 9K的。

最後,你用真RTOS取決於應用程序的需求是什麼,以及有多少內存,你必須騰出了。

0

爲什麼一個處理器需要和RTOS?畢竟RTOS只是直接在硬件上運行的軟件,該軟件可能同樣是您的應用程序直接在硬件上運行。你的問題的這一部分沒有意義。現在,如果你的處理器設計成通過在硬件中執行字節碼來運行Java代碼,那麼將該處理器與除JVM以外的任何其他應用程序一起用作應用程序的基礎是沒有意義的,但我無法想象這樣的處理器爲實時操作系統的實現量身打造,即使沒有實時操作系統,你也無法使用它。

現在就處理器是否可以支持RTOS而言,最簡單的方法是查看是否已經實現了商用RTOS。大多數處理器供應商將確保在芯片通常可用之前,從一個或多個第三方獲得此類支持。一般來說,我會建議任何具有中斷機制和計時器硬件的任何設備都可以支持RTOS,或者至少具有足夠資源的某種調度器。但是,有一些資源受限的微控制器在那裏根本沒有意義。