如何選擇ARM CPU的操作系統_第1頁
如何選擇ARM CPU的操作系統_第2頁
如何選擇ARM CPU的操作系統_第3頁
如何選擇ARM CPU的操作系統_第4頁
如何選擇ARM CPU的操作系統_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、.:.;如何選擇ARM CPU的操作系統從8位/16位單片機開展到以 HYPERLINK eepw/news/listbylabel/label/ARM ARM HYPERLINK eepw/news/listbylabel/label/CPU CPU核為代表的32位嵌入式處置器,嵌入式 HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統將替代傳統的由手工編制的監控程序或調度程序,成為重要的根底組件。更重要的是嵌入式 HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統對運用程序可以起到屏蔽的作用,使運用程序

2、員面向 HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統級開發運用軟件,并易于在不同的 HYPERLINK eepw/news/listbylabel/label/ARM ARM核的嵌入式處置器上移植。嵌入式 HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統都具有一定的實時性,易于裁剪和伸縮,可以適宜于從 HYPERLINK eepw/news/listbylabel/label/ARM ARM7到Xscale各種 HYPERLINK eepw/news/listbylabel/label/ARM AR

3、M HYPERLINK eepw/news/listbylabel/label/CPU CPU和各種檔次的運用,嵌入式 HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統可以運用廣泛流行的 HYPERLINK eepw/news/listbylabel/label/ARM ARM開發工具,如 HYPERLINK eepw/news/listbylabel/label/ARM ARM公司的SDT/ADS和RealView等,也可以運用開發軟件,如GCC/GDB、KDE或Eclipe開發環境,市場上還有公用的開發工具,如Tornado、mC/View、m

4、C/KA、CODE/Lab、Metroworks等。 本文就目前國內在 HYPERLINK eepw/news/listbylabel/label/ARM ARM HYPERLINK eepw/news/listbylabel/label/CPU CPU上廣泛采用的三種嵌入式 HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統(uCOS-II、uCLinux和嵌入式Linux)作分析。 uCOS-II嵌入式實時內核 全世界數百種設備曾經在運用uCOS-II,包括手機、路由器、不延續電源、飛行器、醫療設備和工業控制設備。uCOS-II曾經有 HYPER

5、LINK eepw/news/listbylabel/label/ARM ARM7TDMI、 HYPERLINK eepw/news/listbylabel/label/ARM ARM9和Strong HYPERLINK eepw/news/listbylabel/label/ARM ARM等各種 HYPERLINK eepw/news/listbylabel/label/ARM ARM HYPERLINK eepw/news/listbylabel/label/CPU CPU的移植,支持包含Atmel、Hynix、Intel、Motorola、Philips、Samsung、Sharp等公司

6、的 HYPERLINK eepw/news/listbylabel/label/ARM ARM核的 HYPERLINK eepw/news/listbylabel/label/CPU CPU。uCOS-II的移植也相當容易,與 HYPERLINK eepw/news/listbylabel/label/CPU CPU相關的代碼包裝在三個文件中,它們是os_cpu.h、os_cpu_a.asm和os_cpu_c.c。 uCOS-II有60多個系統調用,覆蓋義務、定時器、信號量、事件標志、郵箱、隊列和內存管理,曾經包含了傳統嵌入式 HYPERLINK eepw/news/listbylabel/l

7、abel/操作系統 操作系統內核(如PSOS,VRTX)的功能,還支持互斥型信號量,這是90年代的嵌入式 HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統內核,如VxWorks和VRTXsa才有的技術。 uCOS-II由于是可搶占的實時內核,所以uCOS-II與商業嵌入式實時內核在性能上沒有什么差別,uCOS-II沒有用戶態和內核態,義務(線程)或中斷和義務切換的呼應可以很快,主要是和 HYPERLINK eepw/news/listbylabel/label/ARM ARM HYPERLINK eepw/news/listbylabel/labe

8、l/CPU CPU相關的。最新的2.7x版本還添加了算法以防止在移植中修正堆棧指針,這樣可以保證uCOS-II在不同的 HYPERLINK eepw/news/listbylabel/label/CPU CPU上運轉更穩定,移植更方便。uCOS-II目前除了內核外還有商業化文件系統mC/FS,圖形系統uC/GUI以及義務調試工具uC/KA和uC/View,但是uC/OS-II本人目前還沒有TCP/IP協議系統。 總的來說,uCOS-II是一個非常容易學習,構造簡單,功能完備和實時性很強的嵌入式 HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統內核,

9、適宜于各種嵌入式運用以及大專院校教學和科研。最后需求闡明,uCOS-II不是免費軟件,任何人學習運用uCOS-II需求購買一書,運用uCOS-II的產品需求購買產品消費授權,購買了此授權的還可以得到開發期間的技術支持和晉級效力。 分頁uCLinux HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統 uCLinux是Linux小型化后,適宜于沒有MMU(內存管理單元)的微處置器芯片而裁剪成的 HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統,假設 HYPERLINK eepw/news/listbylab

10、el/label/ARM ARM HYPERLINK eepw/news/listbylabel/label/CPU CPU系列中的 HYPERLINK eepw/news/listbylabel/label/ARM ARM7TDMI、 HYPERLINK eepw/news/listbylabel/label/ARM ARM940T等產品希望運用Linux HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統,只能用uCLinux,當然,uCLinux也支持MotorolaDragonball、Coldfire等其它中低端嵌入式處置器。 uCLinu

11、x堅持了傳統Linux HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統的主要特性,包括穩定、強大的網絡和文件系統的支持,uCLinux裁剪了大量的Linux內核以減少尺寸,適宜象512k/bRAM、1M/bFlash這樣小容量、低本錢的嵌入式系統。uCLinux系統小型化的另一簡化是采用了uCLib庫替代Linux的Glib庫,運用uCLib可以大大減少運用程序的代碼尺寸,對于中小型嵌入式運用,uCLib功能可以滿足需求,所以目前即使是某些采用Linux2.4內核的嵌入式Linux系統也采用uCLib庫的做法。uCLinux中,由于沒有內存維護機

12、制,運用代碼普通采用靜態銜接的方式,而且在uCLinux中采用Flat文件執行格式(Linux是Coff或Elf格式),uCLinux和運用代碼都可以支持固化,存儲在Flash存儲介質中,不需象Linux需求經過一次Flash到RAM的拷貝。一切這些,使得uCLinux更象傳統意義上的嵌入式 HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統。 uCLinux是由Linux2.0.38內核開場移植的,目前曾經有2.4Linux支持的一些移植的版本,如S3C2500、44B0等 HYPERLINK eepw/news/listbylabel/label

13、/ARM ARM芯片,可以在uCLinux的官方網站上找到這些版本,uCLinux近期主要是在開展各種2.4.x版本的移植,以期跟上Linux社會主流的開展趨勢(由于今后Linux2.6將開場成為主流的內核)。uCLinux主要是針對沒有MMU的嵌入式處置器開發設計,那么它也失去了有MMU所帶來的Linux HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統的特征,比如,上面曾經提到的靜態加載(Linux支持動態運用的加載),uCLinux對內存操作是直接的物理內存,這樣,任何程序的異常都能夠導致內核解體,uCLinux支持多線程,但需求父子線程協調

14、同步,uCLinux的文件系統相對比較陳舊,支持的 HYPERLINK eepw/news/listbylabel/label/CPU CPU和參考設計還比較少,社區的開展和維護也相對緩慢。目前uCLinux官方網站還很少看見象IBM、Intel這樣的大型公司身影,只需23家小型的硬件或方案提供商,這對于商業化的產品開發中采用是有一定的風險。 嵌入式Linux HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統 這里要討論的是可以嵌入在 HYPERLINK eepw/news/listbylabel/label/ARM ARM HYPERLINK e

15、epw/news/listbylabel/label/CPU CPU上的,具有MMU功能的Linux HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統,也可以稱是嵌入式Linux HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統。與微軟公司的軟件不一樣,Linux不是由一家公司所擁有、維護開發的,Linux在市場有多種發行版本,一切發行版本都包含一樣的Linux內核、根本工具和運用,不同的發行版本主要是在附加的工具鏈、運用、配置以及各種內核補丁上有所不同。嵌入式Linux主要是在實時性加強、內核精簡和裁

16、減、支持多種 HYPERLINK eepw/news/listbylabel/label/CPU CPU構造(如 HYPERLINK eepw/news/listbylabel/label/ARM ARM HYPERLINK eepw/news/listbylabel/label/CPU CPU)等方面做了改良和提高。分頁運用嵌入式Linux系統有兩種途徑: 第一是用戶本人裝配(稱為DIY內核),他可以在找到全部Linux代碼,或直接到 HYPERLINK eepw/news/listbylabel/label/ARM ARM HYPERLINK eepw/news/listbylabel/l

17、abel/CPU CPU的源代碼樹下.uk找到所需求的Linux版本的移植,或者某些半導體公司,如三星、Motorola在本人的網站或在本人的 HYPERLINK eepw/news/listbylabel/label/ARM ARM評價板含有一個最小Linux內核系統。假設這個最小內核沒有包含GCC/GDB工具鏈,能夠還要到GNU的網站下載全部的源代碼,然后再編譯生成所需求版本的 HYPERLINK eepw/news/listbylabel/label/ARM ARM工具鏈和運用程序庫,這個過程是相當耗時和困難的。還需求指出,這種DIY內核的配置,添加運用和驅動程序也是不規范的和復雜的,這

18、是嵌入式系統的特殊性所在。 第二是選擇一個商業化的嵌入式Linux HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統平臺。商業化的嵌入式Linux版本是針對嵌入式處置器,如 HYPERLINK eepw/news/listbylabel/label/ARM ARM所優化設計的,支持各種半導體廠家的評價板和主要的設備驅動,商業化的嵌入式Linux包含了文件系統、運用、實時性擴展和技術支持培訓效力,現今國外著名的商業化嵌入式Linux產品有:MontaVistaLinux、BluecatLinux、TimesysLinux、MetroworkLinux

19、、Vlinux和RedhatLinux等,國內也有紅旗、中軟、新華嵌入式Linux。 MontaVistaLinux是MontaVista軟件公司于1999年推出的,它是目前全球優秀的嵌入式Linux HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統和工具供應商,MontaVista在嵌入式Linux的實時=叉開發工具、高可用性、動態電源管理等Linux技術要點方面具有領先位置。MontaVistaLinux最版本是3.1,采用Linux2.4.20,針對8種 HYPERLINK eepw/news/listbylabel/label/CPU CP

20、U系列(包含 HYPERLINK eepw/news/listbylabel/label/ARM ARM和Xscale)優化定制的商業化版本。 選擇象MontaVistaLinux這樣商業化嵌入式Linux,可以讓用戶把時間和資金放在運用軟件和特定的硬件接口和設備驅動程序,運用商業化嵌入式Linux可以得到一定時間(普通是1年)的技術支持,晉級和培訓(這很重要,由于Linux是每天都在變化的)。商業化嵌入式Linux目前除國內的產品外,價錢還是很昂貴的,根據配置和效力時間,大約從幾千到幾萬美圓,多數國內用戶從資金和心思上還很難接受,商業化嵌入式Linux開發工具相對于Microsoft和象To

21、rnado/VxWork的開發工具,在易于運用和豐富性方面還待于提高和改良。 同樣作為Linux HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統,筆者引薦運用帶有MMU的嵌入式Linux,而不是mCLinux,由于絕大多數新的 HYPERLINK eepw/news/listbylabel/label/ARM ARM HYPERLINK eepw/news/listbylabel/label/CPU CPU都是AMR9核,它們都帶有MMU了,無論是開放源碼的Linux社區還是商業化的嵌入式Linux公司的支持和維護都比mCLinux要好要快和豐富

22、得多。分頁結語 前面我們對三種在 HYPERLINK eepw/news/listbylabel/label/ARM ARM HYPERLINK eepw/news/listbylabel/label/CPU CPU上較為流行的嵌入式 HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統作了詳細的分析,在進入一個總結之前,筆者還想提到幾個在國際上很有名氣的嵌入式 HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統,它們是WindRiver公司的VxWorks、ATI的Nucleus、iTron和WinCE,但

23、它們在 HYPERLINK eepw/news/listbylabel/label/ARM ARM HYPERLINK eepw/news/listbylabel/label/CPU CPU的運用不多見,引見從略。最后歸納一下選擇一個適宜的 HYPERLINK eepw/news/listbylabel/label/ARM ARM HYPERLINK eepw/news/listbylabel/label/CPU CPU的嵌入式 HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統的幾個重要要素: 第一是運用。假設他想開發的嵌入式設備是一個和網絡運用親

24、密相關或者就是一個網絡設備,那么他應該選擇用嵌入式Linux或者uCLinux,而不是uC/OS-II。 第二是處置器。它可以適宜于9095%的各種嵌入式系統運用。當然,他假設希望更快的實時呼應,如高速的A/D轉換需求幾個微秒以內的中斷延時,能夠采用uC/OS-II是適宜的。當然,他采用象Vxworks這樣傳統的嵌入式 HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統也可以滿足這樣的強實時性要求。 第三是開發工具。顯然,目前uC/OS-II、uCLinux和嵌入式Linux的開發工具與商業嵌入式 HYPERLINK eepw/news/listby

25、label/label/操作系統 操作系統工具還有一些差距,目前在 HYPERLINK eepw/news/listbylabel/label/ARM ARM HYPERLINK eepw/news/listbylabel/label/CPU CPU上廣泛流行和運用的是 HYPERLINK eepw/news/listbylabel/label/ARM ARM公司SDT/ADS工具鏈,產品無論在功能、穩定性和眾多的第三方廠商支持方面都很好,獨一缺乏的是短少對嵌入式Linux HYPERLINK eepw/news/listbylabel/label/操作系統 操作系統的支持,SDT/ADS的晉級產品RealView方案支持GCC和嵌入式Linux,但目前還沒有看到,uC/OS-II可以運用 HYPERLINK eepw/news/

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論