嵌入式系統開發要素的選擇分析

2023-01-25 18:18:04 字數 4573 閱讀 7154

摘要:主要討論在嵌入式系統開發中,設計人員如何考慮和選擇嵌入式處理器、嵌入式作業系統、偵錯程式、**器以及開發人員的技術水平和結構比例等組成要素;同時,以例項說明如何選擇這些開發要素。

關鍵詞:嵌入式系統嵌入式處理器實時作業系統**器偵錯程式

引言  在計算機、網際網路和通訊技術高速發展的同時,嵌入式系統開發技術也取得迅速發展。這不僅表現在從事嵌入式系統開發研究的人員隊伍日益壯大,嵌入式處理器和實時作業系統的效能增強和產品公升級換代,更重要的體現在嵌入式技術應用範圍的急劇擴大。

嵌入式系統擁有巨大的市場空間,我國應該抓住機遇,與時俱進,奮起直追,在嵌入式系統領域趕超世界先進水平。要達到這個目標,具有一定的現實可行性,這是因為同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結構的嵌入式處理器提供商也日漸增多。統計數字表明,2023年底市場銷售額排在前三位的公司分別是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時,通常還要考慮系統功能方面支援何種處理器硬體平台,何種api,是否支援核心態使用者態、是否支援記憶體管理單元mmu、可移植性、除錯支援、標準支援等。如果開發網路應用,還需要考慮該rtos是否支援tcp/ip的網路元件和i/o服務等。如果開發遊戲和娛樂市場,要著重研究該rtos對多**的支援能力。

市場應用需求的多樣性,使得rtos本身應該支援使用者自定製能力,根據應用需要在微核心的基礎上選用標準元件。

3 **器和偵錯程式

除錯是嵌入式系統開發過程的重要環節。嵌入式系統開發除錯和一般pc系統開發除錯有較大差別。在一般pc機系統開發中,偵錯程式和被除錯程式是執行在相同的硬體和軟體平台上的兩個程序,偵錯程式程序通過作業系統專門提供的除錯介面控制和訪問被除錯程序。

而在嵌入式系統中,偵錯程式是執行在桌面作業系統上的應用程式,被除錯程式是執行在基於特定硬體平台的作業系統,兩個程式間需要實時通訊。

嵌入式系統除錯時,主機上執行的整合開發除錯工具(偵錯程式)通過**器和目標機相連。**器處理宿主機和目標機之間所有的通訊,這個通訊口可以是串列埠、並行口或者高速乙太網介面。**器通過jtag口和目標機相連。

三者間的關係如圖1所示。

嵌入式系統開發除錯方法有快速原型**法和實時**除錯法。快速原型**法用於硬體裝置尚未完成時,直接在宿主機上對應用程式執行進行**分析。在此過程中系統不直接和硬體打交道,由開發除錯軟體內部某一特定軟體模組模擬硬體cpu系統執行過程,並可同時將**異常反饋給開發者進行錯誤定位和修改。

實時**除錯法在具體的目標機平台上除錯應用程式,系統在除錯狀態下的執**況和實際執行模式完全一樣,這種方式更有利於開發者實時對系統硬體和軟體故障進行定位和修改,提高產品開發速度。

選用的偵錯程式是執行在主機上的整合開發環境,一般需要集編輯、彙編、編譯、鏈結和除錯環境於一體,支援低階組合語言、c和c++語言,基於友好的圖形使用者介面(gui),支援使用者觀察或修改嵌入式處理器的暫存器和儲存器配置、資料變數的型別和數值,堆疊和暫存器的使用,支援程式斷點設定,單步、斷點或者全速執行等特性。

應用需求的多樣性導致市場上**器和偵錯程式的提供商也較多,windriver公司的tornado是乙個很好的開發除錯工具。根據實踐經驗,一般配套選擇規模較大、信譽較好公司的**器和偵錯程式,雖然**偏高,但是這些公司技術實力強,售後服務好,偵錯程式和**器開發結合緊密。如果在開發除錯過程遇到技術障礙,可以通過**或者電子郵件方式及時獲取技術支援。

如選用arm系列的嵌入式處理器時,可以購買multi-ice**器,並附加arm250整合開發除錯環境等。

4 開發隊伍的技術水平和結構比例

嵌入式系統開發中選擇好了嵌入式處理器、rtos、**器和偵錯程式等裝置外,還需要考慮開發隊伍的技術水平和結構比例。經驗豐富的開發小組都深有體會:民用產品開發中,產品能夠在預計的時間內進入市場贏得效益,其整個技術範圍內新技術比例至多只能達到20%,超過這個界限,估算的時間期限可能會出現較大偏差。

從高層規劃人員的角度分析:20%以內的新技術,公司可以集中力量,投入足夠多的人力、物力和財力進行突破性研究,正常情況下可以達到滿意效果。如果新技術超出20%這個範圍,恐怕心有餘而力不足。

嵌入式系統開發》實踐課程試卷 A卷

武漢商業服務學院2011 2012學年第一學期期末考試 班級姓名學號 一 在vs2005平台下定製乙個windows ce系統,並具有以下功能 20分 支援xscale270核心,usb主裝置支援,sd memory支援,音 支援,瀏覽器支援,藍芽裝置支援。生成 和 的系統映象檔案。二 在vs200...

嵌入式系統硬體開發流程

開始於專案需求分析,結束於總體技術方案確定。主要進行硬體設計需求分解,包括硬體功能需求 效能指標 可靠性指標 可製造性需求 可服務性需求及可測試性等需求 對硬體需求進行量化,並對其可行性 合理性 可靠性等進行評估,硬體設計需求是硬體工程師總體技術方案設計的基礎和依據。輸入為總體技術方案,直到完成硬體...

嵌入式系統硬體開發流程

開始於專案需求分析,結束於總體技術方案確定。主要進行硬體設計需求分解,包括硬體功能需求 效能指標 可靠性指標 可製造性需求 可服務性需求及可測試性等需求 對硬體需求進行量化,並對其可行性 合理性 可靠性等進行評估,硬體設計需求是硬體工程師總體技術方案設計的基礎和依據。輸入為總體技術方案,直到完成硬體...