Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

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

評分

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

查看全部評分

3#
發表於 2009-4-8 17:51:28 | 只看該作者
貼文很久了1 H# [" K  o: r* d6 C( X9 r
現在回不知道回了作者看不看得到  
; \3 J, z$ ~7 Y3 K- g* ^: n6 ~$ W. A- F" M% ?
假如想走底層一點的工作
& E* f3 a( \# N對於計算機架構可能要深入了解' e6 J; A- ~# F
建議先對某個特定平台熟悉  例如ARM+Linux or ARM+WinCE9 e6 _4 V, ?$ M# d$ i. ]
x86也可,不過x86指令和暫存器比較多
- ]/ U- A: z& ]# r. \* E" \要多花一些時間閱讀
5 p& f9 R/ ]2 s0 K) M& G+ k( i& `. J3 T6 D. N$ m) \, K0 l; u+ V
1. 從instruction set開始研讀
' Z* `9 C4 ?- x5 ?! C然後試著找一些assembly code trace看看0 y; K6 L$ F; ~  b" S& r* Q
現在有蠻多書對於控制ARM的各種模式都有程式碼可以參考- N8 Q8 k$ y2 E) v6 O- I) P
像是interrupt處理 context switch等等都有assembly code$ ^" n' `% q- _% K3 a
看完之後應該對CPU有初步的了解
2 V( E8 ?  ~# d1 a% Y( m: O( ]9 y% t/ D, j% n
2. 接著把MMU的觀念加入閱讀% H8 v# b) p' k/ A8 t2 V: l# J! J
MMU是個很重要的元件,理解之後對於深入系統操作有蠻大的幫助。. c) G4 [, ~; f- S$ k8 ?3 `

: O- F# i+ V. J+ P. k3. 找一些device driver study,目的在於熟悉irq handler, DMA control等
- @6 j4 Y  F# [* t0 M等技巧,有助於建立整個系統的感覺。
( M! X- b5 ]1 o3 t1 H/ g2 E4 Z. t2 Y" u0 y, A6 B
以上會了之後,混口飯應該不難。要變成超級工程師的話,就得' P6 d0 S9 Q' J' o' C
a. 熟悉CPU進階功能 (通常是慢慢演進,port OS需要懂這部分)/ R9 l+ X2 s5 r1 q! y( _
b. 熟悉硬體介面和特性 (規畫系統非常需要具備,也可以因應不同架構修改自己的driver)% Z8 g' q4 m8 P1 V8 E

- T! a5 ~) c. H- a8 v因為CPU現在趨於複雜化,通常都帶有一些特殊功能,像是cache, write buffer的$ E: O) M/ s6 ]5 o0 q* D6 H: S
機制等等。而熟悉硬體介面和特性的好處是,有時候因為硬體平台整體規劃不良,存在
5 {( B4 L: W* b4 ?( b, H& {6 W" l一些bottleneck,最常見就是某段memory bandwidth不夠,這些對device driver
3 N2 x2 O+ l; k4 [; S6 ~效能有很大的影響,如果只是單純懂寫driver的技巧,有時候雖然寫出很精簡的driver,
7 E# V0 Z/ ?' Q3 l7 [performance卻出不來,要適時地修改driver架構或使用其他讀寫方式才能讓系統表現更好。

評分

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

查看全部評分

4#
發表於 2009-5-11 14:12:56 | 只看該作者
不是打廣告
  C- f4 B* W/ ~
( o2 P* K6 v( J3 ]- I: ?2 W但是這本書是不錯的入門書- B9 _7 ^$ {( u, z0 U$ r9 Z
1 f7 U; C& |  j
# 現代嵌入式系統開發專案實務 -- 菜鳥成長日誌與專案經理的私房菜
5#
發表於 2009-7-14 16:49:24 | 只看該作者
補一下知道的wince狀況% t: Y& L' @; l4 J
wince 6.0 很難說他是比較容易或比較難5 A* h: _0 t7 o3 k
因為他還是沒完整的source code (據說逐步開放,不知道現在如何?)
; s; \* b: f  x/ N大多就是把他開放給你的 interface 補起來就會動了5 y5 P% Q+ M! ]; l5 e
缺點是他的building sequence和dependence 做的不夠好
: X7 `/ P/ b+ ]有實會只改了一個檔6 u( {. V% x& p6 \8 D8 T
按錯編譯button就變成整包重新編譯  等到海枯石爛才編好
( X( d0 P( ^  }2 w不然選擇只編譯某部分  結果發現你改的那個檔案還是沒編譯到, f  ^, Q: X  }, ~: m
一開始就要熟悉他編譯的過程  自己打指令的話  應該會省去不少等待編譯的時間- D( B9 x4 T4 p  @
相較之下,我覺得Linux可能有比較清楚一點點 (至少還有code可以看)& ?6 u9 p# q9 n  A' v7 H( s
wince可能適合有同事一起討論或帶領% O; [9 s, }! J9 R
不然就是要先熟讀相關的文件比較不會不知道自己在幹嘛~9 Y! e1 Q" p) r0 Q0 t

0 I; F! q, b4 m3 c; Z簡單的對照是, j! J% f* @  i1 u, \+ ?
wince   <---->  linux
( C2 ~1 P$ X9 o: t+ Z% veboot   <---->  uboot   (bootloader)
2 ~# A! W0 a. Ank.bin   <---->  uImage (kernel, nk.bin還包含一些file system.)' Z1 b# s& Y8 b

' u$ A8 x* P. q9 Q基本上linux對技術人員來說
7 ?$ P- i( Q5 v2 G' G) t技術上的學習和收穫會比較完整
3 P; H$ a4 O- {. `' d! Hwince可能比較偏向純粹的產品開發應用2 C/ v* v) K6 i# V8 ]$ g% p$ Y
不太合適當作學習平台
6#
發表於 2009-9-23 08:18:55 | 只看該作者
銘傳開課考微軟證照 軟體免費
0 m9 c2 G1 n# c, t8 [聯合新聞網 - ‎1 hour ago‎
0 R8 @* L  F3 x$ E! I  e# a- t. I+ \5 Y
他指出,目前國內嵌入式系統軟體工程師的職缺,仍有很大缺口,根據人力銀行統計,此類軟體工程師職缺約3000多筆,但求職者只近500人,「薪資更高達3萬5至6萬5元」,考取證照不但獲得就業保障,也提早與職場接軌。
7#
發表於 2010-3-18 07:48:16 | 只看該作者
系統工程師在美國被視為最佳職業
: Z( a1 C3 \* @: q7 F/ u5 ~: lZDNet Taiwan - ‎2010年3月14日‎
+ V. z6 ?9 a" D9 I( U4 ~; X6 Y
. N9 {. t6 @) k6 w如果你是位系統工程師,老是懷疑自己是否選擇了對的職業,那現在有個好消息。根據一項調查顯示,系統工程師是美國最好的工作。 Focus.com可能是在世界各地都能聽到類似的牢騷抱怨的刺激下,做出了這個最重要的調查任務。 該網站一開始審視超過七千個工作,然後將焦點放在 ...
8#
發表於 2010-5-12 18:13:04 | 只看該作者
我也是一個想當嵌入式系統工程師的人,覺得必須先把pc 的os 改為成 linux ,
0 b5 I: s' p2 n0 T讓自己熟悉linux 環境的基本功能,特別是文字模式下指令及工具,: k* r# c+ C- ?# s6 i2 D! O
環境熟了之後,自然就事半功倍。
$ ^( Q2 @) R+ p# }/ S3 f一般嵌入式系統工程師~應該以Driver+OS 修改為主要,* {- T' W$ [! o1 a
所以,必須了解OS的運作原理、Driver的架構..
( H9 T  k8 \; N若是從應用程式設計的事,可能是先把C語言搞懂,了解視窗軟體開發環境(Qt、Gtk) 0 M* n4 Z" W) A: H& y0 x* Z7 q0 N  q: ]
我覺得win ce 應該不太需要driver +os 維護吧
9#
發表於 2010-5-17 18:31:27 | 只看該作者
將PC O.S.改為Linux?只是稍為靠近,並沒有命中核心。
5 }9 l/ L3 C/ [) b( f% K想想嵌入式最常做的動作是什麼?就是除錯。
: v: a4 o' `& ?! d) B* j除錯又分硬體及軟體。
5 `7 W  Q2 H: o, H" y) e硬體除錯所需的知識是微處理機架構及對CPU指令的了解。
4 k4 J3 s2 [% E% e軟體方面,我認為是系統程式。包括每天摸的Compiler,Linker,Loader。比較好的系統才會有O.S.或是debuger。系統程式熟了,根本不會去依賴作業環境。# N4 x8 n5 ]" Y- c
不過Windows有許多動作都偷藏,Linux則比較開放,這點是沒有錯。
0 Q4 x1 p; J& [( b4 C可是作業系統是公司選的,它用Windows你又不能用Linux幫它編譯。還是不要太強迫自己換。
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-3 08:03 AM , Processed in 0.120007 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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