Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2008-11-14 19:22:43 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
對於發這篇文,如果有不好的地方,請各位大大給予指教!" D  w+ _! X7 E

- h3 F  y3 r5 s0 O$ t- J/ R. ?我今年剛畢業,想進入嵌入式系統這個領域,是不是到外面去上電腦相關的課程是最快的學習途徑?
! l$ T$ t" E3 d0 e' S* X1 {我再學校時,有玩過DMA2440開發平台,核心是ARM9的,當時是把廠商提供的source code拿來compile,並修改程式碼、除錯,8 y; K' j( y& P
把許多的實驗範例整合實現在touch panel上,並以點選的方式來執行各個程式,我也有去上過windows ce 6.0 device driver的課,讓自己熟悉visual studio 2005的介面。. |4 l  b) K1 T! U5 q

1 I1 ^+ j8 L/ ~7 s- e% n因為看到外面應徵嵌入式工程師的條件都是要會C、ASSEMBLY、有Embedded system開發經驗,7 a& [, x5 a1 l6 `9 X7 _8 b
我知道自己缺乏的東西很多,但是卻不知道從何下手,而且面對即將要當兵,想利用瑣碎的時間來充實自己,卻不知道如何做,$ z3 Y) w$ S, Q2 F: j8 {
只是在看很多文章,所以才會想要上來發文,希望大大能夠給我ㄧ些意見,在此感激不盡.
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂1 踩 分享分享
2#
發表於 2009-3-11 08:26:23 | 只看該作者
先從你最常用的工具先熟練做起。像是每天都用C,那C語言就要精。有使用到O.S.,那作業系統的知識就要會。有幫硬體除錯,那計算機組織就要會。. t4 {$ l, B9 z1 g2 l# j
不可能一下子全部會,遇到什麼就精進什麼。但其他相關的知識有了解就好,以避免新工作一時遇到會過度吃力。

評分

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

查看全部評分

3#
發表於 2009-4-8 17:51:28 | 只看該作者
貼文很久了
2 |& l3 |. Y& I0 i. w: Q$ i現在回不知道回了作者看不看得到  
: }  D% ^% r; R- a# d
0 {& I& d* ^9 \; g; m假如想走底層一點的工作( f8 @- T/ _! l6 z5 _
對於計算機架構可能要深入了解
: D; G( K7 Y* K0 d' M7 T- c建議先對某個特定平台熟悉  例如ARM+Linux or ARM+WinCE
! [1 m2 u, c5 g8 w3 Ex86也可,不過x86指令和暫存器比較多
' j9 h5 `) D4 r要多花一些時間閱讀
  `0 }! U( y  w. `
. A3 N/ _6 q$ q/ t! L1. 從instruction set開始研讀- [& b8 }4 M* m
然後試著找一些assembly code trace看看
% b4 x% h8 H- j; w7 H; Z2 Q  \現在有蠻多書對於控制ARM的各種模式都有程式碼可以參考
# C6 O/ x% S  w0 v$ k像是interrupt處理 context switch等等都有assembly code
2 s2 N2 K) a/ [8 a( S: C+ |看完之後應該對CPU有初步的了解+ T3 X7 |' a: r# Y+ L+ E  g  Z

& Y0 I5 k4 z: Z' [& b' D2. 接著把MMU的觀念加入閱讀$ g- h: N( l4 d% S$ n
MMU是個很重要的元件,理解之後對於深入系統操作有蠻大的幫助。) E0 ?+ \4 h4 b. j" S+ D7 v" J# P
7 {( `" b1 D) ?% {# i
3. 找一些device driver study,目的在於熟悉irq handler, DMA control等
3 h+ y2 @& {+ M/ l2 k( _等技巧,有助於建立整個系統的感覺。
7 |( j! `, X8 t' ~/ c9 k& G5 B" ]( ~% j, o$ `: H; p4 E
以上會了之後,混口飯應該不難。要變成超級工程師的話,就得
' {5 s/ ^( f- D+ e4 @& a; p3 Ba. 熟悉CPU進階功能 (通常是慢慢演進,port OS需要懂這部分)
$ n8 D/ k* O. |. u2 |b. 熟悉硬體介面和特性 (規畫系統非常需要具備,也可以因應不同架構修改自己的driver)7 R3 Y& K) S; X% N

5 d# a0 C. U, K因為CPU現在趨於複雜化,通常都帶有一些特殊功能,像是cache, write buffer的1 ~' p6 O9 q( G/ R& C% J
機制等等。而熟悉硬體介面和特性的好處是,有時候因為硬體平台整體規劃不良,存在( {" Q$ \+ s1 z: F3 g
一些bottleneck,最常見就是某段memory bandwidth不夠,這些對device driver2 Z2 J4 @; q! J
效能有很大的影響,如果只是單純懂寫driver的技巧,有時候雖然寫出很精簡的driver,' t0 k# P5 E* y  i+ K
performance卻出不來,要適時地修改driver架構或使用其他讀寫方式才能讓系統表現更好。

評分

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

查看全部評分

4#
發表於 2009-5-11 14:12:56 | 只看該作者
不是打廣告
' p0 `: {' O- Y. K
% {" m0 t$ J$ a  T# E/ K. Q但是這本書是不錯的入門書
) a5 L  {# r7 N% S+ |5 {' X( O
( d  H6 T# R1 c( U8 x# 現代嵌入式系統開發專案實務 -- 菜鳥成長日誌與專案經理的私房菜
5#
發表於 2009-7-14 16:49:24 | 只看該作者
補一下知道的wince狀況
6 H; _) \: ?0 twince 6.0 很難說他是比較容易或比較難- g' l) L& \6 [( r* C' l
因為他還是沒完整的source code (據說逐步開放,不知道現在如何?)- B# S- R( g0 G# }
大多就是把他開放給你的 interface 補起來就會動了. W, e0 I3 s2 i; e
缺點是他的building sequence和dependence 做的不夠好  a4 r. ^! M1 }3 _. N
有實會只改了一個檔( ~" Q! l6 I( w7 }
按錯編譯button就變成整包重新編譯  等到海枯石爛才編好
' f! _' A$ s) u1 l+ Q不然選擇只編譯某部分  結果發現你改的那個檔案還是沒編譯到% u0 X1 ~2 H/ b  U7 \# A  \! L( i
一開始就要熟悉他編譯的過程  自己打指令的話  應該會省去不少等待編譯的時間
( f: L( [) |/ A1 H0 X相較之下,我覺得Linux可能有比較清楚一點點 (至少還有code可以看)
) L0 @* o" u- f7 F3 _wince可能適合有同事一起討論或帶領8 D( t) [/ V+ i% `2 }* V& r: c5 |6 L
不然就是要先熟讀相關的文件比較不會不知道自己在幹嘛~" J1 M' [) G7 K! L5 ?7 o( z* ^
$ V, n! s; h- K1 @
簡單的對照是# F( ]; o* K/ Z
wince   <---->  linux
" ~: @9 s' E, teboot   <---->  uboot   (bootloader)
1 y9 Y! s8 z9 [% i$ N$ }nk.bin   <---->  uImage (kernel, nk.bin還包含一些file system.)* n% `$ Q$ M( G/ Q7 V

5 g3 d2 `' S8 ~* w基本上linux對技術人員來說+ D5 [$ _8 ?# ]- d8 v- W
技術上的學習和收穫會比較完整
' d$ o( v' q5 Y6 v; Y2 lwince可能比較偏向純粹的產品開發應用
# k  b, J+ C' ?1 S3 E不太合適當作學習平台
6#
發表於 2009-9-23 08:18:55 | 只看該作者
銘傳開課考微軟證照 軟體免費2 W! u9 E2 g, C( @8 r3 U$ b8 L
聯合新聞網 - ‎1 hour ago‎
" ~8 r9 Z7 ?; h$ V( j- o6 P9 ^9 O8 R9 z8 H: g
他指出,目前國內嵌入式系統軟體工程師的職缺,仍有很大缺口,根據人力銀行統計,此類軟體工程師職缺約3000多筆,但求職者只近500人,「薪資更高達3萬5至6萬5元」,考取證照不但獲得就業保障,也提早與職場接軌。
7#
發表於 2010-3-18 07:48:16 | 只看該作者
系統工程師在美國被視為最佳職業
, B0 h# B3 p9 w# }8 gZDNet Taiwan - ‎2010年3月14日‎. W! A0 S7 p, z

2 a$ j9 A3 [( g; ~) G& v5 V如果你是位系統工程師,老是懷疑自己是否選擇了對的職業,那現在有個好消息。根據一項調查顯示,系統工程師是美國最好的工作。 Focus.com可能是在世界各地都能聽到類似的牢騷抱怨的刺激下,做出了這個最重要的調查任務。 該網站一開始審視超過七千個工作,然後將焦點放在 ...
8#
發表於 2010-5-12 18:13:04 | 只看該作者
我也是一個想當嵌入式系統工程師的人,覺得必須先把pc 的os 改為成 linux ,5 O% B# Y2 O, D. ~" M
讓自己熟悉linux 環境的基本功能,特別是文字模式下指令及工具,
  q7 z6 i2 x  Q# ]) @8 K環境熟了之後,自然就事半功倍。
+ w' H4 S- A" G( P) }一般嵌入式系統工程師~應該以Driver+OS 修改為主要,! Z( f& c, A' E( d5 S
所以,必須了解OS的運作原理、Driver的架構.." k# f6 S! A1 R( Y& W! h# X
若是從應用程式設計的事,可能是先把C語言搞懂,了解視窗軟體開發環境(Qt、Gtk) ! h5 `$ D: x/ s, r/ v. G
我覺得win ce 應該不太需要driver +os 維護吧
9#
發表於 2010-5-17 18:31:27 | 只看該作者
將PC O.S.改為Linux?只是稍為靠近,並沒有命中核心。
4 P$ d3 ^! T0 `/ m& Z想想嵌入式最常做的動作是什麼?就是除錯。) k0 j3 g: p& I. Q2 S7 r
除錯又分硬體及軟體。
& W0 d$ y1 k- r1 X- e  z硬體除錯所需的知識是微處理機架構及對CPU指令的了解。
" n' K* d+ V$ r" v" \+ G9 {軟體方面,我認為是系統程式。包括每天摸的Compiler,Linker,Loader。比較好的系統才會有O.S.或是debuger。系統程式熟了,根本不會去依賴作業環境。1 R0 |$ b* e! z; g6 R$ e7 E
不過Windows有許多動作都偷藏,Linux則比較開放,這點是沒有錯。
( H/ u2 O. h) f可是作業系統是公司選的,它用Windows你又不能用Linux幫它編譯。還是不要太強迫自己換。
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-13 02:09 AM , Processed in 0.128008 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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