Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

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

評分

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

查看全部評分

3#
發表於 2009-4-8 17:51:28 | 只看該作者
貼文很久了6 d1 ]# e3 q( |2 u" n+ P
現在回不知道回了作者看不看得到  9 ^' s' p$ x6 D! n

' T* W/ z* B2 D4 m8 G/ i" m假如想走底層一點的工作
, C6 x+ O7 E- W' |對於計算機架構可能要深入了解
+ `; c- |, G/ G4 M6 N0 q9 e1 s建議先對某個特定平台熟悉  例如ARM+Linux or ARM+WinCE
2 V  A" o( d* Q6 z3 Lx86也可,不過x86指令和暫存器比較多
4 D5 i4 f1 u8 n: I$ [5 T8 Q要多花一些時間閱讀: z! H. l' d4 M$ c/ l" H' C2 B

- N, C+ T9 F! K. J7 \1. 從instruction set開始研讀& `% d; t  g4 ^8 v- B) N8 U
然後試著找一些assembly code trace看看& @1 D! E7 x6 ]/ L6 b4 J$ ?; D# j
現在有蠻多書對於控制ARM的各種模式都有程式碼可以參考
4 o5 t/ l! L1 e4 p像是interrupt處理 context switch等等都有assembly code
6 y( c4 z. ]2 K& m2 k看完之後應該對CPU有初步的了解
* j  x$ ?, C- ?* l. p$ n: \& n
; ^# e! ~" B; d$ E9 r2. 接著把MMU的觀念加入閱讀9 k' g. @8 O' F; _/ a4 F
MMU是個很重要的元件,理解之後對於深入系統操作有蠻大的幫助。+ l0 A% @% ~% ~& b- E
% c( V: Q+ R5 K) d0 \0 ]  @
3. 找一些device driver study,目的在於熟悉irq handler, DMA control等. k, o5 u2 Z- J# u& M+ m
等技巧,有助於建立整個系統的感覺。
% v7 [( @% ^; F6 V
8 _: `! F, Q2 z6 h* f1 Q以上會了之後,混口飯應該不難。要變成超級工程師的話,就得
4 G7 h: O/ @. g: ua. 熟悉CPU進階功能 (通常是慢慢演進,port OS需要懂這部分)
$ B( }( p) v: L) Xb. 熟悉硬體介面和特性 (規畫系統非常需要具備,也可以因應不同架構修改自己的driver)5 r5 g0 g1 y2 {! i8 c7 f9 T5 ~. L6 r
" {/ T6 `# _. [' g' L9 Y: }% Z/ E
因為CPU現在趨於複雜化,通常都帶有一些特殊功能,像是cache, write buffer的. O8 n9 M- ]7 i0 p1 p. _3 \
機制等等。而熟悉硬體介面和特性的好處是,有時候因為硬體平台整體規劃不良,存在
" |! m) T. W6 [& ?) x一些bottleneck,最常見就是某段memory bandwidth不夠,這些對device driver# A- B# U5 d& @+ U' u
效能有很大的影響,如果只是單純懂寫driver的技巧,有時候雖然寫出很精簡的driver,
: H3 f1 ?# B) C# Pperformance卻出不來,要適時地修改driver架構或使用其他讀寫方式才能讓系統表現更好。

評分

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

查看全部評分

4#
發表於 2009-5-11 14:12:56 | 只看該作者
不是打廣告
( P1 [$ [+ e6 l" W  a! L" k) `3 X
但是這本書是不錯的入門書4 \# W. t( J3 B1 V8 R9 N
  {0 f9 Q! K/ B" l* o
# 現代嵌入式系統開發專案實務 -- 菜鳥成長日誌與專案經理的私房菜
5#
發表於 2009-7-14 16:49:24 | 只看該作者
補一下知道的wince狀況
( F5 d& y* d% h! n% Q( pwince 6.0 很難說他是比較容易或比較難$ H  N. A' W9 ?
因為他還是沒完整的source code (據說逐步開放,不知道現在如何?)
$ i/ {1 {/ q: i, A5 H大多就是把他開放給你的 interface 補起來就會動了" N. h' S/ y% d2 V4 X2 y3 [- D
缺點是他的building sequence和dependence 做的不夠好
% w6 w: r- t; ~5 ^# H9 C有實會只改了一個檔
3 B9 B2 q) |( @+ K4 D& E按錯編譯button就變成整包重新編譯  等到海枯石爛才編好
4 I# \7 ]. x- c$ |4 v' }% E1 s不然選擇只編譯某部分  結果發現你改的那個檔案還是沒編譯到
, k0 @) L% @% P0 s0 q一開始就要熟悉他編譯的過程  自己打指令的話  應該會省去不少等待編譯的時間
9 Y) D2 c+ m/ k+ `) O: t相較之下,我覺得Linux可能有比較清楚一點點 (至少還有code可以看)
* I* J' g0 j9 w) x2 [. t8 hwince可能適合有同事一起討論或帶領
# y9 W. Y3 R0 _) R, H7 Z不然就是要先熟讀相關的文件比較不會不知道自己在幹嘛~& B; B* L3 G( F

" \" @5 V8 @% Q1 L* [簡單的對照是
+ ^7 c5 O, c& h$ J, cwince   <---->  linux4 g* F, C$ [8 u5 e4 q, c
eboot   <---->  uboot   (bootloader)
4 a1 D3 ^: x) C8 g0 cnk.bin   <---->  uImage (kernel, nk.bin還包含一些file system.)
  w& u2 c# e+ U7 ^  o9 Z# h
, e( S: s" @  a, Q基本上linux對技術人員來說
. L9 D' Y7 O8 c3 {技術上的學習和收穫會比較完整
7 g; }1 y' z, g. Q% _wince可能比較偏向純粹的產品開發應用5 ]& _' B# g% w  y
不太合適當作學習平台
6#
發表於 2009-9-23 08:18:55 | 只看該作者
銘傳開課考微軟證照 軟體免費
7 `. o2 s6 |% H聯合新聞網 - ‎1 hour ago‎% ]$ R/ K  }/ b1 P2 V. _. F7 R
0 U" A$ \/ p7 r/ j4 p4 Y9 ~  m
他指出,目前國內嵌入式系統軟體工程師的職缺,仍有很大缺口,根據人力銀行統計,此類軟體工程師職缺約3000多筆,但求職者只近500人,「薪資更高達3萬5至6萬5元」,考取證照不但獲得就業保障,也提早與職場接軌。
7#
發表於 2010-3-18 07:48:16 | 只看該作者
系統工程師在美國被視為最佳職業
- x% Z! c" d: l# hZDNet Taiwan - ‎2010年3月14日‎
3 a8 J2 s4 |4 o* D" N$ }  L) P. Y+ G/ b3 M- g- X# E2 `
如果你是位系統工程師,老是懷疑自己是否選擇了對的職業,那現在有個好消息。根據一項調查顯示,系統工程師是美國最好的工作。 Focus.com可能是在世界各地都能聽到類似的牢騷抱怨的刺激下,做出了這個最重要的調查任務。 該網站一開始審視超過七千個工作,然後將焦點放在 ...
8#
發表於 2010-5-12 18:13:04 | 只看該作者
我也是一個想當嵌入式系統工程師的人,覺得必須先把pc 的os 改為成 linux ,
- w7 u! Q9 J- M, x) \讓自己熟悉linux 環境的基本功能,特別是文字模式下指令及工具,
5 e1 S0 G0 M8 w! r0 r) c4 ^  E環境熟了之後,自然就事半功倍。
! G3 h; V* d( `) I0 M( p( z: X& ]( {% o, N一般嵌入式系統工程師~應該以Driver+OS 修改為主要,! V8 C1 T5 P. M6 |9 D
所以,必須了解OS的運作原理、Driver的架構..
% N6 M: b" O% s! f1 ~- }若是從應用程式設計的事,可能是先把C語言搞懂,了解視窗軟體開發環境(Qt、Gtk) % P6 J6 Z( k( w) F
我覺得win ce 應該不太需要driver +os 維護吧
9#
發表於 2010-5-17 18:31:27 | 只看該作者
將PC O.S.改為Linux?只是稍為靠近,並沒有命中核心。
  I3 h$ l9 d) M- H5 w$ e想想嵌入式最常做的動作是什麼?就是除錯。9 E. A# _: p9 t  T+ v
除錯又分硬體及軟體。
9 O/ U' Z1 N' o2 f硬體除錯所需的知識是微處理機架構及對CPU指令的了解。# B: o$ S& f$ v, d% Z9 q: n7 ]
軟體方面,我認為是系統程式。包括每天摸的Compiler,Linker,Loader。比較好的系統才會有O.S.或是debuger。系統程式熟了,根本不會去依賴作業環境。% W" W" G1 f* ]
不過Windows有許多動作都偷藏,Linux則比較開放,這點是沒有錯。
8 f- d9 [- {' J- n+ B1 _' h+ o可是作業系統是公司選的,它用Windows你又不能用Linux幫它編譯。還是不要太強迫自己換。
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-17 10:24 AM , Processed in 0.120015 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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