挽救台灣的最後英雄 - 嵌入式系統的發展

by 肥狐沖 ( garyhu@playstation2.idv.tw )

在經濟不景氣的現在,許多人相信資訊家電、智慧型手機與PDA等產品將是挽救台灣PC王國的最後一張王牌,而這張王牌的正確名稱應該稱作『嵌入式系統』 (Embedded System),上述所有的產品全都屬於嵌入式系統的一項分支。從國內各家知名廠商紛紛成立嵌入式系統發展部門,到政府相關單位經濟部工業局及資訊發展推動小組,結合國內數十家資訊電子家電業者共同成立的IASoC聯盟,希望能夠協助業者與國外領導廠商進行技術移轉與策略合作,強化國內產業的實力,以團體戰的方式集結資源跨入國際市場,期許在一片經濟危機之下,再創台灣經濟的奇蹟。

那到底什麼是『嵌入式系統』呢依據英國電機工程師協會的定義,【嵌入式系統為控制、監視或輔助設備、機器或甚至工廠運作的裝置】。它是一種電腦軟體與硬體的綜合體,並且特別強調『量身定做』的原則,也就是基於某一種特殊用途,我們就會針對這項用途開發出截然不同的一項系統出來,也就是所謂的客制化(Customize)。在新興的嵌入式系統產品中,常見的有手機、PDAGPSSet-Top-Box或是嵌入式伺服器(embedded server)及精簡型終端設備(thin client)等。除了台灣之外,事實上全世界的廠商都非常看好這一塊市場,並且前仆後繼的投下大量的研發,期望藉此渡過景氣隆冬,下圖是由知名的產業分析機構IDC所作的嵌入式系統相關產品的趨勢預估。

圖一、全球嵌入式系統相關產品產量預估

資料來源:IDCIn-StatForward ConceptThe Strategis Gro.U&SCCL/ITIS1999 (MIC整理)

面對現在一片裁員的聲浪中,發展一個無可取代的技術與能力,成為現在各行各業員工的願望,在資訊產業裡,目前國內的學校教育中不是偏向極硬 (hardware design),不然就是超軟(software development),硬體設計人員作風通常非常保守,比較缺乏系統全面整合設計,而軟體發展人員只要看到硬體問題就傻眼了,比較缺乏硬體觀念。因此,目前國內非常缺乏嵌入式系統所需要的軟硬體系統整合人才,大部分都還是靠硬體設計人員兼職。這個現象也告訴我們嵌入式系統人才是目前產業界要求而且無可取代的人才之

嵌入式系統的開發有著其特殊的環境與過程,了解其整個系統的歷史、現況與願景,以及系統整合能力的培養,對於想要進入這個領域的人員來說非常重要,整個嵌入式系統的發展歷史相當悠久,可以追朔至1971年由Intel公司推出有史以來第一顆微處理器4004開始,而微處理器的成功也讓接下來的二十年改變了人類的生活,典型的嵌入式系統幾乎讓人感覺不到她的存在,包括了生活周遭常見的微波爐、冷氣機、電冰箱等等,不過近幾年來新興的嵌入式系統領域發展相當快速,目前嵌入式系統產業中主要發展的技術究竟有那些呢依據資策會MIC的預測,它的發展將朝向軟硬系統整合、SoC設計、應用程式發展以及內容服務這幾個方面來發展:

1.系統:嵌入式作業系統(RTOS)

PC作業系統(WIN95/98)比較,嵌入式作業系統並未要求全能,但必須能夠依據系統設計規格,有效率的發揮出硬體的運算能力,使得產品達到效率價格比的最佳化,大多數的系統會要求全自動完成所設定的工作,例如工廠或是銀行的系統;除了原本在嵌入式領域耕耘已久的VxWORKQNXNucleus等等之外,新興的主要競爭產品包括Palm OSWindows CELinux等,其中Embedded Linux作業系統免費授權的特性,已為數間國際大廠所採用。

2.整合式晶片:SoC

嵌入式產品所需之處理器及晶片組較PC要求體積小、散熱佳、省電,因此多採用高整合度的SoC (System-on-Chip)為其處理器核心,為了儘速縮小製程技術進步與設計生產力間的差距,並加速SOC的實現,SIP(Silicon Intellectual Porperty)的重複使用(Re-Use)成為各方矚目的焦點。SIP即所謂智慧財產權(Silicon Intellectual Property),或半導體智慧財產權(Semiconductor Intellectual Property),在智財權前面加上矽或半導體,是為了要與一般所稱的智財權有所區分。

這類型的產品眾多,例如國家半導體(NS)Geode SC1400整合CPU、繪圖晶片、MPEG-2I/OTV out等功能,就適合於家庭數位影音設備的產品運用。其他則還有IntelMotorolaTransmeta等廠商投入單晶片的設計。

3.應用軟體

嵌入式軟體可區分為使用者端的應用軟體及伺服器端的整合軟體,伺服器端的軟體可能以Linux或是Windows為核心,並搭配各種資料庫系統;使用者端由於各種產品種類繁多,可開發出的軟體也相對增加,例如Palm號稱有上萬種應用軟體可以使用。除了原本各種平台專屬的應用軟體之外,現在更有利用Java跨平台程式開發的軟體加入這個陣容,軟體的種類變得更多。

4.服務

由於嵌入式產品必須能隨身攜帶或走入居家生活,故其體積上要求輕薄短小、造型及顏色必須個人化、輸入必須自然化、輸出必須多媒體化才能吸引消費者;另方面由於嵌入式產品與網路結合,所以與網路服務提供者或電子商務業者極易結合,也就是嵌入式產品連上網路之入口網站及其內容(HTML/XML)可能由廠商負責提供,像是日本NTT DoCoMo所發展的iMode服務就是一個最好的例子。

國內目前在這一方面的發展有漸漸受重視的傾向,如坊間個人工作室陸續設計一些PDA專用的嵌入式系統,資策會則有嵌入式系統實驗室部門專屬研究此類的軟體技術,另外學術單位方面則常利用市面上的一般用途嵌入式電腦為其實平台。以技術面來看,此類技術已經成熟,但入門之專業門檻頗高,例如基本上需要有微電腦架構、資訊軟硬韌體、與即時性作業系統、DSP等背景知識,而高級設計更需要有感測器與人工智慧的專業知識。下面這張圖很明確的表示了整個嵌入式系統產業的技術需求與使用者願望。

圖二、嵌入式產業之技術需求與用戶需求

在嵌入式系統裡,硬體與軟體常常密不可分,而且又存在著許多與桌上型電腦系統不一樣的地方,好比說嵌入式微處理器,這和傳統桌上型電腦的中央處理器有著明顯的不同,大部分的嵌入式系統的微處理器都是以SoC的方式發展,在軟體的開發流程方面,嵌入式系統的軟體常常以韌體的形態存在,因此在軟體層面的開發也和我們熟悉的桌上型電腦程式開發不一樣。為了達到產品快速上市的目的,軟硬體同時發展更是這個產業常見的現象,談到這邊,讀者們可能會開始疑惑,沒有硬體平台,軟體究竟該如何發展難不成全都是憑空想像嗎為了達到快速地在各種不同平台上發展系統軟體,嵌入式系統開發廠商通常都會提供模擬環境,讓系統開發人員可以在沒有實際硬體平台的情況下,也可以發展自己的程式,最後在硬體平台完成設計與驗證之後,再共同整合起來。

圖三、HOSTTARGET

在嵌入式系統中,開發的方式相當奇特,主要的原因是真正的產品,也就是目標平台Target端的環境和我們的開發平台Host端是分開的兩個平台,一般我們開發桌上型電腦的程式時,執行程式和開發程式的平台是同一,都是PC。但是在嵌入式系統環境中,我們則是嘗試在PC端寫出另外一種平台的執行程式,彼此之間的關係如上圖所示,因此建置整個開發的方式與環境是整個系統的入門第一步,我們可以將開發的工具架構整理成如下圖所示,包括了使用者界面、模擬環境、各類模組、軟體與硬體之間的規劃程式等等,當整個系統設計與開發完成之後,我們還會多做一個ROMization的動作,以製作出可執行的影像檔並燒錄到目標平台的ROM或是Flash裡面,然後在目標平台上執行我們的程式。

圖四、嵌入式系統開發工具架構圖

光看到這些步驟,許多讀者也許已經開始感到新奇了,這和一般常見的程式開發是截然不同的天地,在這樣特殊的系統上撰寫我們想要的應用程式,確實有著一定的門檻與訣竅,現今的嵌入式系統在資訊家電的帶領下,已經逐漸擺脫過去比較小巧簡單的裝置,進入現在複雜多功能而且相當強悍的裝置,也成為現在許多程式設計人員、硬體開發人員相爭競逐的領域。因為這個領域並須同時具備良好的軟、硬體知識及系統整合的觀念,加上無線通訊與網路的結合,方能開發出一套系統。

同時嵌入式系統的開發成為目前國家產業發展的主要政策之一,加上後PC時代種種需要複雜運算功能的數位應用系統,其核心肯定是低成本高效率的即時性嵌入式系統。而國內在未來幾年內這一方面的人才依然相當缺乏,一般應用產品設計公司依然會有其技術瓶頸,對於目前有志於從事資訊工業相關的人員或是學生來說,這是一項非常具有前景與挑戰的技術,而目前也已經有許多的學校與研究單位正從事相關的技術開發與應用,期盼有更多的人能夠投入這方面的研究。