Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2008-11-14 19:22:43 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
對於發這篇文,如果有不好的地方,請各位大大給予指教!
% d" x# v: d" ~1 M  L) [) X
, s% Z& A! C$ ]: d1 p我今年剛畢業,想進入嵌入式系統這個領域,是不是到外面去上電腦相關的課程是最快的學習途徑?
$ c9 @8 N% A0 [# r我再學校時,有玩過DMA2440開發平台,核心是ARM9的,當時是把廠商提供的source code拿來compile,並修改程式碼、除錯,
; }  C5 G/ d  z- E. T0 e2 x: V把許多的實驗範例整合實現在touch panel上,並以點選的方式來執行各個程式,我也有去上過windows ce 6.0 device driver的課,讓自己熟悉visual studio 2005的介面。/ z( k; _, {8 D) G5 e  q. `+ @8 c
- R8 U% C8 g: y) v5 H- l
因為看到外面應徵嵌入式工程師的條件都是要會C、ASSEMBLY、有Embedded system開發經驗,
, [; Q7 {% z( M: q6 W' u我知道自己缺乏的東西很多,但是卻不知道從何下手,而且面對即將要當兵,想利用瑣碎的時間來充實自己,卻不知道如何做,
4 U/ O; S  ^! f" P2 s只是在看很多文章,所以才會想要上來發文,希望大大能夠給我ㄧ些意見,在此感激不盡.
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂1 踩 分享分享
9#
發表於 2010-5-17 18:31:27 | 只看該作者
將PC O.S.改為Linux?只是稍為靠近,並沒有命中核心。
" N/ k1 f9 N0 k5 {7 V: S3 _想想嵌入式最常做的動作是什麼?就是除錯。
0 ]- _) S$ w1 L: M除錯又分硬體及軟體。- U/ v/ v: M: s0 D9 j" _3 \
硬體除錯所需的知識是微處理機架構及對CPU指令的了解。
. s, U5 n7 b% \/ Q! f$ S* K& R軟體方面,我認為是系統程式。包括每天摸的Compiler,Linker,Loader。比較好的系統才會有O.S.或是debuger。系統程式熟了,根本不會去依賴作業環境。7 j% R/ b- F/ Y9 z0 m- G
不過Windows有許多動作都偷藏,Linux則比較開放,這點是沒有錯。( M; G7 B/ y9 m& q4 B3 H& J
可是作業系統是公司選的,它用Windows你又不能用Linux幫它編譯。還是不要太強迫自己換。
8#
發表於 2010-5-12 18:13:04 | 只看該作者
我也是一個想當嵌入式系統工程師的人,覺得必須先把pc 的os 改為成 linux ,
; U+ w0 b2 Q, |0 U- y. C7 q讓自己熟悉linux 環境的基本功能,特別是文字模式下指令及工具,
' g& K/ X- @6 @1 j4 f" @環境熟了之後,自然就事半功倍。! O( q/ |7 Z6 j1 z0 O
一般嵌入式系統工程師~應該以Driver+OS 修改為主要,
* H& }9 }5 U: l6 f) |所以,必須了解OS的運作原理、Driver的架構..  X( b/ S$ q9 P* B) e: k) L0 Y
若是從應用程式設計的事,可能是先把C語言搞懂,了解視窗軟體開發環境(Qt、Gtk) ) A6 }. S/ i% S. r5 j8 w
我覺得win ce 應該不太需要driver +os 維護吧
7#
發表於 2010-3-18 07:48:16 | 只看該作者
系統工程師在美國被視為最佳職業 ! O4 k/ u' d8 C' b" e
ZDNet Taiwan - ‎2010年3月14日‎  S) s( {9 h* t

4 c& `8 ]9 j7 J) K9 N3 n; @  l1 s如果你是位系統工程師,老是懷疑自己是否選擇了對的職業,那現在有個好消息。根據一項調查顯示,系統工程師是美國最好的工作。 Focus.com可能是在世界各地都能聽到類似的牢騷抱怨的刺激下,做出了這個最重要的調查任務。 該網站一開始審視超過七千個工作,然後將焦點放在 ...
6#
發表於 2009-9-23 08:18:55 | 只看該作者
銘傳開課考微軟證照 軟體免費
6 a2 c! y% X& }: r) ]0 v5 H聯合新聞網 - ‎1 hour ago‎
+ Y( H$ m: J! b( S- B$ \; @# L; m& T2 H8 d. P% W7 D
他指出,目前國內嵌入式系統軟體工程師的職缺,仍有很大缺口,根據人力銀行統計,此類軟體工程師職缺約3000多筆,但求職者只近500人,「薪資更高達3萬5至6萬5元」,考取證照不但獲得就業保障,也提早與職場接軌。
5#
發表於 2009-7-14 16:49:24 | 只看該作者
補一下知道的wince狀況
' S/ d' Y0 K  b2 X) b: Gwince 6.0 很難說他是比較容易或比較難
3 n5 J! A. _1 q8 o因為他還是沒完整的source code (據說逐步開放,不知道現在如何?)
6 `5 t( ]  f' J2 ]  v8 C大多就是把他開放給你的 interface 補起來就會動了
6 R% u8 _" U: L  @- @$ ~缺點是他的building sequence和dependence 做的不夠好
8 n* A& J" ]9 k6 t0 `2 I有實會只改了一個檔" j9 ]4 ~" `# X' p) c/ b9 K
按錯編譯button就變成整包重新編譯  等到海枯石爛才編好
* z4 L* R6 K8 j# {) K不然選擇只編譯某部分  結果發現你改的那個檔案還是沒編譯到
3 D( ~* A' o3 M1 D* b+ W2 x一開始就要熟悉他編譯的過程  自己打指令的話  應該會省去不少等待編譯的時間
5 e; n% _- _: A% B4 x+ x相較之下,我覺得Linux可能有比較清楚一點點 (至少還有code可以看)
% u' A! r8 H' e% {  R; z- nwince可能適合有同事一起討論或帶領( O. x% F- {( k/ Z8 o; K+ E
不然就是要先熟讀相關的文件比較不會不知道自己在幹嘛~
( Q# t, w7 R/ D5 r" x1 q& w9 w- C3 T
$ H+ c$ [) X( v簡單的對照是
6 y: J5 V2 J/ U! y5 N5 Q- J- w- M! ywince   <---->  linux
6 D) g- r  i- b* ~- ?8 O# teboot   <---->  uboot   (bootloader): n, v, X) V, j; g7 G
nk.bin   <---->  uImage (kernel, nk.bin還包含一些file system.)
8 T$ j  E! K5 q* o% f+ k* p) N
基本上linux對技術人員來說
( t" \7 y! f) t) p! L技術上的學習和收穫會比較完整7 G7 g4 Z& U3 q; o# |
wince可能比較偏向純粹的產品開發應用
8 R8 P# ~7 b) n/ n不太合適當作學習平台
4#
發表於 2009-5-11 14:12:56 | 只看該作者
不是打廣告
4 z- F7 [0 `1 f( J/ M& _* s6 @0 w. Y$ U
但是這本書是不錯的入門書
( g  `0 Q1 I# |. f6 Q" E+ L, M* _" n' q! n
# 現代嵌入式系統開發專案實務 -- 菜鳥成長日誌與專案經理的私房菜
3#
發表於 2009-4-8 17:51:28 | 只看該作者
貼文很久了
5 N6 R4 V- B6 |現在回不知道回了作者看不看得到  
0 t2 a" k, K) p' V8 m
3 h; T. J6 e( U6 e假如想走底層一點的工作: r$ d+ r' e  P0 w$ n
對於計算機架構可能要深入了解
2 p/ l7 |9 w0 C6 }* A- N9 `2 U5 S建議先對某個特定平台熟悉  例如ARM+Linux or ARM+WinCE: a: |! _7 k/ X
x86也可,不過x86指令和暫存器比較多
. P7 c2 }, |" f. N4 ]/ Q$ B要多花一些時間閱讀
& n$ B2 J; d; m: n
+ |3 u6 Z6 z4 N* C! D0 J! s7 ]1. 從instruction set開始研讀2 H" X6 A" I. O; M3 }
然後試著找一些assembly code trace看看4 T  S( E, s+ E5 t! x
現在有蠻多書對於控制ARM的各種模式都有程式碼可以參考
* B9 [, M  y$ h9 ~像是interrupt處理 context switch等等都有assembly code
7 j8 |  q& B5 S: B" p看完之後應該對CPU有初步的了解/ B2 `! K' x7 }3 i& O! R
( p, S' `! X& }) ~4 l1 u* R" w( e
2. 接著把MMU的觀念加入閱讀- ^7 k" F# G: M
MMU是個很重要的元件,理解之後對於深入系統操作有蠻大的幫助。
5 u' E2 f! x% T- D" d
# y% }" Y; r! \& b3. 找一些device driver study,目的在於熟悉irq handler, DMA control等
/ }1 W" T# {4 Z5 P" z6 y等技巧,有助於建立整個系統的感覺。6 G( E7 ]% P9 E# I* T
9 E$ y8 l2 n, L2 @
以上會了之後,混口飯應該不難。要變成超級工程師的話,就得( |$ b0 j4 ^; @) n
a. 熟悉CPU進階功能 (通常是慢慢演進,port OS需要懂這部分)
1 r& S3 n0 X1 E; Y/ d; ?b. 熟悉硬體介面和特性 (規畫系統非常需要具備,也可以因應不同架構修改自己的driver)$ n" A, F8 p  z0 `' R5 D
2 K# V1 d# D. F; U" L4 o
因為CPU現在趨於複雜化,通常都帶有一些特殊功能,像是cache, write buffer的9 Y5 z. O8 n, t6 {+ ?- C% [6 e3 U
機制等等。而熟悉硬體介面和特性的好處是,有時候因為硬體平台整體規劃不良,存在
8 S- x, Q- S. w* E1 w, u一些bottleneck,最常見就是某段memory bandwidth不夠,這些對device driver
8 K2 h3 C; _# X6 E# E3 Z7 I( I效能有很大的影響,如果只是單純懂寫driver的技巧,有時候雖然寫出很精簡的driver,
7 {( ]/ b9 E( h$ D+ ~; O6 ?: vperformance卻出不來,要適時地修改driver架構或使用其他讀寫方式才能讓系統表現更好。

評分

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

查看全部評分

2#
發表於 2009-3-11 08:26:23 | 只看該作者
先從你最常用的工具先熟練做起。像是每天都用C,那C語言就要精。有使用到O.S.,那作業系統的知識就要會。有幫硬體除錯,那計算機組織就要會。/ r$ h& R- d# l* G0 G( `
不可能一下子全部會,遇到什麼就精進什麼。但其他相關的知識有了解就好,以避免新工作一時遇到會過度吃力。

評分

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

查看全部評分

您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-15 07:56 PM , Processed in 0.119515 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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