當前位置:才華齋>計算機>作業系統>

嵌入式作業系統的區別

作業系統 閱讀(3.15W)

嵌入式作業系統是一種支援嵌入式系統應用的作業系統軟體,它是嵌入式系統的重要組成部分。嵌入時作業系統具有通用作業系統的基本特點,能夠有效管理複雜的系統資源,並且把硬體虛擬化。一起來看看嵌入式作業系統的區別有哪些!

嵌入式作業系統的區別

  從應用角度可分為通用型嵌入式作業系統和專用型嵌入式作業系統:

常見的通用型嵌入式作業系統有Linux、VxWorks、Windows 等。常用的專用型嵌入式作業系統有Smart Phone、Pocket PC、Symbian等。

  按實時性可分為兩類:

實時嵌入式作業系統主要面向控制、通訊等領域。如WindRiver公司的VxWorks、ISI的pSOS、QNX系統軟體公司的'QNX、ATI的Nucleus,很多汽車電子行業都是利用實時性很強的作業系統等。

非實時嵌入式作業系統主要面向消費類電子產品。這類產品包括PDA、行動電話、機頂盒、電子書、WebPhone等。如微軟面向手機應用的Smart Phone作業系統。

嵌入式系統的設計和實現而言,基本上需要四種不同的工作:系統設計工作,硬體設計工作,驅動程式和作業系統移植工作和應用程式設計開發工作。

  1、系統設計工作

在系統的設計階段,系統分析師將根據需求確定系統的硬體的基本構成,根據系統的需求選擇使用那種處理器,使用哪種作業系統,使用那些軟體開發工具。系統分析師往往是較為完整的參與過嵌入式系統設計的全過程,對於系統應用的行業較為了解,對於嵌入式系統本身的開發流程十分清楚的人。

  2、硬體設計工作

系統硬體設計人員需要根據系統分析師的設計結果,進行硬體原理圖的設計。通常需要硬體設計人員熟悉嵌入式系統的硬體構成。硬體設計人員需要了解常用的嵌入式系統處理器,儲存器(Flash,SDRAM),乙太網MAC晶片,音訊/視訊編解碼晶片,電源管理晶片,匯流排介面電路 (USB,PCI),液晶顯示模組,可程式設計邏輯器件(FPGA/CPLD),無線網路通訊模組(Bluetooth,WLAN,GPRS)等硬體電路構成元素的基本工作原理,連線使用方法,使用注意事項,基本除錯方法等內容。在網路上能找到很多公司的評估板的原理圖,對於這些原理圖要仔細研究,摸清處理器同儲存器,網絡卡,液晶模組等器件的連線方法和原因。通過對這些電路的研究,能夠較快地瞭解整個嵌入式系統的構成,這些電路同實際產品中的電路雖有一定差別的,特別是對於手持裝置,但這些差別不影響初學者學習嵌入式系統的硬體設計基本構成。

1)學習 Linux系統安裝、 常用命令、應用程式安裝。

2) 學習 Linux 下的 C 程式設計、這本書必學《UNIX 環境高階程式設計》、《UNIX 網路程式設計》,Rechard Stevens 寫的,C 高手大都學習過 《C 和指標》、《C 缺陷與陷阱》、《高質量C/C++程式設計指南》、《C 專家程式設計》、《The C programming Language》

3)程式設計師大都要學:資料結構,嵌入式程式設計師資料結構必學!

4)底層開發人員大都要學:微機原理、計算機體系結構,嵌入式開發人員必學!

5)微控制器可以讓一個從事軟體開發的人瞭解和如何操作硬體,有必要學,因為一開始就從 ARM 入手,不太現實!

6)ARM 體系結構,其中有彙編。

7)數位電路有必要學習,不然你在做底層開發時真的會不知道怎麼看原理圖,起碼也得懂與或門吧。

8)ARM + Linux 應用程式開發。(前提是要有開發板)

9)要做底層開發,就必須知道軟硬體之間是如何銜接和配合工作的,那麼電子技術應該要好好學習了,很多時候會用到類比電路知識,這是區別好手與菜鳥的不同之處之一。

10)Linux 下的彙編要學,這樣你才能真正瞭解你寫的程式是如何在一個特定的硬體上跑的。這是區別好手與菜鳥的不同之處之二。

11)TCP/IP 協議棧要學,所有的嵌入式高手都得掌握的東西,這是區別好手與菜鳥的不同之處之三。

12)有了這些東西,拿下 Linux 驅動 已經不再話下,需要你去學習 Linux 核心原始碼和Linux驅動程式設計,這是一個技術昇華。

13)音訊、視訊的解碼譯碼技術你得學。

14)各種 IC ,各種 bootloader 你能夠參與其開發設計。

15)自行設計開發新產品,新技術。