Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

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

評分

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

查看全部評分

3#
發表於 2009-4-8 17:51:28 | 只看該作者
貼文很久了2 o' e- x. O! v, E
現在回不知道回了作者看不看得到  . v0 K# r2 J: I) r3 d  u
  c. P' w4 k  w5 Q* M0 }; U
假如想走底層一點的工作& B  ^7 x2 X! r( ^
對於計算機架構可能要深入了解
4 y1 n4 t5 G. D6 X9 p1 N0 E建議先對某個特定平台熟悉  例如ARM+Linux or ARM+WinCE
) {% N6 }5 }* r# t4 Mx86也可,不過x86指令和暫存器比較多
: `* d* E! M0 M0 e- C" b& s' Y要多花一些時間閱讀+ P) A6 c: T# v  a

6 B- i2 e& n' C2 K$ w. \8 W! j4 B- E1. 從instruction set開始研讀8 y; k% b. c* g7 p, a/ h4 O
然後試著找一些assembly code trace看看
# [+ X. t& U; K現在有蠻多書對於控制ARM的各種模式都有程式碼可以參考
# N( C4 h: V' j. [. Y$ `( l: S像是interrupt處理 context switch等等都有assembly code8 B4 _; L- N. T& w
看完之後應該對CPU有初步的了解9 ~% f# m- u, a( D6 N
" J( r; P) i1 i9 C) {
2. 接著把MMU的觀念加入閱讀$ H1 S/ e+ c0 }! |1 i+ n3 B
MMU是個很重要的元件,理解之後對於深入系統操作有蠻大的幫助。
/ p5 i3 [. C+ G& P: N$ m
& R2 L+ J! I4 p3 o3. 找一些device driver study,目的在於熟悉irq handler, DMA control等
4 o# ~; N9 W- f- k% H& d5 f! P' J0 a等技巧,有助於建立整個系統的感覺。
" [, Q% T/ K1 }& n
0 W8 Q" w7 r1 L6 n7 V以上會了之後,混口飯應該不難。要變成超級工程師的話,就得
/ e; o2 |! f6 `6 R  D4 |* h9 @a. 熟悉CPU進階功能 (通常是慢慢演進,port OS需要懂這部分)8 y7 p! j$ n& N9 x1 b( {2 r
b. 熟悉硬體介面和特性 (規畫系統非常需要具備,也可以因應不同架構修改自己的driver)
1 O: S. ]9 r' U$ p4 h9 f6 x; o8 G
因為CPU現在趨於複雜化,通常都帶有一些特殊功能,像是cache, write buffer的
6 {) g  G6 g3 ~, c$ ?機制等等。而熟悉硬體介面和特性的好處是,有時候因為硬體平台整體規劃不良,存在
% a! }; [/ @4 P+ D一些bottleneck,最常見就是某段memory bandwidth不夠,這些對device driver
) X7 ^* s7 v5 q8 T: _, l1 ]效能有很大的影響,如果只是單純懂寫driver的技巧,有時候雖然寫出很精簡的driver,
0 p5 I1 d& T0 ], Eperformance卻出不來,要適時地修改driver架構或使用其他讀寫方式才能讓系統表現更好。

評分

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

查看全部評分

4#
發表於 2009-5-11 14:12:56 | 只看該作者
不是打廣告
) {# ^( l3 W, ]* @0 W
9 b; w6 @: M5 v0 l, w7 o但是這本書是不錯的入門書
' s7 _# u. r+ Q! u! X' L1 k" i4 R2 t
# 現代嵌入式系統開發專案實務 -- 菜鳥成長日誌與專案經理的私房菜
5#
發表於 2009-7-14 16:49:24 | 只看該作者
補一下知道的wince狀況- k( O. l* k" m. C3 A, y
wince 6.0 很難說他是比較容易或比較難
: _: v+ J. I* a) }: d. e因為他還是沒完整的source code (據說逐步開放,不知道現在如何?)
. ^* F1 l0 k$ x  h1 Y大多就是把他開放給你的 interface 補起來就會動了
( ^' F! {7 H0 K5 Z8 h: t7 x缺點是他的building sequence和dependence 做的不夠好$ d6 B6 w: A5 z; |1 E
有實會只改了一個檔: z9 M" u. {# x# u6 z
按錯編譯button就變成整包重新編譯  等到海枯石爛才編好- g) O- o! o- e7 [5 s/ W
不然選擇只編譯某部分  結果發現你改的那個檔案還是沒編譯到% ~# u! L8 s. d# P
一開始就要熟悉他編譯的過程  自己打指令的話  應該會省去不少等待編譯的時間
$ u" S. S- C) u8 [相較之下,我覺得Linux可能有比較清楚一點點 (至少還有code可以看)
. R1 Z' Q2 S9 C8 L7 N5 O7 ewince可能適合有同事一起討論或帶領# a% L0 m1 n  f, t( A0 @
不然就是要先熟讀相關的文件比較不會不知道自己在幹嘛~
+ \9 s3 V6 j& l
5 U, R3 E1 Z0 H- p簡單的對照是
. G9 T2 H7 g9 |1 b' P7 u6 ~; G6 }6 bwince   <---->  linux
% U8 v3 Q6 q4 ]/ Y7 w/ a' l( [' veboot   <---->  uboot   (bootloader)
8 C3 L: T( d; V) U# c. Unk.bin   <---->  uImage (kernel, nk.bin還包含一些file system.)* T: Q/ R4 Z6 o7 F4 @

' |4 \* T9 V0 G! t; [基本上linux對技術人員來說, G4 f7 o; u3 E; C6 _! w
技術上的學習和收穫會比較完整
( o. N: H6 H: z7 k/ T! F) r3 Iwince可能比較偏向純粹的產品開發應用& X% N: H0 X7 J/ b9 H. ?1 Q
不太合適當作學習平台
6#
發表於 2009-9-23 08:18:55 | 只看該作者
銘傳開課考微軟證照 軟體免費1 ?! @% o. Z3 s, n+ I: h( S
聯合新聞網 - ‎1 hour ago‎4 U' h, n% t5 a

1 ~& x: {/ _# X3 ^他指出,目前國內嵌入式系統軟體工程師的職缺,仍有很大缺口,根據人力銀行統計,此類軟體工程師職缺約3000多筆,但求職者只近500人,「薪資更高達3萬5至6萬5元」,考取證照不但獲得就業保障,也提早與職場接軌。
7#
發表於 2010-3-18 07:48:16 | 只看該作者
系統工程師在美國被視為最佳職業
! k7 C7 Y, {5 Q- _( f9 QZDNet Taiwan - ‎2010年3月14日‎1 l& q+ U' x3 w4 ~3 |5 q0 Z' Z# U

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

本版積分規則

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

GMT+8, 2024-6-14 03:32 PM , Processed in 0.135017 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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