2012-09-13 86 views
3

我試圖找到其他人發現的免費/便宜的RTOS,與恩智浦LPC1788微控制器配合使用。我原本計劃使用FreeRTOS,但它似乎不支持該特定處理器;最接近的支持核心是LPC1768。 ThreadX與LPC1788協同工作,但許可證將花費數千英鎊。建議?什麼是與LPC1788微控制器一起使用的良好RTOS?

編輯1:我忘了提及,我正在使用IAR Embedded Workbench。編輯2:我想我也應該指出,我對嵌入式編程相當陌生,更不用說使用RTOS了。 FreeRTOS和ThreadX似乎都非常相似,都有相當直觀的API。另一個RTOS的API與這些類型的API匹配的越多,我認爲就越好。編輯3:我一直在尋找一個名爲embOS的RTOS。它看起來很專業,API看起來很不錯,它們支持數量可觀的處理器/ IDE組合(包括我的),並且我已經有一個示例項目正常工作。它不是免費的,它的授權費用約爲2500歐元,但仍然比threadX許可證便宜3倍左右。感謝您的建議,我覺得有些不好,我不能選擇一個可接受的答案。

+0

是否必須是RTOS?你的應用程序是否真的需要實時響應?如果沒有,那麼你有更多的選擇。例如,Linux。我已經做了15年的嵌入式工作,並且根據問題領域,您可能幾乎沒有很強的實時要求。 – jszakmeister

+0

@jszakmeister:對於LPC1788(512KB Flash/96KB RAM,沒有MMU),Linux幾乎不是一個合適的建議。也許更合理的建議是,如果對設備,文件系統和網絡提供免費的,可擴展的和廣泛的支持,[eCos](http://ecos.sourceware.org/)。 – Clifford

+0

@Clifford Yikes!我沒有看到它受到內存限制,或者我從來不會建議Linux。感謝您指出。 eCos很不錯,但它似乎現在還沒有得到支持。 :[ – jszakmeister

回答

0

您可以嘗試使用任何Linux內核編譯獲得RTAI。可能需要一些工作,但應該是可行的(免費)

1

我知道Keil mVision IDE具有恩智浦芯片的RTOS,它可以在24xx 100%上工作。但是這個RTOS不是開源的,只有IDE所有者才能使用它。

+0

它非常好用,IDE中有很多例子。 – AGo

6

我本來打算使用FreeRTOS操作系統,但它似乎沒有 不支持該特定處理器

其實,FreeRTOS操作系統支持所有的Cortex-M3和Cortex-M4處理器與海灣合作委員會, IAR和Keil。僅僅因爲沒有特定的預配置演示項目並不意味着它不被支持。

FreeRTOS不依賴於Cortex-M內核之外的任何東西,因爲定時器生成和中斷控制器是內核本身的一部分。

您可以從FreeRTOS發行版中獲取現有的官方LPCxx IAR演示項目,並通過爲該芯片設置正確的鏈接器腳本來簡單重新定位它。任何使用IO的演示任務可能會在您的特定硬件(用於LED輸出的端口等)上不同,可以修改爲適合您的IO端口分配,或者只是刪除。

例如,Atollic有55個FreeRTOS項目上55個不同的硬件平臺上,所有的實際使用相同的C源文件運行 - 只有啓動文件和鏈接器的腳本是不同的。

4

我已經在Cortex-M3上專門評估了FreeRTOS,embOS和Keil RTX。三款FreeRTOS的上下文切換時間肯定是最慢的,而RTX的速度最快,但範圍是5us到15us,所以除了最硬的實時應用程序之外可能並不重要(然而它對我的情況有所不同)。

RTX當然是Keil特有的,你使用的是IAR,它的API不像embOS那麼複雜,當時它在CM3上有一些缺陷,並且不完全支持NVIC中斷優先級方案。我相信這些問題已經解決。FreeRTOS可能是API和體系結構中三個最不符合常規的程序,它廣泛使用了embOS和VxWorks以及類似的「傳統」RTOS系統,但我並不完全滿意。

embOS可以很好地與IAR及其調試器配合使用,並具有一定的實時操作系統感知調試功能。許可證是每個開發人員/每個處理器/每個工具鏈,但是否則是免費的,可以在許多使用相同體系結構和工具鏈的項目上使用。來自Segger的支持與文檔一樣非常出色,我認爲對於具有足夠的數量和利潤率的商業產品來說,這將是非常值得的。

您可能還會考慮eCos--這是一個更全面的解決方案,可提供對USB,網絡連接,文件系統以及更多以及調度和IPC的支持。有一個port for LPC1766,可能移植相對容易。然而,最有可能的是,您必須使用GNU工具鏈進行開發,這可能會影響您使用JTAG調試器等現有工具。

0

Linux是它的uClinux形式,在LPC1788上運行得很好。看看這段視頻,例如:

http://www.youtube.com/watch?v=VTemb8P1doI

如上評論提到的,LPC1788內部SRAM是不夠的,運行Linux,但LPC1788提供了一個SDRAM接口,從而可以添加外部內存。

0

Unison RTOS提供與Linux相同的POSIX調用,包括一組完整的I/O調用,您將從諸如freertos之類的東西中找到它們。這種商業模式對於商業產品的DIY和版稅是免費的。在串行I/O和文件系統方面,它往往只是999美元競爭對手價格的一小部分。 www.rowebots.com的細節。

0

我在RTOS工作,如果你願意,你可以找到在github上

http://www.github.com/geppo12/YasminOS

(路徑區分大小寫)

是一個簡單的調度,我要介紹的任務優先級儘快。 創建YasminOS因爲其他操作系統過於複雜或 其實我發展YasminOS只有一個視覺太貴:簡單

有許多不需要極端強大的OS應用程序,而只是作爲簡單的調度。實際上,它在Spansion FM3架構或恩智浦lpc800(是的,也可用於cortex m0)上進行了測試,我將在nxp 4088上進行測試....

相關問題