2009-10-05 30 views
11

我需要生成一個嵌入式ARM設計,該設計需要嵌入式Linux做很多事情。然而,該設計對成本敏感,並不需要大量的馬力。大多數情況下會與串行接口通信。理想情況下,我想使用低端ARM之一。什麼是您成功使用嵌入式Linux的ARM的最低配置。在ARM處理器上運行嵌入式Linux的最低配置?

編輯:

應用程序需要在某種閃存設備以及運行用於處理數據的應用程序的能力的文件系統。某些應用程序可能由我自己以外的人撰寫。我還需要能夠加載新應用程序或使用串行端口更新舊應用程序以接受應用程序。

當我看到其他嵌入式操作系統時,他們似乎更像是一個實時線程解決方案,而不是運行應用程序的能力。我願意完成任務。

+0

你能提供應用一些更多的信息? 如果你真的只是跟幾個串口設備通信並且傳遞信息和ARM + linux,在成本和複雜性方面都可能是過度的,特別是如果你不熟悉這種設備上的工具鏈和OS的配置。 – Mark 2009-10-05 20:58:15

回答

12

我認爲你需要在這裏權衡你的成本選擇。

ARM + linux是一個選項,但您將爲這樣一個簡單的(從您的描述)功能集支付非常高的運行開銷。你不能只看ARM芯片的成本,但也必須考慮很可能需要的外部RAM以及閃存,以獲得足夠的空間來運行內核+應用程序。

注意:您可以通過非常小的內核和簡單的應用程序與具有大量內部資源的uC結合來避免外部需求。

第二個選項是一個簡單得多的輕量級操作系統微控制器。這樣可以降低CPU的硬件成本,並且可以在不使用外部RAM或閃存的情況下運行此類操作(取決於應用程序RAM和程序空間要求)

第三種選擇:我實際上沒有看到任何需求要求使用任何操作系統。基本的文件系統非常簡單,例如甚至有8位PIC的FAT驅動程序。連接到SD卡只需要一個SPI端口和最少的外部電路。

應用程序位可能簡單或複雜。我用PIC18微控制器構建了系統,該系統運行Web服務器,並通過簡單的上傳屏幕允許程序更新,它只是將新程序存儲到EEPROM或閃存中,重新引導到引導加載程序並將新程序複製到內部程序存儲器中。您可以設計一種方法,無需通過協作式多任務處理類型的體系結構重新啓動。任何你開始編寫應用程序的程序員都需要掌握架構的知識,並且可以訪問你編寫的庫/驅動程序。最簡單的做法是提供儘可能簡單的API,並嘗試爲它們自動完成構建過程。

第三個選項將是硬件方面的「最便宜」,因爲在處理應用程序時會有很小的開銷,讓您以最小的處理能力和內存脫身。這可能需要更多的編程/軟件架構,但除了學習在linux範例下編寫所需的設備驅動程序之外,您幾乎不需要進行研究,以便使Linux運行起來並運行。

與往常一樣,您必須將軟件開發成本包含在設備的構建成本中。如果您打算構建10,000多種這樣的產品,那麼可以更好地降低硬件成本,並將更多的人力投入到設計能夠使硬件達到設計目標的軟件解決方案中。如果你的建築物中有10個,如果能夠減少你的軟件開發成本,你最好在硬件上花費15-20美元。例如一個帶MMU的ARM,它具有完整的Linux內核支持和可用的設備驅動程序。

我覺得你現在選擇兩個世界中最糟糕的,你付出額外的成本來獲得一個uC你可以運行linux,但這樣做,你也選擇了一個可能是最複雜的部分linux上運行,特別是之前沒有在嵌入式平臺上使用linux。

2

即使在ARM7TDMI上我也取得了成功,所以我不認爲你會遇到任何麻煩。如果你的系統要求不高,你可以使用任何類型的輕量級實時執行程序,並且擁有比Linux更好的工作經驗。

2

我使用了TS-7200約五年時間,使用Debian GNU Linux運行一個Web服務器和郵件服務器。它的頻率爲200 MHz,有32 MB的RAM,並且對於這些任務來說已經足夠了。它具有內置的串行端口。它基於ARM920T。

這對於你的工作來說可能是過分的;我提到它,所以你有另一個數據點。

2

ucLinux專爲資源受限目標而設計,但對於沒有MMU的目標可能更重要。

但是,你必須有一個很好的理由在這樣的系統上使用Linux,而不是一個小型的實時執行者。即開即用的網絡,現成的驅動程序和用於複雜硬件的協議棧以及對現有POSIX傳統或開源代碼的支持等等。但是,如果你不需要這些,Linux仍然很大,你可能會浪費資源而沒有真正的好處。在大多數情況下,如果您選擇任何風格的Linux,您仍然需要片外SDRAM和Flash。

我不會把串行I/O爲「複雜的硬件」,所以除非你運行的是一個複雜的,但標準協議,您簡要說明似乎並不保證使用Linux的IMO

2

數年我一直在使用a gumstix進行原型設計和測試,並且我已經有了很好的結果。我不知道他們使用的處理器(我的主板上的Intel PXA255)是否被認爲是低成本的,但是對於適應性好的設備來說,整個Verdex產品線對我來說似乎相當便宜。

0

我的DLINK DIR-320路由器在裏面運行Linux。

我知道一些雜工,使用Optware閃爍並連接USB集線器,硬盤驅動器,USB閃存等等。

這是低成本的即用型「平臺」。 (如果你不需要大規模生產)。但也許比你需要的更強大。

此外,也可以通過無線網絡的界面甚至可以通過你的PDA :)配置

相關問題