嵌入式系統(tǒng)開發(fā)要素的選擇分析
2003/11/24 0:00:00
引 言 在計算機、互聯(lián)網和通信技術高速發(fā)展的同時,嵌入式系統(tǒng)開發(fā)技術也取得迅速發(fā)展。這不僅表現(xiàn)在從事嵌入式系統(tǒng)開發(fā)研究的人員隊伍日益壯大,嵌入式處理器和實時操作系統(tǒng)的性能增強和產品升級換代,更重要的體現(xiàn)在嵌入式技術應用范圍的急劇擴大。 嵌入式系統(tǒng)擁有巨大的市場空間,我國應該抓住機遇,與時俱進,奮起直追,在嵌入式系統(tǒng)領域趕超世界先進水平。要達到這個目標,具有一定的現(xiàn)實可行性,這是因為同PC機系統(tǒng)相比,嵌入式系統(tǒng)更有自身的特征。在PC領域,雖有AMD系列處理器和Linux操作系統(tǒng)的市場沖擊,但是Win_Tel(Windows+Intel)體系架構仍占主導地位;可是,嵌入式系統(tǒng)本身是一個相當分散的工業(yè),典型特征是面向用戶、面向產品、面向應用的,市場應用才是嵌入式系統(tǒng)開發(fā)的導向和前提,在當前的嵌入式市場中不存在壟斷的局面。 嵌入式系統(tǒng)包含硬件和軟件兩部分:硬件架構上以嵌入式處理器為中心,配置存儲器、I/O設備、通信模塊等必要的外設;軟件部分以軟件開發(fā)平臺為核心,向上提供應用編程接口(API),向下屏蔽具體硬件特性的板級支持包BSP。嵌入式系統(tǒng)中,軟件和硬件緊密配合,協(xié)調工作,共同完成系統(tǒng)預定的功能。 對于不同的市場應用類型,嵌入式系統(tǒng)開發(fā)中的嵌入式處理器、實時操作系統(tǒng)、仿真器、調試器以及開發(fā)隊伍的技術水平和結構比例等要素的選擇是至關重要的。本文參考一些嵌入式系統(tǒng)開發(fā)的資料,結合具體的工程實踐經驗,系統(tǒng)總結了進行嵌入式系統(tǒng)開發(fā)時,如何全面考慮各開發(fā)要素并進行選擇,最后結合一個具體實例進行詳細闡述。 1 嵌入式處理器 嵌入式系統(tǒng)的功能軟件集成于硬件系統(tǒng)之中,系統(tǒng)的應用軟件與硬件一體化。在嵌入式系統(tǒng)的硬件設備中,嵌入處理器是整個系統(tǒng)的核心部件,其性能的好壞直接決定整個系統(tǒng)的運行效果。 PC機銷售市場中,隨著通用CPU技術的突破和工作頻率的倍增,舊款低檔CPU早已經不見蹤跡。嵌入式系統(tǒng)開發(fā)面向具體應用,不同領域的應用市場需要不同款式和性能指標的處理器來開發(fā),于是在嵌入式處理器市場中,中低端的4位、8位和16位處理器依然存在,高性能的32位處理器也有很多產品。隨著超大規(guī)模集成電路技術和微電子技術發(fā)展,包含嵌入式處理器以及部分外圍電路的微控制器產品也進入市場,片上系統(tǒng)SoC(System on Chip)產品也開始出現(xiàn)。這些產品的上市,不僅豐富了嵌入式處理器產品,而且也更加方便了工程技術人員進行嵌入式系統(tǒng)的技術開發(fā)和擴大嵌入式產品的應用領域。 由于嵌入式系統(tǒng)應用需求的多樣性,市場上基于RISC結構的嵌入式處理器提供商也日漸增多。統(tǒng)計數(shù)字表明,1999年底市場銷售額排在前三位的公司分別是ARM、Motorola和MIPS,其中ARM公司的芯片銷售量達1.5億個,市場份額超過50%。 面對這樣的嵌入式處理器市場,開發(fā)設計人員應該如何選擇呢?這里有兩個前提條件。 一是深入研究具體的嵌入式系統(tǒng)應用需求,充分的應用需求分析后獲取應用系統(tǒng)的性能指標。面向應用是嵌入式系統(tǒng)的特色,具體的應用需求決定著嵌入式處理器的性能選型。在工業(yè)控制等特殊領域,系統(tǒng)需求分析員不僅需要和工作人員、上級主管親自面談,而且要到工作現(xiàn)場獲取第一手信息,收集充分的資料。應用需求分析后,需要定義產品具備的基本功能和性能指標,如系統(tǒng)處理的數(shù)據量大小和處理實時性要求、系統(tǒng)正常運行時的工作環(huán)境、系統(tǒng)運行過程中可能遇到的突發(fā)事件、系統(tǒng)的尺寸大小和功耗指標等。 第二個前提條件是,分析研究市場上各大廠商提供的各款嵌入式處理器的性能指標,如功耗、體積、成本、可靠性、速度、處理能力、電磁兼容性等。這些參數(shù)也是各個半導體芯片廠商之間競爭的熱點。 開發(fā)人員通過應用需求分析獲取了產品的功能性和非功能性指標,研究了市場上嵌入式處理器的性能參數(shù)后,能夠對嵌入式處理器作出較好的選擇。嵌入式處理器選擇的基本原則是滿足具體功能性和非功能性指標需求的、市場應用反應良好的、硬件配置最少的嵌入式處理器。如簡單的智能儀器儀表設計考慮使用4位或者8位低檔單片機8051;和數(shù)字信號處理密切相關的選用TI公司的TMX320x系列的DSP(數(shù)字信號處理)芯片;如果產品偏重于通信功能,考慮Motorola公司的嵌入式處理器68K系列;如果產品功能比較齊全,可選用嵌入式處理器領域的后起之秀ARM公司的高性能嵌入式處理器ARM芯片系列等。 除了上述的產品性能需求因素,選擇嵌入式處理器時也需要考慮開發(fā)人員對此系列處理器的熟悉程度。因為不同公司開發(fā)的嵌入式處理器差別較大,從一類處理器轉移到另一類處理器的難度比同一系列不同處理器間的轉移難度大得多,風險多得多。 2 實時操作系統(tǒng) 以嵌入式處理器為中心,開發(fā)人員搭建好硬件電路時僅提供了裸機運行平臺,要使整個系統(tǒng)有限的硬件資源充分利用起來,還需要(嵌入式)實時操作系統(tǒng)RTOS(Real Time Operating System)的軟件支持。 RTOS與一般商用多任務OS(如Unix、Windows以及Linux等)有共同的一面,也有不同的一面。商用多任務OS主要目的是方便用戶管理計算機資源和追求系統(tǒng)資源的最大利用率;而RTOS重點追求的是實時性、可確定性、可靠性,當然也包括有限資源的管理。一般RTOS內核都很小,在幾KB~十幾KB之間。流行的RTOS基本上都支持基于優(yōu)先級的搶占式調度策略和時間片輪轉,具有微內核結構,有標準組件可供選用,支持虛擬存儲技術和存儲保護機制。 由于具體嵌入式應用的功能需求差異以及不同RTOS間不同的性能指標,RTOS的選擇有三種方案:一是根據應用需要和公司技術實力,考慮自主開發(fā)研究(國內手機廠商寧波波導公司部分款式的手機操作系統(tǒng)就是自主開發(fā)的);二是充分考慮系統(tǒng)需求和流行RTOS的性能指標及性價比選擇商用RTOS,如WinCE、VxWorks等;三是考慮嵌入式Linux(RT_Linux),RT_Linux是開放源代碼的免費自由軟件,互聯(lián)網技術論壇較多,具備較好的裁減性以支持不同的應用范疇。 當前全球范圍內商用RTOS多達200多種,應用領域的多樣性使得市場反應較好的也將近有十幾種,如VxWorks、pSOS、Nucleus、QNX、WinCE以及中科院軟件研究中心研制的Hopen等。這些不同名稱的RTOS,核心軟件差異微妙而且難以琢磨,選擇時重點是考慮它們的性能評價指標,主要包括調度算法、RTOS本身內存開銷、RTOS內存管理模式、最大中斷禁止時間和最大任務切換時間。當然,也包括RTOS的購買成本和提供的技術支持等相關因素。針對實時性要求較高的應用,需要重點考慮RTOS的最大中斷禁止時間和最大任務切換時間。這兩個參數(shù)越小越好。減小這兩個參數(shù)值,除了選用較高工作主頻的嵌入式處理器外,還和RTOS本身任務調度和中斷處理機制密切相關。 選擇RTOS時,通常還要考慮系統(tǒng)功能方面支持何種處理器硬件平臺,何種API,是否支持核心態(tài)用戶態(tài)、是否支持內存管理單元MMU、可移植性、調試支持、標準支持等。如果開發(fā)網絡應用,還需要考慮該RTOS是否支持TCP/IP的網絡組件和I/O服務等。如果開發(fā)游戲和娛樂市場,要著重研究該RTOS對多媒體的支持能力。市場應用需求的多樣性,使得RTOS本身應該支持用戶自定制能力,根據應用需要在微內核的基礎上選用標準組件。 3 仿真器和調試器 調試是嵌入式系統(tǒng)開發(fā)過程的重要環(huán)節(jié)。嵌入式系統(tǒng)開發(fā)調試和一般PC系統(tǒng)開發(fā)調試有較大差別。在一般PC機系統(tǒng)開發(fā)中,調試器和被調試程序是運行在相同的硬件和軟件平臺上的兩個進程,調試器進程通過操作系統(tǒng)專門提供的調試接口控制和訪問被調試進程。而在嵌入式系統(tǒng)中,調試器是運行在桌面操作系統(tǒng)上的應用程序,被調試程序是運行在基于特定硬件平臺的操作系統(tǒng),兩個程序間需要實時通信。 嵌入式系統(tǒng)調試時,主機上運行的集成開發(fā)調試工具(調試器)通過仿真器和目標機相連。仿真器處理宿主機和目標機之間所有的通信,這個通信口可以是串口、并行口或者高速以太網接口。仿真器通過JTAG口和目標機相連。三者間的關系如圖1所示。 嵌入式系統(tǒng)開發(fā)調試方法有快速原型仿真法和實時在線調試法??焖僭头抡娣ㄓ糜谟布O備尚未完成時,直接在宿主機上對應用程序運行進行仿真分析。在此過程中系統(tǒng)不直接和硬件打交道,由開發(fā)調試軟件內部某一特定軟件模塊模擬硬件CPU系統(tǒng)執(zhí)行過程,并可同時將仿真異常反饋給開發(fā)者進行錯誤定位和修改。實時在線調試法在具體的目標機平臺上調試應用程序,系統(tǒng)在調試狀態(tài)下的執(zhí)行情況和實際運行模式完全一樣,這種方式更有利于開發(fā)者實時對系統(tǒng)硬件和軟件故障進行定位和修改,提高產品開發(fā)速度。 選用的調試器是運行在主機上的集成開發(fā)環(huán)境,一般需要集編輯、匯編、編譯、鏈接和調試環(huán)境于一體,支持低級匯編語言、C和C++語言,基于友好的圖形用戶界面(GUI),支持用戶觀察或修改嵌入式處理器的寄存器和存儲器配置、數(shù)據變量的類型和數(shù)值,堆棧和寄存器的使用,支持程序斷點設置,單步、斷點或者全速運行等特性。 應用需求的多樣性導致市場上仿真器和調試器的提供商也較多,Windriver公司的Tornado是一個很好的開發(fā)調試工具。根據實踐經驗,一般配套選擇規(guī)模較大、信譽較好公司的仿真器和調試器,雖然價格偏高,但是這些公司技術實力強,售后服務好,調試器和仿真器開發(fā)結合緊密。如果在開發(fā)調試過程遇到技術障礙,可以通過電話或者電子郵件方式及時獲取技術支持。如選用ARM系列的嵌入式處理器時,可以購買Multi-ICE仿真器,并附加ARM250集成開發(fā)調試環(huán)境等。 4 開發(fā)隊伍的技術水平和結構比例 嵌入式系統(tǒng)開發(fā)中選擇好了嵌入式處理器、RTOS、仿真器和調試器等設備外,還需要考慮開發(fā)隊伍的技術水平和結
提交
查看更多評論
其他資訊
智光節(jié)能內蒙古阿拉善左旗瀛海建材余熱發(fā)電機組首次啟動成功
智光電氣臺州電廠給水泵系統(tǒng)節(jié)能改造項目成功投運
智光節(jié)能榮登2014年度全國節(jié)能服務公司百強榜第五位
索引程序編程凸輪表
奧越信300系列PLC手冊