嵌入式系統開發要素的選擇分析嵌入式處理器(一)

學識都 人氣:1.55W
嵌入式系統開發要素的選擇分析嵌入式處理器(一)
嵌入式系統開發要素的選擇分析
    摘要:主要討論在嵌入式系統開發中,設計人員如何考慮和選擇嵌入式處理器、嵌入式操作系統、調試器、仿真器以及開發人員的技術水平和結構比例等組成要素;同時,以實例說明如何選擇這些開發要素。
    關鍵詞:嵌入式系統 嵌入式處理器 實時操作系統 仿真器 調試器
引 言
  在計算機、互聯網和通信技術高速發展的同時,嵌入式系統開發技術也取得迅速發展。這不僅表現在從事嵌入式系統開發研究的人員隊伍日益壯大,嵌入式處理器和實時操作系統的性能增強和產品升級換代,更重要的體現在嵌入式技術應用範圍的急劇擴大。
  嵌入式系統擁有巨大的市場空間,我國應該抓住機遇,與時俱進,奮起直追,在嵌入式系統領域趕超世界先進水平。要達到這個目標,具有一定的現實可行性,這是因爲同PC機系統相比,嵌入式系統更有自身的特徵。在PC領域,雖有AMD系列處理器和Linux操作系統的市場衝擊,但是Win_Tel(Windows+Intel)體系架構仍占主導地位;可是,嵌入式系統本身是一個相當分散的工業,典型特徵是面向用戶、面向產品、面向應用的,市場應用纔是嵌入式系統開發的導向和前提,在當前的嵌入式市場中不存在壟斷的局面。
  嵌入式系統包含硬件和軟件兩部分:硬件架構上以嵌入式處理器爲中心,配置存儲器、I/O設備、通信模塊等必要的外設;軟件部分以軟件開發平臺爲核心,向上提供應用編程接口(API),向下屏蔽具體硬件特性的板級支持包BSP。嵌入式系統中,軟件和硬件緊密配合,協調工作,共同完成系統預定的功能。
  對於不同的市場應用類型,嵌入式系統開發中的嵌入式處理器、實時操作系統、仿真器、調試器以及開發隊伍的技術水平和結構比例等要素的選擇是至關重要的。本文參考一些嵌入式系統開發的資料,結合具體的工程實踐經驗,系統總結了進行嵌入式系統開發時,如何全面考慮各開發要素並進行選擇,最後結合一個具體實例進行詳細闡述。
1 嵌入式處理器
  嵌入式系統的功能軟件集成於硬件系統之中,系統的應用軟件與硬件一體化。在嵌入式系統的硬件設備中,嵌入處理器是整個系統的核心部件,其性能的好壞直接決定整個系統的運行效果。
  PC機銷售市場中,隨着通用CPU技術的突破和工作頻率的倍增,舊款低檔CPU早已經不見蹤跡。嵌入式系統開發面向具體應用,不同領域的應用市場需要不同款式和性能指標的處理器來開發,於是在嵌入式處理器市場中,中低端的4位、8位和16位處理器依然存在,高性能的32位處理器也有很多產品。隨着超大規模集成電路技術和微電子技術發展,包含嵌入式處理器以及部分外圍電路的微控制器產品也進入市場,片上系統SoC(System on Chip)產品也開始出現。這些產品的上市,不僅豐富了嵌入式處理器產品,而且也更加方便了工程技術人員進行嵌入式系統的技術開發和擴大嵌入式產品的應用領域。
  由於嵌入式系統應用需求的多樣性,市場上基於RISC結構的嵌入式處理器提供商也日漸增多。統計數字表明,1999年底市場銷售額排在前三位的公司分別是ARM、Motorola和MIPS,其中ARM公司的芯片銷售量達1.5億個,市場份額超過50%。
  面對這樣的嵌入式處理器市場,開發設計人員應該如何選擇呢?這裏有兩個前提條件。
  一是深入研究具體的嵌入式系統應用需求,充分的應用需求分析後獲取應用系統的性能指標。面向應用是嵌入式系統的特色,具體的應用需求決定着嵌入式處理器的性能選型。在工業控制等特殊領域,系統需求分析員不僅需要和工作人員、上級主管親自面談,而且要到工作現場獲取第一手信息,收集充分的資料。應用需求分析後,需要定義產品具備的基本功能和性能指標,如系統處理的數據量大小和處理實時性要求、系統正常運行時的工作環境、系統運行過程中可能遇到的突發事件、系統的尺寸大小和功耗指標等。
  第二個前提條件是,分析研究市場上各大廠商提供的各款嵌入式處理器的性能指標,如功耗、體積、成本、可靠性、速度、處理能力、電磁兼容性等。這些參數也是各個半導體芯片廠商之間競爭的熱點。
  開發人員通過應用需求分析獲取了產品的功能性和非功能性指標,研究了市場上嵌入式處理器的性能參數後,能夠對嵌入式處理器作出較好的選擇。嵌入式處理器選擇的基本原則是滿足具體功能性和非功能性指標需求的、市場應用反應良好的、硬件配置最少的嵌入式處理器。如簡單的智能儀器儀表設計考慮使用4位或者8位低檔單片機8051;和數字信號處理密切相關的選用TI公司的TMX320x系列的DSP(數字信號處理)芯片;如果產品偏重於通信功能,考慮Motorola公司的嵌入式處理器68K系列;如果產品功能比較齊全,可選用嵌入式處理器領域的後起之秀ARM公司的高性能嵌入式處理器ARM芯片系列等。
  除了上述的產品性能需求因素,選擇嵌入式處理器時也需要考慮開發人員對此係列處理器的熟悉程度。因爲不同公司開發的嵌入式處理器差別較大,從一類處理器轉移到另一類處理器的難度比同一系列不同處理器間的轉移難度大得多,風險多得多。2 實時操作系統
  以嵌入式處理器爲中心,開發人員搭建好硬件電路時僅提供了裸機運行平臺,要使整個系統有限的硬件資源充分利用起來,還需要(嵌入式)實時操作系統RTOS(Real Time Operating System)的軟件支持。
  RTOS與一般商用多任務OS(如Unix、Windows以及Linux等)有共同的一面,也有不同的一面。商用多任務OS主要目的是方便用戶管理計算機資源和追求系統資源的最大利用率;而RTOS重點追求的是實時性、可確定性、可靠性,當然也包括有限資源的管理。一般RTOS內核都很小,在幾KB~十幾KB之間。流行的RTOS基本上都支持基於優先級的搶佔式調度策略和時間片輪轉,具有微內核結構,有標準組件可供選用,支持虛擬存儲技術和存儲保護機制。
  由於具體嵌入式應用的功能需求差異以及不同RTOS間不同的性能指標,RTOS的選擇有三種方案:一是根據應用需要和公司技術實力,考慮自主開發研究(國內手機廠商寧波波導公司部分款式的手機操作系統就是自主開發的);二是充分考慮系統需求和流行RTOS的性能指標及性價比選擇商用RTOS,如WinCE、VxWorks等;三是考慮嵌入式Linux(RT_Linux),RT_Linux是開放源代碼的免費自由軟件,互聯網技術論壇較多,具備較好的裁減性以支持不同的應用範疇。
  當前全球範圍內商用RTOS多達200多種,應用領域的多樣性使得市場反應較好的也將近有十幾種,如VxWorks、pSOS、Nucleus、QNX、WinCE以及中科院軟件研究中心研製的Hopen等。這些不同名稱的RTOS,核心軟件差異微妙而且難以琢磨,選擇時重點是考慮它們的性能評價指標,主要包括調度算法、RTOS本身內存開銷、RTOS內存管理模式、最大中斷禁止時間和最大任務切換時間。當然,也包括RTOS的購買成本和提供的技術支持等相關因素。針對實時性要求較高的應用,需要重點考慮RTOS的最大中斷禁止時間和最大任務切換時間。這兩個參數越小越好。減小這兩個參數值,除了選用較高工作主頻的嵌入式處理器外,還和RTOS本身任務調度和中斷處理機制密切相關。
  選擇RTOS時,通常還要考慮系統功能方面支持何