Chip123 科技應用創新平台

標題: 嵌入式職能學習地圖?實作導向式學習? [打印本頁]

作者: tk02376    時間: 2010-6-17 08:11 AM
標題: 嵌入式職能學習地圖?實作導向式學習?
本帖最後由 tk02376 於 2010-6-17 08:12 AM 編輯
6 v2 a( a, K9 Z- k
) u" }7 t& K: ^" Q% q符合業界要求之實務技術與理論基礎兼具的嵌入式人才" B( U3 n8 ]; T8 @8 i

; x+ r# X0 w' o( E7 t5 n, `! C. z8 t! X: D& s


作者: tellme543    時間: 2010-7-11 10:44 AM
最近去艾鍗網站瀏覽看到一個好康訊息跟大家分享~3 T8 x$ `% u6 Z# k5 k" I
上次打電話去問了一下那編課程顧問說: 7/15日之前截止報名,& k$ b  Q" ?3 x; ~" A4 Q, n, E
因為是免費的現在已經有滿多人報名了!
* _7 J6 ~4 `+ A! A8 |. _, m
+ H5 n& k3 }5 V■免費研習營 - JAVA程式開發
; {( w! E, T+ u; }, u* l( [  i
■課程前言
( s: A5 d3 H& F; `& v最近在研究S3C6410平台,移植Android SDK到這個平台上不會有什麼太大的問題,而是porting完了之後,問題才真正開始。如何放我的程式上去跑? JAVA 程式看不懂? 學過C++,但自己寫出來的程式好像跟物件導向沒什麼關係? 那一堆 class到底要怎麼用? package name 到底要寫什麼?如果你有相同問題,那麼你不可錯過這個研習營!! }" }  B, ]. n  ~, q
# Y- [: E- t" s( W- N
■課程簡介
# d  C, K/ i3 p" |8 gAndroid應用程式開發,本身使用的是Java語法,雖然相對於iPhone的ObjectC更具有親合力與普及性。但對於沒有接觸過物件導向程式設計的開發者來說,往往會有抓不到Java程式開發重點的問題。
6 Q3 h/ x4 u# u: a' J; c本課程會從Java的特性與物件導向觀念切入並建立起Design Patterns的觀念,同時以專案範例加強學員實作的能力。
0 v4 n2 ]. \% R9 D5 C) ^
2 ^4 z3 z1 F7 P& Q■學習目標
3 `( u3 W" H6 N) ^; V1.了解Java語法特性與開發環境* B( j1 C# D" e2 y: ]: e) Q
2.物件導向程式設計概念
1 n' @7 f9 |6 Z  ^3.為進入Android
; \2 g" o: d$ _9 A
; F% J6 }0 |! P/ k1 U  a■詳細活動內容:請上艾鍗學院官網
( n3 z$ q: f8 ]1 X8 O2 U& a: f3 m: S! D9 H3 o2 |/ {8 n* t
  Z8 }7 s- L+ J0 g( \! x
7/15(四)活動報名截止!【 限額12名】參予人數踴躍,請立即下載報名表報名卡位!' }9 f+ _/ b7 t$ V( K1 i8 W% O

: _, B$ W: Z" ]一、研習時間:99 年 7 月 17 日至 99 年 8 月 7日 (每週六晚上六點至九點半)
8 ~7 q( |- j" n% r9 U5 M, t- p二、研習主題:JAVA 程式開發 (共14小時)。
5 C. q* f/ ?8 e三、欲招集人數:12 人。
4 C; _! n* c8 m
5 [2 \9 L. s" o9 H4 V! G( k■ 洽詢專線: 02-23167736 │ 傳真專線: 02-23167735 │E-mail:service@ittraining.com.tw
作者: tellme543    時間: 2010-7-28 01:19 AM
科技評論–嵌入式系統發展概觀 2010/07/26$ d2 K+ O& [8 J& h6 K* a
昨天 19:04- P! x* f4 L* q! H
一:前言
7 I$ f+ h9 t: |
6 |9 F: P$ Y5 V進入科技業就得要有每天接收爆炸般的資訊,每天都會有新的產品推發表、新的技術推出、新的創意被實現...。這同時是科技業迷人與另人頭大的特點。5 ~& m- O  A" n( H1 t
雖然說每天都在變都有新東西推出,但實際上科技業的根本的概念與趨勢並不是每天都在update,依我的經驗大約三年才會有一波大革命與重點的巨變。在者) e& m! i6 |/ O3 ~/ S
這些巨大的改變中,只有很少是全新改變,大多都是一個科技領域的輪動。也就是一些早前被人提出來或曾經推動過的技術,在當時的時空條件下可能是 Fail
! E  J) o9 ?3 S  c' c/ N了該領域就突然冷凍掉,但過了幾年剛好在天時地利人合下就爆發了,同時也造成了產業界大家一起都動起來了。所以把時間拉長來看,重點是在於能夠抓住趨  Z% U% N6 l! P+ T
勢的大方向,而不是每天在苦苦追趕那些小改變。而趨勢的大方向往往又能從過往歷史經驗中看出一些端倪。這也就是科技業那麼有趣的地方,你永遠都不會想
+ x. z$ e. j1 N: c& h4 _- E- o到一些以前被冰凍冷門的領域或產品,突然可能過個幾年就爆紅了,但紅了之後挑戰者也會跟的很快,沒跟上腳步或事先準備好的人,很容易就會三年一波的大
5 x) D2 p) |3 F( P% I4 J轉變中被這個生態給暫時冷凍了(你學的領域或專長突然變冷門了),然後前一波被冷凍的人又突然變的很熱門(但這時你的年記也跟著增長了),所以只要一
% I2 G. g7 i4 b" b6 b: y不小心被冷凍過一次,解凍後就不在新鮮了,更別說被冷凍過 2次 or3次的人有多難生存(這就是 RD的宿命)。
作者: tellme543    時間: 2010-7-28 01:21 AM
再舉個簡單的例子讓大家更深入了解嵌入式系統產業的狀況。試想在一個衝
) _  t- c$ M; J) _: K- d4 K9 c浪聖地,有一群人(系統廠)各自拿著不同的衝浪板(Devices H/W)在海上等著大
+ W  t1 H' _- x, x5 `5 j& z9 J3 T浪的來襲。通常每一波的大浪的中間會間隔著許多的小浪頭(每日的科技新聞與! }6 o# G: W8 ?2 N2 ~3 g& H
資訊潮)。衝浪者(系統廠)必須在浪頭從遠方傳來時,當下快速的判斷是大浪還; F% U4 ?  k' Z# r1 ^+ ~
是小浪(是有賺頭還是賠錢貨)?這波浪要不要衝下去(領導需要有獨到的眼光,
" g5 l! [! c# z2 B$ {( z/ L敏捷的反應速度,所以大企業的反應速度不見得比較快)。但有時你會判斷失誤
' ~5 u6 g6 x, h9 Z3 r  ?0 ](不小心壓錯寶);遠遠看來只是一波沒搞頭的小浪頭,誰知等到快靠近時浪頭突
1 @$ T1 g/ C# m% K然湧起變成一道完美的浪波(某項革命性 or殺手級的產品誕生),但這時你己來$ j. ~. Z& U4 }' Z& E9 _( i  d7 x
不及反應了,只能眼爭爭的看著身旁提早準備好動作的同伴呼嘯而過。但跟上浪! j8 Z2 g. E6 {$ w# n; x9 N
頭的也不一定就能一路沖回岸上,有的技巧比較不穩(小企業雖然反應快速,但
) c4 Q+ a" [  H$ }, p. Q規模與穩定性與經驗也較不足)的很可能在過程中站不穩就翻船了。在者往往大. c* T6 n7 j( x1 w& T- ^
浪頭並不會是獨行而來,一般會伴隨著 2波的大浪以一群方式(趨勢是由數個重( U8 q# t2 c9 A0 n, g7 F
大的革命性產品 or殺手級庄用所集體造成的)的到來,所以雖然無法跟上第一" N. b  y( Q" u+ n! \( U/ e4 l
波(領頭的殺手級產品),但隨後馬上就還會有 2波的機會(產業趨勢慢慢成型),4 ]% X0 B2 }3 a. q; p2 ~
有的體力超強的(資本雄厚的大企業)好手,雖然只跟到第二波,但靠著自身的
9 e6 K' g8 n' n體能用力的往前滑,還是有機會可以出頭趕上第一波的同伴,但如果這時的你的
/ {: [6 \8 o, k8 j+ W  ~) R反應還是慢半拍,無法跟上後續的機會,那就只能靠著你身邊所有的同伴一起隨" s6 H9 g" Y2 F! l
著那一群大浪依續的回岸上,海上只獨留你在那繼續等下一群大浪的機會。
作者: tellme543    時間: 2010-7-28 01:22 AM
以跟對浪頭是很重要的,有時你跟了二,二個小浪只推進了二百公尺,但後面的同
* G* V' L* q6 I8 I8 i9 D伴只要跟上一個對的大浪,雖然出發時間比你晚,但可能一口氣就能超越你數百* m* |; T$ ]9 n+ B; c9 J) [
公尺,甚至直接就回岸上去和你說再見了。
: l2 _5 s9 _( r. T5 w( }- s- ~
  f$ g1 i( {/ U1 h( `/ ^: Y* q( b5 Q在本週的週報中,將會針對 Embedded做一系列的整理與報導。將會從4 ~$ k# R) K" n$ B) R. N: o
Embedded System發展歷史介紹到未來的趨勢發展,讓大家能夠對這個產業有更/ k. t& R9 G7 c, u
深入的了解。
' ~1 E! C; I. u3 j, v& U
# b: R  ?& x# n, Y- x' ]$ w: K( Z6 v: G, g+ ~4 p# Q
二:何謂Embedded System
" b5 t2 C, V. q% u5 v' I0 W若有人告訴你,現在我們都是生活在一個充滿嵌入式系統的年代,每天都有% s. w" C8 h3 ^- [# ~- A
大量的嵌入式系統 24小時不停的在為我們服務著,不知你是否會感到吃驚呢?
# [0 O5 B% B( A2 t/ W% L- L但事實就是如此,在我們週遭身邊如:手機、手錶、冰箱、電視、搖控器、遊戲
2 c; p/ ^9 p3 x機..等等許多生活上的用品都己見的到嵌入式的身影,任何人身上都可能擁有/ s7 Q! m1 O7 E& K& d; ~
許多各式各樣的嵌入式裝置,小至 Mp3隨身聽、手錶與手機等手持式數位裝置,
0 t; \( F; }5 s0 P  M# q/ r大至車用電腦、資訊家電、航空系統,這些嵌入式系統裝置在數量上其實己遠遠
" V' z7 s* d9 A, U超過傳統電腦,並且己與我們的日常生活密不可分。嵌入式系統可說是繼個人電
- m* a4 q: l* x/ m3 o: `. _1 R+ d腦與網路的發明後,資訊產業裡一項相當重要的發明。其中最重要的因素為嵌入5 c( l0 \2 n9 O6 i- W1 A  ^
式系統無論在體積、功能、可靠性、功率消耗、內核大小與成本都具有相當的優, M) C5 @" A1 l! l' M) i
勢,相當適合用來開發資訊家電或是小型的手持式裝置,而這些產品所提供服務' D: H. G4 q1 @2 y
通常都與我們的日生活有關,因此嵌入式裝置可以很快的進入我們的生活之中。
! W4 O7 Z' W6 h4 p( g只要在生活上留心注意一下,其實並不難發現嵌入式系統的蹤跡,如圖 1.1都是, Y! Q2 }* S3 L. X% F/ }$ t
一些我們常見的嵌入式產品。
; [( g& X0 U* P; Y9 m[attach]10375[/attach]
作者: tellme543    時間: 2010-7-28 01:24 AM
嵌入式系統的特色# Z* B7 i3 N8 L/ R: C7 j
對於以往只能在固定地點,固定的方式取得資訊的方式,己經不足以滿足現代人的需求,取而代之的是將資訊系統容入我們的日常生活當中,讓我們能不受時間與地點的限制,隨時隨地都能取得我們想要的資訊與服務。而為了擺脫傳統電腦體積過大,價格過高,且不易隨身攜帶..等等問題,嵌入式系統這個名詞8 i; k( u5 `, g4 N1 U
也就慢慢的浮上台面。而所謂的嵌入式系統,是指將電腦技術、半導體技術與電子技術等,拿來與各種功能需求做具體應用、相互結合後的產物,是一門綜合技8 N6 f5 Z8 i2 C# J! S- s
術的科學。「嵌入式系統」採用的是微處理器,去實現單一或特定功能的需求,其中作業系統可有可無,所以往往不需要大量的週邊設備,因而在體積與功率上" c9 o, l4 x' n: e: n
有其自身的優勢。另外為了提高其執行速度與系統可靠性,嵌入式系統中的軟體一般都燒錄在記憶體晶片中,而非存貯於磁碟中。若與個人 PC相比,嵌入式系; ^) N1 M% @2 z+ r* }  i1 S4 e  T
統就是為單一特定功能與需求而量身定做的產品,而個人 PC則是一個可以滿足眾多功能需求的一個肥胖的綜合體。
8 g- o# ~2 ]! z$ U- W目前嵌入式系統設備大至可分為以下幾類:% l" d! u6 S  p) }+ N! R) n3 n4 h
2 ]4 i# ?- A/ _7 P* e  \9 W
●網路設備5 w& j  A/ n3 h6 l( `% {/ O' g
網路設備包函路由器、交換器、網頁伺服器、無線 AP..等等各種基於網路應用的設備,由於近年來無線網路的掘起,未來嵌入式系統與網路結合應該是0 h3 b( g  s. N! U/ H  p2 t
個必然的趨勢。, M; y. n) N( P

) F- H& o9 K% y# v$ C●行動計算設備
! w3 e5 H; l6 M: ]  }7 {) H行動計算設備包函:手機、PDA、筆記型電腦..等各種可移動的資訊設備。而像智慧型手機、PDA,由於可提供相當多樣性的服務供使用者做選擇,在加上
; q% V/ d; m# T) D體積小、攜帶方便,價格越來越便宜,在近幾年發展相當迅速。人們可以利用此類設備隨時隨地的接收各類所需的資訊。
作者: tellme543    時間: 2010-7-28 01:24 AM
●資訊家電
; x2 \2 x4 @% y& O2 L由於資訊產品慢慢的融入我們的生活之中,現今許多家電用品己向數位化發9 c4 W. M* d0 ?4 W- ~
展,在未來電視、冰箱、冷氣、電話、微波爐等我們日常生活中常見的用品,都
4 O" W% `' o( {) E! B2 z2 j6 |將能利用嵌入式系統與網路路結合,如此一來便可以利用手機或網路遠端控制或
% j( `( R! ]! V監視家中的電器用品。
- g/ T# f" D5 O$ L- o, D  O% G3 d
●工業控制、模擬+ t. V9 \  x+ i  ?+ }
由於工業控制系統對隱定性與可靠度都相當要求,在加上工業上一些功能需- t: |, E' o* a, q/ T" f$ C
求較為等別,因此嵌入式系統在工業控制領域之中,早己受到相當廣泛的應用,
0 a2 w* I- @9 Z, L; M例如工業機械手臂、工廠自動化控制系統等都皆為嵌入式系統提供了相當大的市
) w1 J! l4 X  o! P場。
+ t) m$ y  `  w$ O! D- X
* K% _. C+ e/ U0 Y/ s# F6 z8 L●家庭娛樂產品% v9 W& z) f. Y/ _
近年來多有許多娛樂產品都己可以看到嵌入式系統的身影,例如當紅的電子
% D" `! }" S1 ^0 p寵物、電子機器人甚至是樂高玩具,都是藉由嵌入式系統讓原本沒有生命的玩
. c# s% z& l6 H$ \' d% m, }9 n具,可以擁有獨特的生命力,並與人類能有所互動,另一方面電子遊戲機像是/ p) T% Q7 y/ U8 {
Wii、Xbox或 Ps3也同樣都是屬於嵌入式產品。
作者: tellme543    時間: 2010-7-28 01:24 AM
mbedded System發展史
/ m( x4 J. B# f5 r嵌入式系統存在其實並非這幾年的事,事實上這個概念存在己久,從七零年
& j1 h/ W: ^& M代單晶片的出現到現在嵌入式系統被廣泛的應用,算一算應該也有三十幾年的時
# _& s* e5 n# r; H& r( J1 S間了,嵌入式系統的架構也隨著科技的發展不進的演進,
1 F9 ~4 _  E" a* w+ R
" N4 y; T: L; r. C●單晶片時代:4 t0 O& H' \) x- p3 u6 E5 J
嵌入系統的概念隨著電子工業的發展,原本是獨立分開的微處理器、儲存裝$ T% c& X% p; y4 d. R$ o
置(RAM、ROM)與 I/O界面等元件,都己有能力能全部都集合在一片 VLSI積體電
+ o5 R' u# f! b8 Y9 H, l: _路之中,因此就開始有 IC製造商開始開發這類的整合型晶片,並且一推出很快8 }4 _* b$ T- a
的就廣泛的應用在嵌入式的領域之中。很快的針對嵌入式系統的 CPU也相繼的問
6 F& }+ _7 G1 a: I: s6 J' P世,此類 CPU強調的是高度的可靠性與低功率消耗,所以相當附合當時嵌入式系; P& s/ \* U! o" K# L2 T
統的需求,此時嵌入式系統的潛力漸漸的受到人們的重視,開始有大量的程式設
5 X$ A! g; i/ w2 r' B! F; i1 B計師投入設計簡單的嵌入入式系開發軟體與作業系統,除了可以提升軟體開發的
% |: t! G# V$ Y. P& a. I( M效率外,也同時大幅降低了產品開發週期,因此有許多產品也都轉向利用嵌入式
; x8 e* I& U* U. D系統架構來開發
作者: tellme543    時間: 2010-7-28 01:25 AM
●即時作業系統產生:
8 I; p5 g/ a8 K8 F( J8 s隨著時代發展,數位通訊與資訊家電等許多新的概念被提出來,而這些概念+ u9 M; }5 W# N9 k/ Y
都需要利用到嵌入式系統,因此在這個時期嵌入式系統發展相當的迅速,硬體能
) m& e, U% d3 ?* s& I2 T力相當的也提高了不少,也有些產品如 DSP數位信號處理器,開始向高速度、高8 L* f- q. E5 i9 B* @: l% q8 v
穩定性、高精確度等方面發展。同時在硬體與應用層面的需求不斷的提高的情況2 p# A% j% }% K( A' Z
下,嵌入式系統軟體的架構也必須跟著提升以提供更完整的服務,漸漸的即時作# k" A, V5 V* r& Q
業系統(RTOS)開始被大量被導入於嵌入式系統領域之中。而所謂的即時作業系. {  A$ P- \+ d
統是指當系統收到命令指令時必須立即的產生回應,因此作業系統的即回應能力
+ E1 ~" `. S! K& R0 b6 j+ ^在此得到相當大的改善,在加上作業系統所支援的微處理器(CPU)種類也相當的5 x, M" T& f5 a8 `; i! V( m
完整,很快的 RTOS開始成為嵌入式系統的主流。在此時針對嵌入式系統應用軟
5 v7 T6 q6 R2 E% O  E: \, H, K1 e% g體也有顯著的發展,例如:檔案系統、網路、使用者介界面(GUI)與資源管理等
' b, C1 ?& }. @0 m- Z" O/ h功能,並且提供了大量的應用函式庫(API),讓嵌入式軟體開發方面可以更加的
7 }5 E, J  D/ K* y& Q& D4 r8 [容易有效率。
3 X) w! I) @7 W5 f( j( S, E
1 D* ]* y2 n2 Q5 o: Y. e●網際網路時代。4 E1 x9 K; F+ v% C. t$ c4 l9 L9 \
網際網路無疑的是一個資訊界中相當重要的發明,直至目前,網路際網路還( _+ j$ w" y. J
是一個相當熱門的產業,在未來嵌入式系統必然也會應用到各種網路環境中,因- g7 V2 _* H- ?5 m- U5 p
此將網路功能整合進嵌入式系統中便成為一項相當重要的議題。目前大多數的嵌
! D1 u; k( c/ Z& m: [, Y% W& }入式系統都還處於 Internet之外,但隨著資訊家電與嵌入式技術不斷的發展,7 z0 T8 R$ v2 S* }0 y3 F2 Y
嵌入式設備與 Interner結合是必然的做法,當然這對嵌入式系統廠而言也是一& E1 Y0 K) j: ^; y) B
項新的挑戰。
作者: tellme543    時間: 2010-7-28 01:25 AM
●智慧型作業系統時期
* L0 [3 y% L. u6 g- ~4 u5 R以往嵌入式的作業系統與 PC所使用的作業系統是完全不同的領域,在 PC* t. w6 w0 h3 n2 p
上,你可以安裝你喜愛的應用程式,可以播放你愛聽的音樂 or電影,或是利用0 S- Y! e. [7 w# R4 J4 p
browser上網吸取網路資訊,你可以在 PC OS上做任何你想要做的事情,只要有8 A# q/ a# y- {; A
對應的軟體安裝上去即可。但在早期的嵌入式系統是相對封閉與功能專用化的系: H7 g3 `) f; l# {; I
統,在上面一般是無法自行去安裝各種不同的應用程式,就算可以安裝,你也要
& \" L  k* g- y5 X找到有人幫你寫該平台上的軟體。因為嵌入式平台的整合並沒有一套準備的軟體
1 K5 a! Z, c7 K5 f  m框架,雖然說大家可能都是用 ARM的 CPU,都是跑著 Linux的作業系統,但上層/ r% t4 ^7 l* h4 [% e: |  U7 t
軟體的框架卻是每個系統廠商自己去開發組合的。每個系統廠都有自己的軟體框
* |" G9 [/ o% y架,而且互相是不相容的,也不會有提供介面讓你自行去開發與安裝應用程式,9 R' m6 ~  `- o2 D/ A3 Y
因為軟體框架是各個不同公司的 know-how,大家互相都是競爭的關係更不可能. k4 F" o. ?; \1 B! z) i" g
互相開放平台給對手使用。
作者: tellme543    時間: 2010-7-28 01:26 AM
但這幾年拜 IPhone和 Android所賜,現在的狀況己有很大的不同。IPhone% u0 p# C6 A/ H! N
提供的雖然是封閉的軟體框架,只能在 Apple的產品上使用,不過 Iphone的創4 a) N2 n/ v2 i; A
新與很優秀的的使用者體驗經驗,雖然他只開發了 Apple自己的軟體框架,但卻
6 ~9 G! a$ N  W/ O- k3 M# S+ ]6 @己經吸引了無敵的開發者來為他開發專屬的軟體,同時也吸引了大量的用戶來學- c( ^7 z  l" E0 f
習使用這種全新的使用體驗。你,可以自己決定在你的手機上安裝你所需要的軟9 @$ ]/ K* ?" k' ^( V4 s
體,而且還有一堆人來幫你寫你要的應用程式,這是以往的嵌入式系統中所沒有3 Q' b& o3 O# Y% E5 E8 e7 K
的創舉。而 Android呢,它可是一個完全開放的軟體框架平台,所以不只是能7 Q; f& x6 r+ A, U2 g
在手機上有所發揮,在其他領域的嵌入式系統中也都有機會看到它的身影,例如( H. B! J) r! W% j1 v! Q/ C' a/ K
電視(Google TV),冰箱,吸塵器、視訊電話,門禁系統,超商 POST系統...7 ^8 |; R/ w# [# M* Y% `+ ~% }
都有可能被植入 Android平台。一但植入了 Android平台後,代表的就一個全
- A/ U( d1 J3 m0 y8 ^新的標準軟體框架產生一統江湖了,軟體開發者可以獨立於 H/W平台之外去開發% n. p; j2 h3 F4 r% j4 q" j; q& I
應用程式,並且可以安裝在各家不同系統廠的 H/W上執行,也就是系統廠慣用的% t( X" @8 F6 K0 `( M
用H/W綁軟體(Firmware)去販賣的模式很快就會被打破,軟體和硬體變成可以分
' n( k9 v9 t, d& e+ i開買,此時做 H/W就變的不在值錢,用戶也不會因為被綁住就算該系統廠推出的+ `; K# r' \# E: D. a
Firmware寫的很差很爛,還是只能upgrade 更新同一家系統廠所出的 Firmware. F2 c3 O) {/ C# ?& |
or軟體。嵌入式系統軟體的價質不在會是與 H/W的價質綁在一起。軟體的價質
; ]) \/ n- [2 {將會因差異化的改變而日漸升高,而 H/W的價質會漸漸的變的每家都差不多(因
$ a1 Q( Q8 Y$ _% N* wH/W成本的差異化不大)。
作者: tellme543    時間: 2010-7-28 01:26 AM
mbedded System的系統結構
1 w: {1 U6 P2 ~: ^6 B2 z* m一般而言,整個嵌入式系統的體系架構可以分成四個部分︰硬體平台、驅動+ x6 F; q) R0 d
程式、嵌入式作業系統和嵌入式應用軟體,如下圖所示。而目前的 Android平台
9 |* X7 x4 I( o  T- D) F" M最主要的差別就在於 Linux OS層之上,另外又提供了一層標準的 SDK開發框架
2 T" K( q! O. o$ f) P; b(Middleware),因此你可以使用 Android的作業系統放在不同的硬體平台上,但
9 @# W7 ]2 u$ B' A# N3 Q0 Y軟體還是可以在 Middleware層很順利的執行。而 IPhone的差別在於它是直接提
2 Y5 A8 r* ~1 [  V1 s( t2 p供 iOS的 Applications層的標準開發框架,因為它是個封閉的 H/W平台,軟體
: z. o+ z, s4 H& n  n+ Q1 W只能跑在 Apple的機器上,所以自然不用在 iOS在架一層middleware。[attach]10376[/attach][attach]10376[/attach][attach]10376[/attach]
作者: tellme543    時間: 2010-7-28 02:20 AM
●嵌入式硬體平台:
1 X4 d3 b6 j2 Y/ f( l9 z* `# v6 M9 F嵌入系統硬體平台大至上包含了微處理器(CPU)、儲存裝置(RAM、ROM)、通
# M: H0 j! F6 x訊裝置(RS232、USB、Bluetooth)與週邊裝置(keyboard、mouse)四大部份。微處
& m% T6 r" f% u: _/ ~. G+ _理器可說是嵌入式系統的核心,嵌入式系統所使用的微處理器與一般處理器最大
4 R7 p5 l3 M; P不同處在於,嵌入式 CPU通常都是運作在為特殊需求所專門設計的系統之中,在: S$ h0 E, P6 D
設計時必須能具備小型化還要同時有很高的可靠性與穩定性。目前有相當多的# }! G' i( j- l* ?4 o
IC製造商都有生產嵌入式系統處理器,而有些軟體公司也開始採用自己行設計
  Q: r% r) y1 f# |的處理器,因此嵌入式系統的處理器可以是五花八門,並沒有一定的標準,目前
) ^$ p9 V; ]9 a市面上比較流行的處理器構架大至上有:ARM、MIPS、PowerPC。嵌入式硬體平台
1 X$ u$ U; f% I& B. X1 B" b中除了微處理器外,另一個重要的元件就是儲存裝置,主要是應用於資料的儲- n5 g, d8 t! g( ]) }$ b' m7 d
存,同樣的儲存裝置的種類也相當的多,比較常見的有 RAM、SRAM、DRAM、ROM
5 r  S0 ?6 }9 u  ?與 FLASH,其中 FLASH因存取速度快、可.寫次數量高、儲存容量大與價格便宜' Z$ P, E) d( z' H$ {6 P( H9 P6 \
等多項價點,在嵌入式領域中被大量的採用。通訊裝置可以說是嵌入式系統對外
- ?3 o! I' E3 _3 [! u溝通的窗口,目前嵌入式系統可採用的通訊裝置己相當的廣泛,包含 RS232、( X. \& G2 y% H2 P0 M0 {
USB、I2C、SPI、IrDA、Ethernet、Bluetooth等,機乎一般常見的通訊介面都$ i+ x1 C% k5 }1 V5 [
可以採用於嵌入式系統上。對於部份比較特殊的嵌入式設備可能需要與其他的週1 ?/ d) Q& t  d
邊裝置溝通,此時就可以透過通訊裝置對外部週邊裝置進行存取,例如液晶顯示
0 T; n+ A# N: _! y6 X器(LCD)、觸控式面版、鍵盤(key board)、滑鼠(Mouse)等。
作者: tellme543    時間: 2010-7-28 02:21 AM
●驅動程式:* V# a* B" h0 F+ ]6 `8 G1 ~
嵌入式系統的硬體平台與一般的計算機平台不同,通常硬體平台會隨著產品% [" ^0 V1 u3 Q* ~1 t  y
的需求不同而有所差異,像是嵌入式處理器的種類就己多的另人數不清,因此嵌
. t2 h' r  U+ t; V9 J0 m- P入式硬體裝置通常都必須依照不同的硬體平台,提供相對應的趨動程式。目前己' O9 f9 O8 _* g$ c
有許多硬體開發廠針對不同的硬體平台提供許多的驅動程式可供選擇,而嵌入式! K1 i: O! \9 d8 r/ ~4 T
作業系統通常也對各種主流的硬體設備提供驅動程式支援,所以除非使用到一些
* b( [) C7 p5 T& f2 T% s+ z較特殊或自行開發的硬體裝置,才需要自行撰寫相關的驅動程式。
! l, ]& ?' w6 O% N& s% ~# S" D* A& a) J% U; V
●作業系統或中界軟體8 N3 c5 z) l, b+ m& I$ d
作業系統在嵌入式系統中可有可無,部份無作業系統的平台則是採用中界軟
0 N& `% [! k3 x體(MiddleWare)來與底層的硬體設置做溝通,中界軟體可能是一套針對該平台硬& ?7 d1 ]9 i6 P. r) Q! J5 P* t! K
體所撰寫的程式函式庫(API),上層的應用程式可以直接利用此函式庫來存取控
2 o% I8 }) N# c9 q$ w% K制底層的記憶體、週邊裝置與通訊裝置,這樣做法因為少了作業系統所以系統可
% q  z" m5 x) j. @- P5 n: R2 ^以相當的精簡,所需的資源也相對的較低。另一種方式則是採用嵌入式作業系統
4 L  p, N9 h' {7 N! V/ X' y做為軟體與硬體中間的管理者,作業系統通常包硬體相關的底層驅動程式、通訊
# E( I7 d  a$ K/ D& @9 g! j9 o協定、記憶體管理、使用者界面(GUI)等。採用嵌入式作業系統雖然在系統的資$ G! o0 h9 u* b: I) x  P
源消耗上較吃重,但卻能擁有許多的優點如:能有效率的自動管理複雜的系統資9 b' z7 s6 L! n, `
源,提供函許多的驅動程式與開發工具等。
作者: tellme543    時間: 2010-7-28 02:29 AM
●應用程式
% N0 f8 E# v3 q! n  h- J( X嵌入式系統應用程式軟體與一般的軟體並不盡相同,由於嵌入式系統主要是- B' X. \: l9 J, B* r* u& P
針對特定的應用領域,並運行於一固定的硬體平台,因此部份嵌入式應用軟體會
; D( m; J- ]$ u3 Q與硬體平台或作業系統有所關連,可能是必須控制到底層的硬體部份,有可能是
0 m& E9 d) n9 u. ~  ~6 C0 z5 ?需要作業系統提供一些特別的支援。所以開發嵌入式應用程式除了要具備高度可7 Y% U+ t- ^/ k$ ^( h7 \0 A/ c- d
靠性、穩定性與安全性外,還要盡可能的對程式進行最佳化,減少空間的消耗,
3 F% f' P8 l- z& E, V% z5 e與提高執行時的效率,這些種種小細節都可能會影響產品硬體開發時的成本,例
8 `0 I8 f( V4 U2 k& t7 }如若能將程式碼的空間減少,執行效率提高,那硬體相對的就可以採用較小的記
8 H- r5 K" W7 N憶體裝置,CPU的運算能力也能改採用較低的,當產品的製造量很大時,所能省
1 c1 P% j, O# M7 z: A: D8 l下的成本花費就相當可觀。8 I& \$ b- I# n

) K9 Y* C9 W7 B& ^9 v# }# h7 \而最近的改變了上述早期對嵌入式系統的定義,在一些較高階的嵌入式系統0 g. }. E% E. E. ?% l
產品中(有 OS的,一些多媒體相關的devices),將會有機會擁有的是統一的軟
7 ?& x6 ~3 R! G/ {7 |體開發框架。但一些小型的嵌入式系統(沒有 OS的)還是會維持傳統的架構。, U% c/ W  f/ O! c

; B0 i# f- E$ r# {7 h4 a7 I" J/ Ambedded System的開發流程+ W& R* b1 c" ^
由於嵌入式系統產品所屬平台,也就是目標平台(Target)可能與與我們的本! r3 p  E4 ]. E( [8 p
地端(Host)開發環境所屬的平台不同,因此嵌入式系統的開發方式較為特別。在
1 Q* n" ]2 M- K& ]' U1 O傳統的程式開發方式中,由於開發與執行都屬同一平台環境,但在嵌入式系統中
& c, R# w0 }5 K6 g" @則是需要在 PC上寫出能在另一個平台上執行的程式,目標平台與本地端平台的
$ g7 b! d& Y: P# w5 b關係就如下圖所示:[attach]10377[/attach]
作者: tellme543    時間: 2010-7-28 02:31 AM
因此在開發前必須先了解目標平台所屬的環境與需求,接著在本地端建置一: g* D( N; `$ F/ c1 t2 P; m
套開發環境,其中可能包含了模擬器、各類不同的模組、使用者介面、軟硬體規
+ g$ t0 T9 P3 R8 v) ~: S  g劃等,接著在利用這些工具建置目標平台上程式,並在將程式利用網路、RS232' a/ H% _& g: D* _1 ]
或其它傳輸介面,將程式傳送至目標版上執行並進行驗證,下圖為一般嵌入式系- K0 f% t/ f0 j9 B
統的開發流程:! _9 m3 ?( ^, d( _* b( |* T

9 R& `& E# \/ C1 |2 h! ^$ I' E$ M; j% M  `% F
3 p1 N7 n. n3 h, x8 I4 O
本圖文內容為
! ^& C7 v. B9 NJarey版權所有,禁止任意轉載與拷貝動作,如有需要請事先知會作者。) p1 Z/ ^1 g1 q2 J+ Q! Q
[attach]10378[/attach]
作者: tellme543    時間: 2010-7-28 02:31 AM
這些步驟完全不同於傳統程式開發方式,也因為這樣讓嵌入式系程式開發上' j; n( A8 y6 [* C
具有一定的門檻。有別於傳統軟體工程師或硬體工程式只需了解軟體或硬體方面
* x7 p: T9 ]) w7 U的相關技術,嵌入式系統的開發人員必須同時具備軟體、硬體知識以及系統整合
) |8 @2 O! R  e的觀念,將其整合成一套具有特定功能的系統。然而就目前而言,這類的人材依' e/ a- R. X, l
然是非常的缺乏,產品開發上也依然存在的許多的瓶頸,所以嵌入式系統可說是
+ V2 }% i  _% x8 G6 F7 z非常具有前景與挑戰的一項技術。
; k* n# b- }! [" ?2 h" ~$ o! ^
3 Q4 X6 L' |; _  W
1 ~& }5 L, Y! \4 \% o7 L5 k關鍵技術:3 r. c( o1 v; L. G
嵌入式系統是一個技術密集、資金密集的系統,需整合計算機、半導體、電
0 O, Y/ I5 R  W子技術與各式的軟體做整合,因此入式系統的開發競爭相當的激烈,以下為所需
9 ^$ R# R& v9 c/ b" c5 Y% u/ R( ]整合的各類關鍵技術:
; |8 u; x( T# n) R
+ I* f3 d4 d, {& V9 A●核心空間:7 ?1 \( U# u( U3 D
嵌入式系統一般都應用於小型電子裝置,因此系統可利用的資源相當有限
; u  B' ~/ s7 J, I1 q& b(如記憶體空間、CPU運動速度),所以的內核必須相當的小,且有效率,通常嵌
% _) E" x6 v) q4 Q入式系統的核心都只有數十 k有的內核甚至可以達到 10k以下。
, m" y% N, U3 i* k& j4 p) x2 E; v& y1 f1 L
●功能導向:
5 V+ X! A/ G% p6 y& d嵌入式系統通常都是為一個單一功能,特殊應用所設計的,在軟硬體設計時
3 `4 K# J" V  y" C% O. ^必須減化不必要的部份,加強需求部份的執行效能,針對單一應用層面去設計出4 J% E3 u, `) p7 H- L. F
最佳化的運作效能。
作者: tellme543    時間: 2010-7-28 02:31 AM
●效能最佳化:- I6 x+ w% {! ~. B- t/ m( k
嵌入式系統通常對時間的要求相當的嚴格,具有一定即時性的保障,為了提
9 |  G, p, I- y' v1 ~升執行速度、系統效能與可靠性,一般嵌入式系統存儲與執行都是採用電子式儲
4 d7 x5 S3 [4 Y9 ^; T存元件,而非一般的機械式儲存裝置(如硬碟)。雖然現在硬體技術不斷的在提
* w6 W  i6 L: F! Z- z升,但嵌入式系統基於運算速度、儲存空間與開發成本上的考量,因此對軟體的
/ v9 f0 _# O$ Y7 T, w- g要求也相對比較嚴謹,像是可靠度、穩定性、執行效率、執行空間需求等都是必/ c) A# T7 q" u0 K! t
須要注意的部份。
1 `+ E- `  y' J  ^! [' G! G9 I' ^! X7 Y9 c0 @6 F* N
●系統精簡化:
$ f( q' S4 |8 a& Q$ y) z嵌入式系統中的軟體開發無論是系統軟體或應用軟體,都應力求精簡,一個" H+ M: U- V6 D; L& m  O
過於複雜的系統容易存在著安全性上的問題,且事後維護也會相當不容易,另一
8 t2 G, P; G- o0 A方面也可能會提高系統的開發成本。
9 D9 D, }9 f0 S! K+ y5 c
) j$ B6 a& m$ [. T# Z●開發環境:! o) r) ^$ H9 J6 w% x# ^3 l: Y' O
由於嵌入式系本身系統資源有限,因此並不會具有開發能力,使用者必須透
( _% o2 m) W. t5 C3 F1 M( Y- L2 M$ t過另一台機器進行程式開發,在燒錄於嵌入式設備上進行驗証,如有問題必須在0 W+ @9 x7 t" Z- ?& B$ W
回到另一台機器重覆進行開發編譯與燒錄的動作,因此嵌入式必須建立一套完整) `( T$ Q9 o4 q* h* R! \
的開發工具與環境,提供軟體的開發除錯與測試。而一個優秀的嵌入式開發環境  b+ P- p9 ?4 o' M
應該能夠提供一個完整的模擬工具,讓嵌入式軟體的開發不必在依賴於硬體平台& |$ w7 b- ^  S$ P5 i" k
開發的限制,使得嵌入式硬體與軟體可以同時進行開發動作,軟體在硬體開發完
$ n" i+ i4 P6 c成前則可以利模擬器進行功能驗證與測試。
作者: tellme543    時間: 2010-7-28 02:32 AM
六:結論7 o3 h! F* e) K
如同在第一章所舉的衝浪人的例子,我們可以看到在高階的嵌入式系統領域* {  P- D* D6 K. X. [. x. A9 W
中,可以說第一波領頭浪己經過去了(IPhone、IPA、 Android等等..殺手級6 j$ s3 b# `; F0 o8 l$ P% k9 k0 C
的產品與全新應用概念),台灣雖然沒有幾家公司有跟上去(因為台灣並非軟體
, Z& `$ B/ k+ O/ M6 l* {大國,第一波是以應用軟體為主),但隨著這一浪的主浪頭過去後面的浪群至少! _! A/ o* J" _% A4 x
有 2~3波。但浪群中間的間隔總是很短暫的,如何在如此短暫的時間內,趕快整
* s+ h. b8 d- |  U/ m" q& Y) @理好自己的浪板,調整好自己的置位,做好準備的動作,並要抓緊對的時間點開
% U) }, ~& L% }# Y始加速衝刺(太早加速可能會後繼無力,太晚加速可能又會追不上浪),這都是8 I2 y& w  F, N9 ~+ v! y. Y$ O- g! J& N
在考驗著各個企業的應變能力與布局。但可以知道的是誰能站在浪頭上,誰就能0 `2 \5 o- |$ e! R6 A2 i5 J7 k
享受居高臨下乘風破浪的那種快感。
! m% y  L2 E, J$ S) K5 v+ l! B! t$ A. E; }1 J' ?6 K4 f
本圖文內容為( k8 U( l9 Q; ~! ]
Jarey版權所有,禁止任意轉載與拷貝動作,如有需要請事先知會作者。
8 o" e6 \! |) i8 \4 ]- z8 I0 `# C) i: N' o4 q6 R6 [
文章轉摘至: Jarey 週報18期
作者: tk02376    時間: 2010-10-18 08:56 AM
仕橙「系統課程」學習路徑圖$ D* e3 v, |% e- b& E

(點擊放大)






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