查看: 43211|回復: 59
打印 上一主題 下一主題

關(guān)于嵌入式OS的選擇的討論和調查

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2009-6-14 11:28:50 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)鍵詞: 調查 , 嵌入式 , 討論 , 選擇
本帖最后由 一朝成名 于 2009-6-18 11:26 編輯

發(fā)帖目的:調查一下關(guān)于嵌入式os的選擇,另外著(zhù)重的介紹幾個(gè)優(yōu)秀的開(kāi)源os(大家很關(guān)注的問(wèn)題,免費
              借此討論一下一些優(yōu)秀的os選擇和使用問(wèn)題。

希望大牛們都參與進(jìn)來(lái),能獻上一些寶貴的經(jīng)驗和參考。
最近在做一個(gè)項目采用的ARM7+eCos,移植部分基本已經(jīng)做完了……至于以后的性能方面,還需要單獨的測試和關(guān)注。
后續會(huì )把相關(guān)的測試結果傳上來(lái)。
多選投票: ( 最多可選 8 項 ), 共有 304 人參與投票
您所在的用戶(hù)組沒(méi)有投票權限
沙發(fā)
 樓主| 發(fā)表于 2009-6-14 11:31:03 | 只看該作者

關(guān)于eCos

本帖最后由 一朝成名 于 2009-6-14 12:28 編輯

這個(gè)大家應該比較熟悉呵呵,估計大家都熟了。我就啰嗦下再貼一次,希望沒(méi)有誤導人:)

      eCos 中字面上C(configurable) 表示的“高可配置性”。eCos可以讓開(kāi)發(fā)者像在玩積木般地自由選擇其執行期的元件,應用程序開(kāi)發(fā)者可以針對自己的應用程序來(lái)設遲一個(gè)對其最小的RTOS環(huán)境,這跟以往應用程序就是跑在一個(gè)完整的RTOS上本質(zhì)上不同,在嵌入式系統資源與內存寸土寸金的環(huán)境上,這樣的開(kāi)發(fā)方式是很重要的。在以往的嵌入式開(kāi)發(fā)方式都是自己手工的將RTOS作縮減,對經(jīng)驗不足或對該RTOS不夠熟悉的人將會(huì )花去許多時(shí)間,或是根本很難將RTOS拆開(kāi),但在eCos上,由于設計之初就是朝向可設遲的原則,各種元件都遵守著(zhù)模塊化的開(kāi)發(fā)方式,而應用程序開(kāi)發(fā)者只要使用eCos 中的配置,即可輕松簡(jiǎn)單的對eCos元件作量身打造,也不需對其內部實(shí)作有所了解即時(shí)RTOS的核心并提供標準系統API。
      eCos 的核心支持一般OS常見(jiàn)的項目如驅動(dòng)程序(Device Driver)、內存管理(Memory managemant)、異常處理(exceptionhandling)、中斷處理(exception handling)、線(xiàn)程的支持(threadsupport)、計時(shí)器(Timer)、計數器(Counter),對于即時(shí)RTOS的支持如完全優(yōu)先(fullpreemptability)、最小中斷延遲(minimal interrupt latencies)、線(xiàn)程同步(synchronization primitive)、可自定的調度原則(schedulepolicies)。此外也支持POSIX 等操作系統的標準API 及ANSI C 與常用的數學(xué)函數。支持常用的周邊及通訊協(xié)議(networking stacks)支持以太網(wǎng)絡(luò )卡,串口,USBslave等常用周邊。并支持一般常用的通訊協(xié)議如IP、IPV6、ICMP、UDP、TCP、SNMP、HTTP、TFTP、FTP等。網(wǎng)絡(luò )設遲部分,可支持靜態(tài)IP 與DHCP 。GDB支持可支持主控端使用GDB 遠端透過(guò)串口或是以太網(wǎng)絡(luò )對應用程序除錯。
         此外,eCos另一個(gè)優(yōu)點(diǎn)是他支持非常多的平臺和CPU,尤其是比較新的CPU比如ARM的各個(gè)系列,DSP(BlackFin)等。并且也支持很多硬件平臺。目前支持的CPU包括: ARM, CalmRISC, FR-V, H8, IA32, M68K, Matsushita AM3x, MIPS,NEC V8xx, PowerPC, SPARC, SuperH 支持的硬件平臺設備包括: Flash, Ethernet, 串口, USB,時(shí)鐘等。其已直接支持了時(shí)下絕大部分的硬件,可在eCos 官方網(wǎng)站上找到支持列表。官方網(wǎng)站http://ecos.sourceware.org/
板凳
 樓主| 發(fā)表于 2009-6-14 11:31:11 | 只看該作者

關(guān)于RT-Thread

本帖最后由 一朝成名 于 2009-6-14 11:49 編輯


RT-Thread
是一國內開(kāi)源的實(shí)時(shí)嵌入式操作系統,所有代碼遵循GNUGPLv2許可證發(fā)布。首先RT-Thread是一個(gè)實(shí)時(shí)操作系統核心,完全符合實(shí)時(shí)系統的特征,做到了硬實(shí)時(shí)的要求。這個(gè)核心同時(shí)也是一個(gè)極小的微型內核,代碼體積<10k,完全可以放于cache中運行以獲得優(yōu)秀的時(shí)間性能。其次RT-Thread也是一套面向嵌入式系統的開(kāi)源組件,包含通常系統中用到的shell命令行接口,TCP/IP網(wǎng)絡(luò )協(xié)議棧,文件系統以及圖形用戶(hù)界面。而向上,RT-Thread組件則提供了通用的標準C接口及BSD風(fēng)格的socket接口,使得編寫(xiě)程序、調試程序可以在PC上進(jìn)行。再次,RT-Thread(www.rt-thread.org)也是一個(gè)開(kāi)源社區,一個(gè)國內實(shí)時(shí)系統、嵌入式系統的開(kāi)源社區。

RT-Thread 0.3.x版本是RT-Thread下一個(gè)發(fā)行的主要版本,在這個(gè)版本中突出了它的穩定性及多種面向嵌入式系統的組件。

這個(gè)版本的功能包括:
- Kernel
- finsh shell系統
- 網(wǎng)絡(luò )協(xié)議棧
  * ftp server
  * tftp client
  * web server
- 文件系統
  * 虛擬文件系統,能夠支持混合的多文件系統
  * 目錄路徑格式類(lèi)似于Unix,以'/'為主
  * 多分區文件系統掛載
  * FAT 12/16/32文件系統
- 完整的libc庫
  * 標準的文件訪(fǎng)問(wèn)接口
- RTGUI
  * 中文顯示
  * 中文輸入
  * 基本的控件
  * 完善的窗口功能
  * 完善的workbench功能
地板
 樓主| 發(fā)表于 2009-6-14 11:31:50 | 只看該作者

關(guān)于RTems

本帖最后由 一朝成名 于 2009-6-14 12:29 編輯

這個(gè)RTems著(zhù)重的介紹一下,號稱(chēng)比Vxworks還要優(yōu)秀的os~!!
RTEMS, 即: 實(shí)時(shí)多處理器系統(Real            Time Executive for Multiprocessor Systems),是一個(gè)開(kāi)源的無(wú)版稅實(shí)時(shí)嵌入操作系統RTOS。            它最早用于美國國防系統,早期的名稱(chēng)為實(shí)時(shí)導彈系統(Real Time Executive for Missile Systems),后來(lái)改名為實(shí)時(shí)軍用系統(Real          Time Executive for Military Systems),現在由OAR公司負責版本的升級與維護。目前無(wú)論是航空航天、軍工,還是民用領(lǐng)域RTEMS都有著(zhù)極為廣泛的應用。
      從體系結構上來(lái)看,RTEMS是微內核搶占式的實(shí)時(shí)系統,他具有下面的優(yōu)點(diǎn):
      
  • 優(yōu)秀的實(shí)時(shí)性能
    • 支持硬實(shí)時(shí)和軟實(shí)時(shí)(可搶占內核)
    • 支持優(yōu)先級繼承,防止優(yōu)先級反轉
    • 支持單調周期調度
    • 支持優(yōu)先級高度協(xié)議
  • 非常的穩定
  • 運行速度快
  • 支持多種CPU,無(wú)論是ARM, MIPS,PowerPC,i386還是DSP,AVR,Zilog,都可以找到對應的BSP。
  • 高度可剪裁內核(目標系統小只有30KB;大可上百兆)1,2,3
  • 占用系統資源小,在32位系統中最小的內核只有30Kb左右1,2
  • 支持多處理器(不同于SMP,RTEMS中多個(gè)處理器是協(xié)作關(guān)系)
  • 提供POSIX API,Linux/UNIX下的程序可以方便移植
  • 提供完整的BSD的TCP/IP協(xié)議棧以及FTP、WebServer、NFS等服務(wù)
  • 使用面向對象思想設計,可以大大縮短開(kāi)發(fā)周期
  • 核心代碼使用C/C++寫(xiě)作,可移植性好
  • 支持ISO/ANSI C庫
  • 支持ISO/ANSI C++庫以及STL庫
  • 支持精簡(jiǎn)的可重入glibc庫
  • 支持圖形用戶(hù)界面(Microwindows/Nano-X)
  • 支持文件系統(FAT,IMFS等)
  • 支持多種調試模式(包括GDB,DDD,串口調試,以太網(wǎng)調試)
  • 支持32位處理器,Tiny RTEMS項目將對8位和16位處理器進(jìn)行支持2
  • 支持JAVA虛擬機


官方網(wǎng)站http://www.rtems.com/
地下室
 樓主| 發(fā)表于 2009-6-14 12:04:14 | 只看該作者
附上,RTems RT-linux  Vxworks性能PK測試,老外測試的……

三種OS性能PK.pdf

37.14 KB, 下載積分: 積分 -1

6
發(fā)表于 2009-6-14 12:32:50 | 只看該作者
成名 開(kāi)始 開(kāi)壇布道 啦~
俺來(lái)支持一把~
7
 樓主| 發(fā)表于 2009-6-14 12:55:53 | 只看該作者
我是拋倆磚頭,等真人們現身……
8
發(fā)表于 2009-6-14 12:56:46 | 只看該作者
名人也出招了!好!招數大PK!
9
發(fā)表于 2009-6-14 21:49:15 | 只看該作者
好無(wú)懸念的linux,非RT。

兼容性和日后atom類(lèi)CPU的崛起。

要么不OS,直接復雜狀態(tài)機,要么液晶屏鍵盤(pán)都帶上弄個(gè)小電腦。

為了日后的兼容性,你說(shuō)用啥。

而且有些嵌入式設備就跑一個(gè)PC軟件,比如數據庫。
10
發(fā)表于 2009-6-14 22:00:33 | 只看該作者
本帖最后由 宇宙飛船 于 2009-6-14 22:02 編輯

ECOS 俺沒(méi)研究過(guò),猜應該是ECOS的作者把LINUX的所有的外圍設備驅動(dòng)去掉,余下的內核再重新自行加上簡(jiǎn)化的必要的一些外圍設備驅動(dòng)?
11
 樓主| 發(fā)表于 2009-6-15 09:06:49 | 只看該作者
好無(wú)懸念的linux,非RT。

兼容性和日后atom類(lèi)CPU的崛起。

要么不OS,直接復雜狀態(tài)機,要么液晶屏鍵盤(pán)都帶上弄個(gè)小電腦。

為了日后的兼容性,你說(shuō)用啥。

而且有些嵌入式設備就跑一個(gè)PC軟件,比如數據庫。
sinanjj 發(fā)表于 2009-6-14 21:49


看來(lái)司南還是沒(méi)仔細看阿,eCos,RTems直接支持POSIX,也就是說(shuō)linux下的軟件可以不用修改的移植過(guò)來(lái)
linux下的驅動(dòng)也可以直接拿來(lái)用
說(shuō)什么一統天下的話(huà)我不相信
在實(shí)時(shí)要求嚴格的場(chǎng)合,并不是linux所擅長(cháng)的,還有資源的問(wèn)題,上面的幾個(gè)內核不管從RAM還是flash來(lái)說(shuō),要求很底
12
 樓主| 發(fā)表于 2009-6-15 09:17:01 | 只看該作者
ECOS 俺沒(méi)研究過(guò),猜應該是ECOS的作者把LINUX的所有的外圍設備驅動(dòng)去掉,余下的內核再重新自行加上簡(jiǎn)化的必要的一些外圍設備驅動(dòng)?
宇宙飛船 發(fā)表于 2009-6-14 22:00

     eCos
最早是Cygnus公司開(kāi)發(fā),并不是出自linux內核…后來(lái)被REDHAT收購了,現在開(kāi)源了,為了能更好的推廣吧。
13
發(fā)表于 2009-6-15 09:59:26 | 只看該作者
永遠扯不清的話(huà)題,賺錢(qián)是王道。
14
發(fā)表于 2009-6-15 11:39:23 | 只看該作者
又見(jiàn)換名的linux。。。。

android,moblin,ecos。。。。

內核稍微改改的就該歸到linux大類(lèi)里。
15
 樓主| 發(fā)表于 2009-6-15 16:54:50 | 只看該作者
又見(jiàn)換名的linux。。。。

android,moblin,ecos。。。。

內核稍微改改的就該歸到linux大類(lèi)里。
sinanjj 發(fā)表于 2009-6-15 11:39


盲流盲流盲流……看好標題好不
都叫linux算了,RTems出來(lái)的時(shí)候還沒(méi)linux呢
16
發(fā)表于 2009-6-15 21:58:55 | 只看該作者
嵌入式和PC的界限越來(lái)越模糊了。

CPU和GPU要做在一起了。

說(shuō)不清了。

MCU的程序怎么大也沒(méi)見(jiàn)幾個(gè)用OS的,清華某同志忽悠的UCUO2火過(guò)一陣子,同學(xué)也被忽悠去過(guò),實(shí)地也用過(guò),我們這也有自己寫(xiě)MCU的小型OS的,經(jīng)我測試,都是中看不中用的東西。

就說(shuō)實(shí)時(shí)這一點(diǎn),關(guān)鍵是很多任務(wù)都是不能被打斷的,你咋時(shí)間片?

而且到一定層次你會(huì )喜歡直接畫(huà)流程圖,狀態(tài)機,復雜大循環(huán)來(lái)在MCU上跑,MCU上操作系統將死(實(shí)時(shí)操作系統將死是同樣的)。就應用價(jià)值來(lái)看,MCU上用操作系統還不如學(xué)習ADA等高級語(yǔ)言呢。

而高端嵌入式同PC界限越來(lái)越模糊。小型PC==嵌入式。那么,你認為從PC過(guò)渡來(lái)的巨量coder會(huì )選擇哪個(gè)系統呢?

RTems出來(lái)的時(shí)候沒(méi)linux有unix吧。linux和unix的關(guān)系知道吧。
選這些東西不給選擇FC5和debian一樣,選android和moblin一樣。選java還是C#一樣
17
發(fā)表于 2009-6-17 06:24:59 | 只看該作者
哈哈,linux

俺只搞過(guò)linux,其他的OS有所耳聞,從未親身體驗,不知道投這一飄算不算

求實(shí)時(shí)性的話(huà),上OS并非什么好事情

多任務(wù)還要求實(shí)時(shí)性的系統,應該都不會(huì )是太復雜的系統,有一大堆資源需要管理

裸奔的系統用在強實(shí)時(shí)性的場(chǎng)合,開(kāi)發(fā)成本和升級維護基本可以不計,這些系統根本不會(huì )像消費類(lèi)產(chǎn)品那樣低利潤,所以成本考慮不是大頭

消費類(lèi)的嵌入式,或者說(shuō)實(shí)時(shí)性不太強的嵌入式吧,我想linux應該是趨勢,甚至可能成為一種標準,其他的一些OS可能會(huì )在有特殊要求的場(chǎng)合使用
18
 樓主| 發(fā)表于 2009-6-17 10:32:00 | 只看該作者
本帖最后由 一朝成名 于 2009-6-17 10:33 編輯

  • 開(kāi)此帖的目的就是介紹一些非主流的os以引起大家的重視。集大眾之經(jīng)驗,讓每個(gè)人找到一種穩定、方便開(kāi)發(fā)、可行、易于擴展、移植、維護的os方案。
  • 說(shuō)下這次我們的項目的一些參數,實(shí)時(shí)性、多任務(wù)(幾十個(gè)多任務(wù)執行),ARM7,TCP/ip協(xié)議,文件系統,有可能還要支持一個(gè)小型的webserver和gui。FLASH 2MB,內存2MB,在這種情況下,如果說(shuō)裸奔,難度可想而知。
  • 裸奔、os各有千秋,我們裸奔不排斥os,使用os也沒(méi)有排斥裸奔,每個(gè)不同的方案有每個(gè)不同最佳的解決方法。linux是主流這個(gè)大家是有目共睹,不可否認,我們要學(xué)習和努力的方法,但是我們也要關(guān)注一些其他的非主流os,
  • 作為一種工具,讓他們更好的服務(wù)于我們的項目中。沒(méi)有最好,只有更好……
19
發(fā)表于 2009-6-17 10:53:31 | 只看該作者
不懂,支持討論~
20
發(fā)表于 2009-6-17 15:17:43 | 只看該作者
不管哪個(gè),熟練掌握一種就不會(huì )餓死了,嘿嘿。
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页