一:前言
進入科技業就得要有每天接收爆炸般的資訊,每天都會有新
新的技術推出、新的創意被實現...。這同時是科技業迷
雖然說每天都在變都有新東西推出,但實際上科技業的根本
每天都在update,依我的經驗大約三年才會有一波大
這些巨大的改變中,只有很少是全新改變,大多都是一個科
是一些早前被人提出來或曾經推動過的技術,在當時的時空
了該領域就突然冷凍掉,但過了幾年剛好在天時地利人合下
成了產業界大家一起都動起來了。所以把時間拉長來看,重
勢的大方向,而不是每天在苦苦追趕那些小改變。而趨勢的
往歷史經驗中看出一些端倪。這也就是科技業那麼有趣的地
到一些以前被冰凍冷門的領域或產品,突然可能過個幾年就
挑戰者也會跟的很快,沒跟上腳步或事先準備好的人,很容
轉變中被這個生態給暫時冷凍了(你學的領域或專長突然變
波被冷凍的人又突然變的很熱門(但這時你的年記也跟著增
不小心被冷凍過一次,解凍後就不在新鮮了,更別說被冷凍
多難生存(這就是 RD的宿命)。
再舉個簡單的例子讓大家更深入了解嵌入式系統產業的狀況
浪聖地,有一群人(系統廠)各自拿著不同的衝浪板(De
浪的來襲。通常每一波的大浪的中間會間隔著許多的小浪頭
資訊潮)。衝浪者(系統廠)必須在浪頭從遠方傳來時,當
是小浪(是有賺頭還是賠錢貨)?這波浪要不要衝下去(領
敏捷的反應速度,所以大企業的反應速度不見得比較快)。
(不小心壓錯寶);遠遠看來只是一波沒搞頭的小浪頭,誰
然湧起變成一道完美的浪波(某項革命性 or殺手級的產品誕生),但這時你己來
不及反應了,只能眼爭爭的看著身旁提早準備好動作的同伴
頭的也不一定就能一路沖回岸上,有的技巧比較不穩(小企
規模與穩定性與經驗也較不足)的很可能在過程中站不穩就
浪頭並不會是獨行而來,一般會伴隨著 2波的大浪以一群方式(趨勢是由數個重
大的革命性產品 or殺手級庄用所集體造成的)的到來,所以雖然無法跟上
波(領頭的殺手級產品),但隨後馬上就還會有 2波的機會(產業趨勢慢慢成型),
有的體力超強的(資本雄厚的大企業)好手,雖然只跟到第
體能用力的往前滑,還是有機會可以出頭趕上第一波的同伴
反應還是慢半拍,無法跟上後續的機會,那就只能靠著你身
著那一群大浪依續的回岸上,海上只獨留你在那繼續等下一
跟對浪頭是很重要的,有時你跟了二,二個小浪只推進了二
伴只要跟上一個對的大浪,雖然出發時間比你晚,但可能一
公尺,甚至直接就回岸上去和你說再見了。
在本週的週報中,將會針對 Embedded做一系列的整理與報導。將會從
Embedded System發展歷史介紹到未來的趨勢發展,讓大家能夠
深入的了解。
二:何謂Embedded System
若有人告訴你,現在我們都是生活在一個充滿嵌入式系統的
大量的嵌入式系統 24小時不停的在為我們服務著,不知你是否會感到吃驚呢
但事實就是如此,在我們週遭身邊如:手機、手錶、冰箱、
機..等等許多生活上的用品都己見的到嵌入式的身影,任
許多各式各樣的嵌入式裝置,小至 Mp3隨身聽、手錶與手機等手持式數位裝置,
大至車用電腦、資訊家電、航空系統,這些嵌入式系統裝置
超過傳統電腦,並且己與我們的日常生活密不可分。嵌入式
腦與網路的發明後,資訊產業裡一項相當重要的發明。其中
式系統無論在體積、功能、可靠性、功率消耗、內核大小與
勢,相當適合用來開發資訊家電或是小型的手持式裝置,而
通常都與我們的日生活有關,因此嵌入式裝置可以很快的進
只要在生活上留心注意一下,其實並不難發現嵌入式系統的
一些我們常見的嵌入式產品。
嵌入式系統的特色
對於以往只能在固定地點,固定的方式取得資訊的方式,己
代人的需求,取而代之的是將資訊系統容入我們的日常生活
時間與地點的限制,隨時隨地都能取得我們想要的資訊與服
電腦體積過大,價格過高,且不易隨身攜帶..等等問題,
也就慢慢的浮上台面。而所謂的嵌入式系統,是指將電腦技
子技術等,拿來與各種功能需求做具體應用、相互結合後的
術的科學。「嵌入式系統」採用的是微處理器,去實現單一
其中作業系統可有可無,所以往往不需要大量的週邊設備,
有其自身的優勢。另外為了提高其執行速度與系統可靠性,
一般都燒錄在記憶體晶片中,而非存貯於磁碟中。若與個人
統就是為單一特定功能與需求而量身定做的產品,而個人 PC則是一個可以滿足
眾多功能需求的一個肥胖的綜合體。
目前嵌入式系統設備大至可分為以下幾類:
●網路設備
網路設備包函路由器、交換器、網頁伺服器、無線 AP..等等各種基於網
路應用的設備,由於近年來無線網路的掘起,未來嵌入式系
個必然的趨勢。
●行動計算設備
行動計算設備包函:手機、PDA、筆記型電腦..等各種
而像智慧型手機、PDA,由於可提供相當多樣性的服務供
體積小、攜帶方便,價格越來越便宜,在近幾年發展相當迅
類設備隨時隨地的接收各類所需的資訊。
●資訊家電
由於資訊產品慢慢的融入我們的生活之中,現今許多家電用
展,在未來電視、冰箱、冷氣、電話、微波爐等我們日常生
將能利用嵌入式系統與網路路結合,如此一來便可以利用手
監視家中的電器用品。
●工業控制、模擬
由於工業控制系統對隱定性與可靠度都相當要求,在加上工
求較為等別,因此嵌入式系統在工業控制領域之中,早己受
例如工業機械手臂、工廠自動化控制系統等都皆為嵌入式系
場。
●家庭娛樂產品
近年來多有許多娛樂產品都己可以看到嵌入式系統的身影,
寵物、電子機器人甚至是樂高玩具,都是藉由嵌入式系統讓
具,可以擁有獨特的生命力,並與人類能有所互動,另一方
Wii、Xbox或 Ps3也同樣都是屬於嵌入式產品。
三:Embedded System發展史
嵌入式系統存在其實並非這幾年的事,事實上這個概念存在
代單晶片的出現到現在嵌入式系統被廣泛的應用,算一算應
間了,嵌入式系統的架構也隨著科技的發展不進的演進,
●單晶片時代:
嵌入系統的概念隨著電子工業的發展,原本是獨立分開的微
置(RAM、ROM)與 I/O界面等元件,都己有能力能全部都集合在一片 VLSI積體電
路之中,因此就開始有 IC製造商開始開發這類的整合型晶片,並且一推出很快
的就廣泛的應用在嵌入式的領域之中。很快的針對嵌入式系
世,此類 CPU強調的是高度的可靠性與低功率消耗,所以相當附合
統的需求,此時嵌入式系統的潛力漸漸的受到人們的重視,
計師投入設計簡單的嵌入入式系開發軟體與作業系統,除了
效率外,也同時大幅降低了產品開發週期,因此有許多產品
系統架構來開發。
●即時作業系統產生:
隨著時代發展,數位通訊與資訊家電等許多新的概念被提出
都需要利用到嵌入式系統,因此在這個時期嵌入式系統發展
力相當的也提高了不少,也有些產品如 DSP數位信號處理器,開始向高速度、高
穩定性、高精確度等方面發展。同時在硬體與應用層面的需
下,嵌入式系統軟體的架構也必須跟著提升以提供更完整的
業系統(RTOS)開始被大量被導入於嵌入式系統領域之
統是指當系統收到命令指令時必須立即的產生回應,因此作
在此得到相當大的改善,在加上作業系統所支援的微處理器
完整,很快的 RTOS開始成為嵌入式系統的主流。在此時針對嵌入式系
體也有顯著的發展,例如:檔案系統、網路、使用者介界面
功能,並且提供了大量的應用函式庫(API),讓嵌入式
容易有效率。
●網際網路時代。
網際網路無疑的是一個資訊界中相當重要的發明,直至目前
是一個相當熱門的產業,在未來嵌入式系統必然也會應用到
此將網路功能整合進嵌入式系統中便成為一項相當重要的議
入式系統都還處於 Internet之外,但隨著資訊家電與嵌入式技術不斷
嵌入式設備與 Interner結合是必然的做法,當然這對嵌入式系統
項新的挑戰。
●智慧型作業系統時期
以往嵌入式的作業系統與 PC所使用的作業系統是完全不同的領域,在 PC
上,你可以安裝你喜愛的應用程式,可以播放你愛聽的音樂
browser上網吸取網路資訊,你可以在 PC OS上做任何你想要做的事情,只要有
對應的軟體安裝上去即可。但在早期的嵌入式系統是相對封
統,在上面一般是無法自行去安裝各種不同的應用程式,就
找到有人幫你寫該平台上的軟體。因為嵌入式平台的整合並
框架,雖然說大家可能都是用 ARM的 CPU,都是跑著 Linux的作業系統,但上層
軟體的框架卻是每個系統廠商自己去開發組合的。每個系統
架,而且互相是不相容的,也不會有提供介面讓你自行去開
因為軟體框架是各個不同公司的 know-how,大家互相都是競爭的關係更不可能
互相開放平台給對手使用。
但這幾年拜 IPhone和 Android所賜,現在的狀況己有很大的不同。IPh
提供的雖然是封閉的軟體框架,只能在 Apple的產品上使用,不過 Iphone的創
新與很優秀的的使用者體驗經驗,雖然他只開發了 Apple自己的軟體框架,但卻
己經吸引了無敵的開發者來為他開發專屬的軟體,同時也吸
習使用這種全新的使用體驗。你,可以自己決定在你的手機
體,而且還有一堆人來幫你寫你要的應用程式,這是以往的
的創舉。而 Android呢,它可是一個完全開放的軟體框架平台,
在手機上有所發揮,在其他領域的嵌入式系統中也都有機會
電視(Google TV),冰箱,吸塵器、視訊電話,門禁系統,超商 POST系統...
都有可能被植入 Android平台。一但植入了 Android平台後,代表的就一個全
新的標準軟體框架產生一統江湖了,軟體開發者可以獨立於
應用程式,並且可以安裝在各家不同系統廠的 H/W上執行,也就是系統廠慣用的
用H/W綁軟體(Firmware)去販賣的模式很快就
開買,此時做 H/W就變的不在值錢,用戶也不會因為被綁住就算該系統
Firmware寫的很差很爛,還是只能upgrade
or軟體。嵌入式系統軟體的價質不在會是與 H/W的價質綁在一起。軟體的價質
將會因差異化的改變而日漸升高,而 H/W的價質會漸漸的變的每家都差不多(因
H/W成本的差異化不大)。
四:Embedded System的系統結構
一般而言,整個嵌入式系統的體系架構可以分成四個部分︰
程式、嵌入式作業系統和嵌入式應用軟體,如下圖所示。而
最主要的差別就在於 Linux OS層之上,另外又提供了一層標準的 SDK開發框架
(Middleware),因此你可以使用 Android的作業系統放在不同的硬體平台上,但
軟體還是可以在 Middleware層很順利的執行。而 IPhone的差別在於它是直接提
供 iOS的 Applications層的標準開發框架,因為它是個
只能跑在 Apple的機器上,所以自然不用在 iOS在架一層middleware。
●嵌入式硬體平台:
嵌入系統硬體平台大至上包含了微處理器(CPU)、儲存
訊裝置(RS232、USB、Bluetooth)與週
理器可說是嵌入式系統的核心,嵌入式系統所使用的微處理
不同處在於,嵌入式 CPU通常都是運作在為特殊需求所專門設計的系統之中,
設計時必須能具備小型化還要同時有很高的可靠性與穩定性
IC製造商都有生產嵌入式系統處理器,而有些軟體公司也
的處理器,因此嵌入式系統的處理器可以是五花八門,並沒
市面上比較流行的處理器構架大至上有:ARM、MIPS
中除了微處理器外,另一個重要的元件就是儲存裝置,主要
存,同樣的儲存裝置的種類也相當的多,比較常見的有 RAM、SRAM、DRAM、ROM
與 FLASH,其中 FLASH因存取速度快、可.寫次數量高、儲存容量大與
等多項價點,在嵌入式領域中被大量的採用。通訊裝置可以
溝通的窗口,目前嵌入式系統可採用的通訊裝置己相當的廣
USB、I2C、SPI、IrDA、Ethernet、
可以採用於嵌入式系統上。對於部份比較特殊的嵌入式設備
邊裝置溝通,此時就可以透過通訊裝置對外部週邊裝置進行
器(LCD)、觸控式面版、鍵盤(key board)、滑鼠(Mouse)等。
●驅動程式:
嵌入式系統的硬體平台與一般的計算機平台不同,通常硬體
的需求不同而有所差異,像是嵌入式處理器的種類就己多的
入式硬體裝置通常都必須依照不同的硬體平台,提供相對應
有許多硬體開發廠針對不同的硬體平台提供許多的驅動程式
作業系統通常也對各種主流的硬體設備提供驅動程式支援,
較特殊或自行開發的硬體裝置,才需要自行撰寫相關的驅動
●作業系統或中界軟體
作業系統在嵌入式系統中可有可無,部份無作業系統的平台
體(MiddleWare)來與底層的硬體設置做溝通,
體所撰寫的程式函式庫(API),上層的應用程式可以直
制底層的記憶體、週邊裝置與通訊裝置,這樣做法因為少了
以相當的精簡,所需的資源也相對的較低。另一種方式則是
做為軟體與硬體中間的管理者,作業系統通常包硬體相關的
協定、記憶體管理、使用者界面(GUI)等。採用嵌入式
源消耗上較吃重,但卻能擁有許多的優點如:能有效率的自
源,提供函許多的驅動程式與開發工具等。
●應用程式
嵌入式系統應用程式軟體與一般的軟體並不盡相同,由於嵌
針對特定的應用領域,並運行於一固定的硬體平台,因此部
與硬體平台或作業系統有所關連,可能是必須控制到底層的
需要作業系統提供一些特別的支援。所以開發嵌入式應用程
靠性、穩定性與安全性外,還要盡可能的對程式進行最佳化
與提高執行時的效率,這些種種小細節都可能會影響產品硬
如若能將程式碼的空間減少,執行效率提高,那硬體相對的
憶體裝置,CPU的運算能力也能改採用較低的,當產品的
下的成本花費就相當可觀。
而最近的改變了上述早期對嵌入式系統的定義,在一些較高
產品中(有 OS的,一些多媒體相關的devices),將會有機會
體開發框架。但一些小型的嵌入式系統(沒有 OS的)還是會維持傳統的架構。
五:Embedded System的開發流程
由於嵌入式系統產品所屬平台,也就是目標平台(Targ
地端(Host)開發環境所屬的平台不同,因此嵌入式系
傳統的程式開發方式中,由於開發與執行都屬同一平台環境
則是需要在 PC上寫出能在另一個平台上執行的程式,目標平台與本地
關係就如下圖所示:
因此在開發前必須先了解目標平台所屬的環境與需求,接著
套開發環境,其中可能包含了模擬器、各類不同的模組、使
劃等,接著在利用這些工具建置目標平台上程式,並在將程
或其它傳輸介面,將程式傳送至目標版上執行並進行驗證,
統的開發流程:
本圖文內容為
Jarey版權所有,禁止任意轉載與拷貝動作,如有需要
這些步驟完全不同於傳統程式開發方式,也因為這樣讓嵌入
具有一定的門檻。有別於傳統軟體工程師或硬體工程式只需
的相關技術,嵌入式系統的開發人員必須同時具備軟體、硬
的觀念,將其整合成一套具有特定功能的系統。然而就目前
然是非常的缺乏,產品開發上也依然存在的許多的瓶頸,所
非常具有前景與挑戰的一項技術。
關鍵技術:
嵌入式系統是一個技術密集、資金密集的系統,需整合計算
子技術與各式的軟體做整合,因此入式系統的開發競爭相當
整合的各類關鍵技術:
●核心空間:
嵌入式系統一般都應用於小型電子裝置,因此系統可利用的
(如記憶體空間、CPU運動速度),所以的內核必須相當
入式系統的核心都只有數十 k有的內核甚至可以達到 10k以下。
●功能導向:
嵌入式系統通常都是為一個單一功能,特殊應用所設計的,
必須減化不必要的部份,加強需求部份的執行效能,針對單
最佳化的運作效能。
●效能最佳化:
嵌入式系統通常對時間的要求相當的嚴格,具有一定即時性
升執行速度、系統效能與可靠性,一般嵌入式系統存儲與執
存元件,而非一般的機械式儲存裝置(如硬碟)。雖然現在
升,但嵌入式系統基於運算速度、儲存空間與開發成本上的
要求也相對比較嚴謹,像是可靠度、穩定性、執行效率、執
須要注意的部份。
●系統精簡化:
嵌入式系統中的軟體開發無論是系統軟體或應用軟體,都應
過於複雜的系統容易存在著安全性上的問題,且事後維護也
方面也可能會提高系統的開發成本。
●開發環境:
由於嵌入式系本身系統資源有限,因此並不會具有開發能力
過另一台機器進行程式開發,在燒錄於嵌入式設備上進行驗
回到另一台機器重覆進行開發編譯與燒錄的動作,因此嵌入
的開發工具與環境,提供軟體的開發除錯與測試。而一個優
應該能夠提供一個完整的模擬工具,讓嵌入式軟體的開發不
開發的限制,使得嵌入式硬體與軟體可以同時進行開發動作
成前則可以利模擬器進行功能驗證與測試。
六:結論
如同在第一章所舉的衝浪人的例子,我們可以看到在高階的
中,可以說第一波領頭浪己經過去了(IPhone、IP
的產品與全新應用概念),台灣雖然沒有幾家公司有跟上去
大國,第一波是以應用軟體為主),但隨著這一浪的主浪頭
有 2~3波。但浪群中間的間隔總是很短暫的,如何在如此短
理好自己的浪板,調整好自己的置位,做好準備的動作,並
始加速衝刺(太早加速可能會後繼無力,太晚加速可能又會
在考驗著各個企業的應變能力與布局。但可以知道的是誰能
享受居高臨下乘風破浪的那種快感。
本圖文內容為
Jarey版權所有,禁止任意轉載與拷貝動作,如有需要
--Jarey 週報18期