Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 12290|回復: 9
打印 上一主題 下一主題

[問題求助] 想當嵌入式系統工程師!

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2008-11-14 19:22:43 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
對於發這篇文,如果有不好的地方,請各位大大給予指教!, M; Z( [/ _& N( U8 f1 M
7 ?' _( h' d+ ^$ }8 A4 B
我今年剛畢業,想進入嵌入式系統這個領域,是不是到外面去上電腦相關的課程是最快的學習途徑?
$ B- f1 Z4 d% c7 M2 I- S我再學校時,有玩過DMA2440開發平台,核心是ARM9的,當時是把廠商提供的source code拿來compile,並修改程式碼、除錯,
" F' ?) @4 M% ~" d. G把許多的實驗範例整合實現在touch panel上,並以點選的方式來執行各個程式,我也有去上過windows ce 6.0 device driver的課,讓自己熟悉visual studio 2005的介面。
9 E5 E3 ?6 I" |/ e2 \0 ~8 ]% ?& R$ t$ v- J7 N% l* d
因為看到外面應徵嵌入式工程師的條件都是要會C、ASSEMBLY、有Embedded system開發經驗,  W! g- ^3 h/ _# r# u* i2 o
我知道自己缺乏的東西很多,但是卻不知道從何下手,而且面對即將要當兵,想利用瑣碎的時間來充實自己,卻不知道如何做,+ v2 Z$ m0 \4 f- V% g
只是在看很多文章,所以才會想要上來發文,希望大大能夠給我ㄧ些意見,在此感激不盡.
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂1 踩 分享分享
2#
發表於 2009-3-11 08:26:23 | 只看該作者
先從你最常用的工具先熟練做起。像是每天都用C,那C語言就要精。有使用到O.S.,那作業系統的知識就要會。有幫硬體除錯,那計算機組織就要會。* V) H" P4 B. m# `; s
不可能一下子全部會,遇到什麼就精進什麼。但其他相關的知識有了解就好,以避免新工作一時遇到會過度吃力。

評分

參與人數 1Chipcoin +5 收起 理由
chip123 + 5 遇到什麼就精進什麼!

查看全部評分

3#
發表於 2009-4-8 17:51:28 | 只看該作者
貼文很久了
. G6 C$ [, C, ~3 U! `3 O6 J. J現在回不知道回了作者看不看得到  
- m% G- u; v( S* X( J: D6 e3 i0 {
5 }3 D; \- x. m; R" R+ e假如想走底層一點的工作2 X( U# k' z, G5 {' u5 U: H  d3 p
對於計算機架構可能要深入了解
0 R1 M, n. d# c! e; K# L, J! l2 z建議先對某個特定平台熟悉  例如ARM+Linux or ARM+WinCE
- Z8 @; `) v6 Y) Ax86也可,不過x86指令和暫存器比較多( o/ W4 J1 ^) |6 V3 e' `
要多花一些時間閱讀* b, R# R$ f% h; L! ~6 j; `8 \0 j1 @

6 F" f: c( y5 O$ K1. 從instruction set開始研讀( n9 z6 K* C( M) Y& V8 h# t
然後試著找一些assembly code trace看看
, a+ y) m1 X. L現在有蠻多書對於控制ARM的各種模式都有程式碼可以參考
2 X' A3 F* P. f像是interrupt處理 context switch等等都有assembly code
1 V0 S1 p; i( y+ O看完之後應該對CPU有初步的了解' o. p  t( h# I2 u& ]

, D, a: q9 ^4 J2 ]6 \9 Q2. 接著把MMU的觀念加入閱讀: I4 Z/ U+ M& @. V" w( Z
MMU是個很重要的元件,理解之後對於深入系統操作有蠻大的幫助。& F# w3 f- n7 Z* S5 ?9 O. k
2 g% V  H1 D5 u' T
3. 找一些device driver study,目的在於熟悉irq handler, DMA control等( }$ }; i% u; a9 P$ R) \
等技巧,有助於建立整個系統的感覺。
& O: l& J( M# J% [
2 b* P4 n' u8 Z. D: w4 S以上會了之後,混口飯應該不難。要變成超級工程師的話,就得/ q% q. H( P( S9 C9 g2 y! P0 m& E
a. 熟悉CPU進階功能 (通常是慢慢演進,port OS需要懂這部分)0 K$ V8 D7 A( l* W9 y4 B' [
b. 熟悉硬體介面和特性 (規畫系統非常需要具備,也可以因應不同架構修改自己的driver); P0 c' }4 e/ x$ m9 g. l/ j8 j
% J6 R7 N) P9 m. t4 n. m
因為CPU現在趨於複雜化,通常都帶有一些特殊功能,像是cache, write buffer的
% ?4 c& T! a& i0 ~: ?1 L機制等等。而熟悉硬體介面和特性的好處是,有時候因為硬體平台整體規劃不良,存在
" ]) y& e( L! n5 W, m  t& A2 G一些bottleneck,最常見就是某段memory bandwidth不夠,這些對device driver' b  K$ a0 j+ Q. J# E' g* u6 r; b! F
效能有很大的影響,如果只是單純懂寫driver的技巧,有時候雖然寫出很精簡的driver,
. ?0 T& B" ]+ r+ o1 A/ c, q# G$ f6 wperformance卻出不來,要適時地修改driver架構或使用其他讀寫方式才能讓系統表現更好。

評分

參與人數 1Chipcoin +5 收起 理由
masonchung + 5 言之有物!

查看全部評分

4#
發表於 2009-5-11 14:12:56 | 只看該作者
不是打廣告' O- q' a! ?: y; i

  ]  l+ h) q) a但是這本書是不錯的入門書" d, a) x! x8 ~! x- H
9 Z8 x" d! z6 V. K: V8 R7 N* V
# 現代嵌入式系統開發專案實務 -- 菜鳥成長日誌與專案經理的私房菜
5#
發表於 2009-7-14 16:49:24 | 只看該作者
補一下知道的wince狀況# B" a, e. P* M
wince 6.0 很難說他是比較容易或比較難& w1 @6 d; b4 G0 r/ `' w
因為他還是沒完整的source code (據說逐步開放,不知道現在如何?)
+ e+ M: c9 ]8 n2 F0 h9 s大多就是把他開放給你的 interface 補起來就會動了) h2 w3 f# X2 V1 o; l
缺點是他的building sequence和dependence 做的不夠好
* a( |" S+ Z% U  [有實會只改了一個檔+ `0 ^/ k6 D: l; I4 t8 q
按錯編譯button就變成整包重新編譯  等到海枯石爛才編好, \( w2 D' X5 O- N5 t' P  P* Y& @
不然選擇只編譯某部分  結果發現你改的那個檔案還是沒編譯到
! D. K4 U1 F* V7 @一開始就要熟悉他編譯的過程  自己打指令的話  應該會省去不少等待編譯的時間
+ u, d! M" h+ B相較之下,我覺得Linux可能有比較清楚一點點 (至少還有code可以看)
0 t( \. N9 \/ i: x: z4 Cwince可能適合有同事一起討論或帶領0 |' j- S% m1 n7 L0 |& F
不然就是要先熟讀相關的文件比較不會不知道自己在幹嘛~
/ P& M+ g" f: @) Q' ~
" A4 Y( @& x- q簡單的對照是
  H6 m( _0 W; }4 j" _9 m& ^# ^+ Zwince   <---->  linux* T, `- T/ h- [+ s
eboot   <---->  uboot   (bootloader)+ h* ?. W( P7 i/ e! f  j" \! S
nk.bin   <---->  uImage (kernel, nk.bin還包含一些file system.)
5 c' N  S  J. ^8 d1 t7 F% f4 m  y4 N7 K# t* i7 S
基本上linux對技術人員來說
  i- Q1 t1 p; ]/ G8 t7 W技術上的學習和收穫會比較完整
) F  n" z8 \  mwince可能比較偏向純粹的產品開發應用
* Z. e1 Y" g0 |7 m: n- h不太合適當作學習平台
6#
發表於 2009-9-23 08:18:55 | 只看該作者
銘傳開課考微軟證照 軟體免費
9 s- t0 m* b8 d6 o. k聯合新聞網 - ‎1 hour ago‎1 Z; G8 K# X0 R8 M& F9 T( @
/ r# p& V  `' ~  U+ N
他指出,目前國內嵌入式系統軟體工程師的職缺,仍有很大缺口,根據人力銀行統計,此類軟體工程師職缺約3000多筆,但求職者只近500人,「薪資更高達3萬5至6萬5元」,考取證照不但獲得就業保障,也提早與職場接軌。
7#
發表於 2010-3-18 07:48:16 | 只看該作者
系統工程師在美國被視為最佳職業 6 T! }! R1 v5 n* C$ ~" w' e* X
ZDNet Taiwan - ‎2010年3月14日‎
1 o0 S- p9 j% P5 y; n& M+ H0 Z& Y2 E% O  E% H9 k$ f1 W. `( m' Y6 m
如果你是位系統工程師,老是懷疑自己是否選擇了對的職業,那現在有個好消息。根據一項調查顯示,系統工程師是美國最好的工作。 Focus.com可能是在世界各地都能聽到類似的牢騷抱怨的刺激下,做出了這個最重要的調查任務。 該網站一開始審視超過七千個工作,然後將焦點放在 ...
8#
發表於 2010-5-12 18:13:04 | 只看該作者
我也是一個想當嵌入式系統工程師的人,覺得必須先把pc 的os 改為成 linux ,6 [& j1 o, H, H! z8 i' M
讓自己熟悉linux 環境的基本功能,特別是文字模式下指令及工具,
, ~$ r4 m# t& ]* f環境熟了之後,自然就事半功倍。7 z; }8 N9 D7 Y1 @
一般嵌入式系統工程師~應該以Driver+OS 修改為主要,
9 Y1 Y& [8 z  V所以,必須了解OS的運作原理、Driver的架構..' t4 V) U" z- y, T$ a+ s4 l
若是從應用程式設計的事,可能是先把C語言搞懂,了解視窗軟體開發環境(Qt、Gtk)
) ]! C$ O# h+ Z1 O+ D# L我覺得win ce 應該不太需要driver +os 維護吧
9#
發表於 2010-5-17 18:31:27 | 只看該作者
將PC O.S.改為Linux?只是稍為靠近,並沒有命中核心。
1 m4 E# a$ \- e) E# M& N2 P想想嵌入式最常做的動作是什麼?就是除錯。. v) l) l& }2 c8 |- z- O
除錯又分硬體及軟體。  j" |9 c4 h& `6 d% Z0 N9 q! i
硬體除錯所需的知識是微處理機架構及對CPU指令的了解。2 [' D8 b' K7 X/ S/ B3 j- m6 @
軟體方面,我認為是系統程式。包括每天摸的Compiler,Linker,Loader。比較好的系統才會有O.S.或是debuger。系統程式熟了,根本不會去依賴作業環境。3 W3 N6 q$ A7 N: }
不過Windows有許多動作都偷藏,Linux則比較開放,這點是沒有錯。3 N; L5 Q" k3 u3 P# N# _
可是作業系統是公司選的,它用Windows你又不能用Linux幫它編譯。還是不要太強迫自己換。
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-6-21 01:15 PM , Processed in 0.124516 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表