Chip123 科技應用創新平台

標題: 嵌入式系統開發要素的選擇分析 [打印本頁]

作者: 小朱仔    時間: 2007-7-6 11:05 PM
標題: 嵌入式系統開發要素的選擇分析
嵌入式系統開發要素的選擇分析; W4 v" W2 e6 z+ {" N
$ t; c5 W9 a. B# [: j* t' }" J
引 言
) F* B4 ]$ b. Y$ M9 y. R" N
/ b) @( d7 s# {& O! j1 k  E+ d, [' ~      在電腦、互聯網和通信技術高速發展的同時,嵌入式系統開發技術也取得迅速發展。這不僅表現在從事嵌入式系統開發研究的人員隊伍日益壯大,嵌入式處理器和即時操作系統的性能增強和產品升級換代,更重要的體現在嵌入式技術應用範圍的急劇擴大。
( m# W2 u( ~+ r2 I! Y2 i) f嵌入式系統擁有巨大的市場空間,我國應該抓住機遇,與時俱進,奮起直追,在嵌入式系統領域趕超世界先進水準。要達到這個目標,具有一定的現實可行性,這是因為同PC機系統相比,嵌入式系統更有自身的特徵。在PC領域,雖有AMD系列處理器和Linux作業系統的市場衝擊,但是Win_Tel(Windows+Intel)體系架構仍占主導地位;可是,嵌入式系統本身是一個相當分散的工業,典型特徵是面向用戶、面向產品、面向應用的,市場應用才是嵌入式系統開發的導向和前提,在當前的嵌入式市場中不存在壟斷的局面。 5 ^2 S' g" O% k  ~1 R( I/ L1 O
, C: Z! f4 g+ U4 }, g
      嵌入式系統包含硬體和軟體兩部分:硬體架構上以嵌入式處理器為中心,配置記憶體、I/O設備、通信模組等必要的外設;軟體部分以軟體發展平臺為核心,向上提供應用編程介面(API),向下遮罩具體硬體特性的板級支援包BSP。嵌入式系統中,軟體和硬體緊密配合,協調工作,共同完成系統預定的功能。6 U3 G! `2 v! _6 @2 e
2 P1 A5 h& j& ]8 n! [# d* v! A
對於不同的市場應用類型,嵌入式系統開發中的嵌入式處理器、即時操作系統、模擬器、調試器以及開發隊伍的技術水準和結構比例等要素的選擇是至關重要的。本文參考一些嵌入式系統開發的資料,結合具體的工程實踐經驗,系統總結了進行嵌入式系統開發時,如何全面考慮各開發要素並進行選擇,最後結合一個具體實例進行詳細闡述。
7 F: Q% D. s6 ]% b0 u
4 u8 _1 @% _2 l7 T1 嵌入式處理器
$ _* f9 o# ?$ B) l; g/ v
! Q) O, a& L3 ?# x& U嵌入式系統的功能軟體集成於硬體系統之中,系統的應用軟體與硬體一體化。在嵌入式系統的硬體設備中,嵌入處理器是整個系統的核心部件,其性能的好壞直接決定整個系統的運行效果。
# ?1 [: t0 ^  a+ A9 j
/ l- W5 A: b7 h5 G! R# J9 k$ l+ KPC機銷售市場中,隨著通用CPU技術的突破和工作頻率的倍增,舊款低檔CPU早已經不見蹤跡。嵌入式系統開發面向具體應用,不同領域的應用市場需要不同款式和性能指標的處理器來開發,於是在嵌入式處理器市場中,中低端的4位、8位和16位處理器依然存在,高性能的32位處理器也有很多產品。隨著超大型積體電路技術和微電子技術發展,包含嵌入式處理器以及部分週邊電路的微控制器產品也進入市場,片上系統SoC(System on Chip)產品也開始出現。這些產品的上市,不僅豐富了嵌入式處理器產品,而且也更加方便了工程技術人員進行嵌入式系統的技術開發和擴大嵌入式產品的應用領域。
( q! M# I6 U& m0 C4 {8 h* A8 B8 C& n7 c+ a2 Q# |6 o
由於嵌入式系統應用需求的多樣性,市場上基於RISC結構的嵌入式處理器提供商也日漸增多。統計數字表明,1999年底市場銷售額排在前三位的公司分別是ARM、Motorola和MIPS,其中ARM公司的晶片銷售量達1.5億個,市場份額超過50%。* J' O/ J1 t  C0 c+ x  T$ H

6 L3 Y  Q- P0 q3 F9 `3 S面對這樣的嵌入式處理器市場,開發設計人員應該如何選擇呢?這�有兩個前提條件。" d8 H) n, R( E/ W$ U
  _3 Z; E% x% l
一是深入研究具體的嵌入式系統應用需求,充分的應用需求分析後獲取應用系統的性能指標。面向應用是嵌入式系統的特色,具體的應用需求決定著嵌入式處理器的性能選型。在工業控制等特殊領域,系統需求分析員不僅需要和工作人員、上級主管親自面談,而且要到工作現場獲取第一手資訊,收集充分的資料。應用需求分析後,需要定義產品具備的基本功能和性能指標,如系統處理的資料量大小和處理即時性要求、系統正常運行時的工作環境、系統運行過程中可能遇到的突發事件、系統的尺寸大小和功耗指標等。0 D  F: ]* G- O, c

# @1 d2 C2 s/ q. X, j6 a& F第二個前提條件是,分析研究市場上各大廠商提供的各款嵌入式處理器的性能指標,如功耗、體積、成本、可靠性、速度、處理能力、電磁相容性等。這些參數也是各個半導體晶片廠商之間競爭的熱點。
: g- I, l( W0 v4 O4 I8 u# `6 `% O, Y. C8 D8 c2 c& b5 X
開發人員通過應用需求分析獲取了產品的功能性和非功能性指標,研究了市場上嵌入式處理器的性能參數後,能夠對嵌入式處理器作出較好的選擇。嵌入式處理器選擇的基本原則是滿足具體功能性和非功能性指標需求的、市場應用反應良好的、硬體配置最少的嵌入式處理器。如簡單的智慧型儀器器儀錶設計考慮使用4位或者8位低檔單片機8051;和數位信號處理密切相關的選用TI公司的TMX320x系列的DSP(數位信號處理)晶片;如果產品偏重於通信功能,考慮Motorola公司的嵌入式處理器68K系列;如果產品功能比較齊全,可選用嵌入式處理器領域的後起之秀ARM公司的高性能嵌入式處理器ARM晶片系列等。
9 ~# G" O# @* b6 n3 a
7 B2 Q9 F' q  f  v  C* Y; Y除了上述的產品性能需求因素,選擇嵌入式處理器時也需要考慮開發人員對此系列處理器的熟悉程度。因為不同公司開發的嵌入式處理器差別較大,從一類處理器轉移到另一類處理器的難度比同一系列不同處理器間的轉移難度大得多,風險多得多。
9 l5 ]1 L) W; B3 ?2 }+ H# V9 r
# Q  R& N0 ?* N* z* j3 f4 W9 F2 即時操作系統
; e0 X/ h6 ^* v  ?
) a1 r0 T( Y5 [" u$ X# _5 C% D以嵌入式處理器為中心,開發人員搭建好硬體電路時僅提供了裸機運行平臺,要使整個系統有限的硬體資源充分利用起來,還需要(嵌入式)即時操作系統RTOS(Real Time Operating System)的軟體支援。! |  |4 M6 s6 F: t9 V$ i" ]5 k

$ y: q' [. _5 {/ h% W  YRTOS與一般商用多工OS(如Unix、Windows以及Linux等)有共同的一面,也有不同的一面。商用多工OS主要目的是方便用戶管理電腦資源和追求系統資源的最大利用率;而RTOS重點追求的是即時性、可確定性、可靠性,當然也包括有限資源的管理。一般RTOS內核都很小,在幾KB~十幾KB之間。流行的RTOS基本上都支援基於優先順序的搶佔式調度策略和時間片輪轉,具有微內核結構,有標準元件可供選用,支援虛擬存儲技術和存儲保護機制。
0 ?/ W- U* j- B/ C5 ^
7 Y6 u- P7 `" {2 j! }. r由於具體嵌入式應用的功能需求差異以及不同RTOS間不同的性能指標,RTOS的選擇有三種方案:一是根據應用需要和公司技術實力,考慮自主開發研究(國內手機廠商寧波波導公司部分款式的手機作業系統就是自主開發的);二是充分考慮系統需求和流行RTOS的性能指標及性價比選擇商用RTOS,如WinCE、VxWorks等;三是考慮嵌入式Linux(RT_Linux),RT_Linux是開放源代碼的免費自由軟體,互聯網技術論壇較多,具備較好的裁減性以支援不同的應用範疇。 5 I8 {4 P# v2 j+ M" {: E1 p8 J
  \2 n. Z& `* n. z0 ]+ [& q
當前全球範圍內商用RTOS多達200多種,應用領域的多樣性使得市場反應較好的也將近有十幾種,如VxWorks、pSOS、Nucleus、QNX、WinCE以及中科院軟體研究中心研製的Hopen等。這些不同名稱的RTOS,核心軟體差異微妙而且難以琢磨,選擇時重點是考慮它們的性能評價指標,主要包括調度演算法、RTOS本身記憶體開銷、RTOS記憶體管理模式、最大中斷禁止時間和最大任務切換時間。當然,也包括RTOS的購買成本和提供的技術支援等相關因素。針對即時性要求較高的應用,需要重點考慮RTOS的最大中斷禁止時間和最大任務切換時間。這兩個參數越小越好。減小這兩個參數值,除了選用較高工作主頻的嵌入式處理器外,還和RTOS本身任務調度和中斷處理機制密切相關。$ n! ?# f: W8 {" D% A' j  B' `

" c# X2 M+ Q/ p選擇RTOS時,通常還要考慮系統功能方面支援何種處理器硬體平臺,何種API,是否支援核心態用戶態、是否支援記憶體管理單元MMU、可攜性、調試支援、標準支援等。如果開發網路應用,還需要考慮該RTOS是否支援TCP/IP的網路元件和I/O服務等。如果開發遊戲和娛樂市場,要著重研究該RTOS對多媒體的支援能力。市場應用需求的多樣性,使得RTOS本身應該支援用戶自定制能力,根據應用需要在微內核的基礎上選用標準元件。
3 t2 l$ w: Z" ]3 L. h, m9 |* j5 t/ o
3 模擬器和調試器8 U! t' D9 d5 ~+ j0 x4 s8 |

* U  c8 \0 n( j. X' M7 c1 l' k- C調試是嵌入式系統開發過程的重要環節。嵌入式系統開發調試和一般PC系統開發調試有較大差別。在一般PC機系統開發中,調試器和被調試程式是運行在相同的硬體和軟體平臺上的兩個進程,調試器進程通過作業系統專門提供的調試介面控制和訪問被調試進程。而在嵌入式系統中,調試器是運行在桌面作業系統上的應用程式,被調試程式是運行在基於特定硬體平臺的作業系統,兩個程式間需要即時通信。# H3 T+ e% E, }' |# N6 r, U& w4 N
& n1 z. x$ m5 }; ~+ @+ ]
嵌入式系統調試時,主機上運行的集成開發調試工具(調試器)通過模擬器和目的機相連。模擬器處理宿主機和目的機之間所有的通信,這個通信口可以是串口、並行口或者高速乙太網介面。模擬器通過JTAG口和目的機相連。三者間的關係如圖1所示。1 U0 y* F( ?- O: t6 t' o
  P: U7 [8 v! p% e% U7 Y. E, o
& I. _' M# i/ z/ Y2 q8 l% U" g, L" [

" N$ Z' K' H6 [4 D2 H7 L1 }+ f嵌入式系統開發調試方法有快速原型仿真法和即時線上調試法。快速原型仿真法用於硬體設備尚未完成時,直接在宿主機上對應用程式運行進行仿真分析。在此過程中系統不直接和硬體打交道,由開發調試軟體內部某一特定軟體模組類比硬體CPU系統執行過程,並可同時將仿真異常回饋給開發者進行錯誤定位和修改。即時線上調試法在具體的目的機平臺上調試應用程式,系統在調試狀態下的執行情況和實際運行模式完全一樣,這種方式更有利於開發者即時對系統硬體和軟體故障進行定位和修改,提高產品開發速度。
, B8 x, A, l; J" J4 C
/ I& y& ?$ e* k' v" I4 v) k選用的調試器是運行在主機上的集成開發環境,一般需要集編輯、彙編、編譯、鏈結和調試環境於一體,支持低級組合語言、C和C++語言,基於友好的圖形用戶介面(GUI),支援用戶觀察或修改嵌入式處理器的寄存器和記憶體配置、資料變數的類型和數值,堆疊和寄存器的使用,支援程式中斷點設置,單步、中斷點或者全速運行等特性。
) Q3 n5 j" n* c2 u) }1 e( A/ j  V  o3 t4 \/ U  L/ D) L/ k2 Y6 `
應用需求的多樣性導致市場上模擬器和調試器的提供商也較多,Windriver公司的Tornado是一個很好的開發調試工具。根據實踐經驗,一般配套選擇規模較大、信譽較好公司的模擬器和調試器,雖然價格偏高,但是這些公司技術實力強,售後服務好,調試器和模擬器開發結合緊密。如果在開發調試過程遇到技術障礙,可以通過電話或者電子郵件方式及時獲取技術支援。如選用ARM系列的嵌入式處理器時,可以購買Multi-ICE模擬器,並附加ARM250集成開發調試環境等。
作者: 小朱仔    時間: 2007-7-6 11:05 PM
4 開發隊伍的技術水準和結構比例0 P: u' |) r' _  A
/ A$ a) o9 A  Y" C: _
嵌入式系統開發中選擇好了嵌入式處理器、RTOS、模擬器和調試器等設備外,還需要考慮開發隊伍的技術水準和結構比例。經驗豐富的開發小組都深有體會:民用產品開發中,產品能夠在預計的時間內進入市場贏得效益,其整個技術範圍內新技術比例至多只能達到20%,超過這個界限,估算的時間期限可能會出現較大偏差。從高層規劃人員的角度分析:20%以內的新技術,公司可以集中力量,投入足夠多的人力、物力和財力進行突破性研究,正常情況下可以達到滿意效果。如果新技術超出20%這個範圍,恐怕心有餘而力不足。
' B9 R, e; j7 s8 b+ W; H2 S
9 F3 p1 J1 q- b4 d/ h公司運作以市場作為嚮導,是市場賦予它們生命。公司看重市場,付出的勞動有市場回報才能正常運轉。公司在開發過程中一般都儘量避免風險,而且整個開發過程中始終將風險分析作為重要的參考因素。公司一般都選擇保守的開發模式,基於當前開發人員的技術實力和已經達到的技術儲備,在許多種備選方案的技術論證過程,充分分析成本收益、風險大小、投入資源、開發人員的技術水準等因素,全面考慮,權衡利弊,儘量選用可靠的,風險小的設計方案。
* T3 }' z9 f8 Q; l# [
: C) Q  c# V; U+ E/ y7 z" |1 C: _在專案開發中,分配開發人員時不僅要確保任務在給定時間期限內完成的成功性,而且也要體現在鍛煉培養後繼人才方面。任何專案的開發,依據需求分析後,經過概要設計和詳細設計,都會形成模組化結構,其工作難度也有一定的層次性。這樣,公司在選派專案人員時,需要合理的人員結構安排,現在一般公認的人才結構比例是1(博士或同等學歷)∶3(碩士或同等學歷)∶7(學士、大專或同等學歷)。在專案開發中,除了開發人員的技術水準和結構比例外,小組內部的民主化、科學化管理決策也是很重要的環節。
/ n3 K. a* r; w7 W$ m
) F' o; w) t% H8 G. `6 Q+ L: @5 應用實例解析. W: e4 M8 N8 y& p0 n" V& k- D

' m( S7 n, C6 K" Q在詳細討論了嵌入式系統開發中的幾個關鍵因素後,下面具體闡述這些因素在工作中的具體體現。圖2是個人數位助理PDA和尋呼機二合一的掌上型電子產品結構圖。
7 z. x) o, \% c) v4 E" ^5 v
2 j' w' p- {0 {1 `( [
5 X, U4 U8 q  J: J" S" s/ ^+ t9 Z3 Y& ]3 W2 r
該產品的基本功能包括: 2 K$ @# `2 C6 i7 K" c! N: _) G

3 b0 |* r9 x1 |1 a# Q① 個人數位助理——科學計算器、英漢互譯辭典、電話號碼簿、記事日程表等;
: v3 R* N6 [  t! L! ~! d+ @: g5 ~1 U, Y8 k
② 交通資訊——列車時刻表的車次查詢和車站查詢、民航時刻表的航班查詢等;: F+ \0 j# Y/ Y' y3 q$ |

6 l2 T. ?7 m5 Z5 }- J' ^$ J③ 尋呼資訊——接收個人和公共尋呼資訊,個人尋呼內容即時語音合成並播放,尋呼方式更新列車和民航時刻表資料等。
7 }; Z  u0 ]9 D1 c; t/ H3 p0 s& F$ @7 x, L* T/ Z
分析產品功能結構圖並結合產品的基本功能,可以獲得產品對嵌入式處理器的性能要求:高速嵌入式處理器處理列車和民航時刻表查詢、個人尋呼內容的即時語音合成並播放等。處理器週邊需要自帶語音錄放電路完成語音錄入和播放,串列口和紅外通信口進行資料通信,LCD介面電路提供用戶輸入介面,也需要電源管理模組完成可擕式電子產品的低功耗設計。3 `8 b( M' C- y$ o& H! X. `
$ b9 M  R1 J/ z+ j  \* X: c, L
選用ARM公司的嵌入式微控制器EP7211:內含的32位元微處理器ARM720T,提供18MHz、36MHz、54MHz和72MHz工作主頻,而且允許用戶在應用程式中對控制寄存器編程切換處理器工作頻率,這種切換頻率的工作方式,不僅滿足了不同的應用需求,而且降低了系統的功耗。EP7211提供了SRAM和Flash存儲晶片介面,2個RS232口(1個自帶紅外信號收發模組),支援G_729.a標準的語音錄放Codec模組,有LCD介面和電源管理部分,支援低電壓監測等。在休眠狀態下,EP7211支援中斷喚醒功能,喚醒時間是喚醒頻率的2∼3個週期,晶片提供8kHz的喚醒頻率,使得在休眠狀態下系統收到尋呼前導信號時能夠及時喚醒。: `% e! Y9 [: J+ k

* h7 s/ {1 Q( }/ U; G5 D; [選定了EP7211後就應選擇RTOS了。從產品功能和程式流程的角度分析,系統基本上是單任務順序處理,但要具備即時對尋呼中斷的回應能力。RTOS的選擇有兩個方案:一是使用已經購買的用在油田測井系統SL3000型產品的商用Nucleus,二是使用自主開發的、專門面向嵌入式應用系統的XGW軟體發展平臺。
3 ^( b4 S. Z+ `
. P; |. F) ?7 Y" S  rXGW軟體發展平臺功能強大,模組化設計,擴展性強;支援多種點陣和向量字體;完善的中英文處理介面;支援漢王手寫識別和拼音輸入法等。XGW開發平臺是自主研發的,軟體產品升級和故障排除比較容易,產品成本費用相對較低。選擇EP7211嵌入式處理器和XGW開發平臺,還因為二者在“GPS汽車導航系統”專案中獲得了成功應用。1 Z3 s/ }1 o6 o, e* R4 S
& j" G3 |. {* A: W  ^: O7 `
關於集成開發調試環境,我們購買了ARM公司的ARM250。它基於GUI用戶介面,一體化的編輯、彙編、編譯、連接和調試多視窗工作環境,支援單步跟蹤、中斷點設置和記憶體查看等;同時,ARM250開發調試介面和Microsoft 的VC6++集成環境相似,有助於開發人員快速熟悉和掌握。選用Multi_ICE模擬器,支援線上仿真調試,通過並行口連接主機,支援程式編譯鏈結後的程式碼快速載入,加快了代碼調試進度。
, A5 A2 ?( L+ G# d7 K7 I0 z5 F
* t  x+ E' Y1 e3 T詳細分析了產品的技術風險,對開發小組而言,只有尋呼系統是比較成熟的新技術,且工作頻率高達155MHz,需要重點解決和其他功能模組的電磁相容性,要投入較多的人力資源進行重點突破。關於嵌入式處理器EP7211和自主研發的XGW軟體發展平臺等,開發人員都有一定的技術積累和豐富的工作經驗。/ W8 x9 A5 S, B, ]1 y/ Q0 y7 {: Q
7 x0 T* w7 |: Z) x* R
在系統開發中,設計了兩套技術調試方案:一是基於記憶體SRAM模式,二是基於快閃記憶體Flash模式。在記憶體SRAM模式中,系統加電冷啟動時,系統完成相關硬體初始化任務後執行一段代碼,將系統編譯連接生成的二進位可執行代碼從Flash存儲空間完全拷貝到SRAM記憶體空間中,整個應用程式調試完全在記憶體空間執行。此種方案極大加快了龐大應用程式的調試步伐,加快產品開發進度。二是在SRAM記憶體模式調試完應用程式的基礎上,執行快閃記憶體Flash調試,系統啟動後將中斷服務程式ISR和少量的內核代碼拷貝到SRAM後在SRAM中執行,其他應用程式在Flash中執行。Flash模式同SRAM模式相比,主要是修改系統啟動代碼段,應用程式碼完全保持一致。Flash模式減少了寶貴的SRAM資源需求、降低了產品開發成本,但是運行速度較SRAM模式慢。
! y3 F  ~1 A6 o; h5 n" }4 R8 I
0 t1 k( Y. u& V9 F# H" K6 J6 小 結$ m/ l( e+ k- v. d7 u% z* [
5 ~9 {7 E- X/ E8 X/ l) Y- B. c& Y
本文詳細闡述了在嵌入式系統開發中嵌入式處理器、嵌入式作業系統、調試器、模擬器以及開發人員的技術水準和結構比例等組成要素的選擇原則,並且使用一個具體的實例來進一步分析說明。需要指出的是,這些要素之間不是彼此獨立,而是緊密相關,可能還會在某些方面相互衝突。




歡迎光臨 Chip123 科技應用創新平台 (http://chip123.com/) Powered by Discuz! X3.2