Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

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

評分

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

查看全部評分

3#
發表於 2009-4-8 17:51:28 | 只看該作者
貼文很久了
/ G* K& i7 a- @+ ?現在回不知道回了作者看不看得到  1 P. Z5 x/ P( `3 P2 K5 n

$ A1 f. O; g. s8 X1 ~! z假如想走底層一點的工作( l8 t' Z# I) Z1 H7 R% r( R
對於計算機架構可能要深入了解
3 [) y5 l  o: {. |( e: v建議先對某個特定平台熟悉  例如ARM+Linux or ARM+WinCE
) \3 _' \3 `4 W. v: H+ Sx86也可,不過x86指令和暫存器比較多
2 l- E. x* L; O4 X/ T, K  J要多花一些時間閱讀7 h) V4 v; @+ p6 |, p

4 M9 y1 c8 Y/ h  M& @! l6 T! C& p1. 從instruction set開始研讀
5 K; {2 s1 ^# x& {' _2 w8 v7 K然後試著找一些assembly code trace看看
3 m4 ~# @' g7 r) C4 h8 r- t現在有蠻多書對於控制ARM的各種模式都有程式碼可以參考% g: _. b5 E# O
像是interrupt處理 context switch等等都有assembly code
! P8 n8 ~" w3 ]看完之後應該對CPU有初步的了解' z, L6 n0 E+ v, t% |

3 p8 D8 ~2 j. `, Z& t2. 接著把MMU的觀念加入閱讀
2 r9 H& ?3 f9 y! c$ j, dMMU是個很重要的元件,理解之後對於深入系統操作有蠻大的幫助。" Y8 h) g" m; \9 j. d- |. Z& u

6 h& h* U; {' Z+ E2 F( O0 X) L- f3. 找一些device driver study,目的在於熟悉irq handler, DMA control等( ]/ c* j5 G; L* L* O* H
等技巧,有助於建立整個系統的感覺。
: m! R/ T3 w9 t, T: {( K2 S$ N$ m
以上會了之後,混口飯應該不難。要變成超級工程師的話,就得+ e! L' O1 G# |5 z3 c# z" f: ?
a. 熟悉CPU進階功能 (通常是慢慢演進,port OS需要懂這部分)
( D% G) Z' S* C3 p' Gb. 熟悉硬體介面和特性 (規畫系統非常需要具備,也可以因應不同架構修改自己的driver)
2 N5 {/ }) D1 S3 p! R' [  ~3 t9 `" }0 |" m- n3 P" \+ I
因為CPU現在趨於複雜化,通常都帶有一些特殊功能,像是cache, write buffer的: _% E; q" n  g% P7 n2 O, Z3 g
機制等等。而熟悉硬體介面和特性的好處是,有時候因為硬體平台整體規劃不良,存在
4 ?& O* H: }: x; K, z+ o一些bottleneck,最常見就是某段memory bandwidth不夠,這些對device driver' C- o$ ^9 v/ F% n. N- E0 H
效能有很大的影響,如果只是單純懂寫driver的技巧,有時候雖然寫出很精簡的driver,
; Q2 U+ H3 C0 J, Nperformance卻出不來,要適時地修改driver架構或使用其他讀寫方式才能讓系統表現更好。

評分

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

查看全部評分

4#
發表於 2009-5-11 14:12:56 | 只看該作者
不是打廣告7 w  e2 ^3 z4 R  T: i0 q
1 j$ ?7 O- n2 W0 t( U0 z$ s1 I
但是這本書是不錯的入門書
; Z5 s1 I  `$ x+ {
  p% |$ X& [. K/ @6 |0 d4 D$ m# 現代嵌入式系統開發專案實務 -- 菜鳥成長日誌與專案經理的私房菜
5#
發表於 2009-7-14 16:49:24 | 只看該作者
補一下知道的wince狀況; p4 m1 v3 {( N+ m+ G
wince 6.0 很難說他是比較容易或比較難
; ]8 J' @4 E. s3 `: K& S; _因為他還是沒完整的source code (據說逐步開放,不知道現在如何?)
6 q) k+ S' j) {" X- a大多就是把他開放給你的 interface 補起來就會動了- C2 P* m0 \' a$ N
缺點是他的building sequence和dependence 做的不夠好( B5 |8 f; N4 p5 a' A. M
有實會只改了一個檔
. Y8 k1 u1 x; P) p1 o( D- B按錯編譯button就變成整包重新編譯  等到海枯石爛才編好- W7 p/ U# o* \8 ^4 u
不然選擇只編譯某部分  結果發現你改的那個檔案還是沒編譯到
( L2 [* D8 y; _) B( d) y  i一開始就要熟悉他編譯的過程  自己打指令的話  應該會省去不少等待編譯的時間
, S( f0 g; n5 V, ^( ^相較之下,我覺得Linux可能有比較清楚一點點 (至少還有code可以看)$ b: m/ Q) l+ {$ J8 Y- F3 @& A
wince可能適合有同事一起討論或帶領' y1 D) @# E% [; T7 Y
不然就是要先熟讀相關的文件比較不會不知道自己在幹嘛~
6 O2 J$ `" L: t$ V$ [% v2 p0 {! C" e, @. ~1 y! {
簡單的對照是0 L1 `/ l2 l( x  |/ {5 \& j' M4 O
wince   <---->  linux- |/ t' `& q/ ]0 E
eboot   <---->  uboot   (bootloader)
% i% l; F" D) r3 ^7 enk.bin   <---->  uImage (kernel, nk.bin還包含一些file system.)
5 ]* o! Y3 C$ y7 ?0 h2 y" {9 v2 h% D# w3 f6 y
基本上linux對技術人員來說8 v0 V; ?* N; S% p
技術上的學習和收穫會比較完整, t9 X& T( @3 v; M+ X
wince可能比較偏向純粹的產品開發應用% r# B3 ~- |( |: A& F
不太合適當作學習平台
6#
發表於 2009-9-23 08:18:55 | 只看該作者
銘傳開課考微軟證照 軟體免費
! F* y0 m3 J* G% r! @聯合新聞網 - ‎1 hour ago‎
9 i# `, R$ f" \$ I- y) f( ]3 i% R6 H/ u3 @  n4 T
他指出,目前國內嵌入式系統軟體工程師的職缺,仍有很大缺口,根據人力銀行統計,此類軟體工程師職缺約3000多筆,但求職者只近500人,「薪資更高達3萬5至6萬5元」,考取證照不但獲得就業保障,也提早與職場接軌。
7#
發表於 2010-3-18 07:48:16 | 只看該作者
系統工程師在美國被視為最佳職業
; K2 ^" U$ \* L  A  Q; mZDNet Taiwan - ‎2010年3月14日‎
. P7 T5 I4 x7 j3 n- l+ _; |& ^4 J* A$ P' }8 c$ M
如果你是位系統工程師,老是懷疑自己是否選擇了對的職業,那現在有個好消息。根據一項調查顯示,系統工程師是美國最好的工作。 Focus.com可能是在世界各地都能聽到類似的牢騷抱怨的刺激下,做出了這個最重要的調查任務。 該網站一開始審視超過七千個工作,然後將焦點放在 ...
8#
發表於 2010-5-12 18:13:04 | 只看該作者
我也是一個想當嵌入式系統工程師的人,覺得必須先把pc 的os 改為成 linux ,% P, V- a: c. h
讓自己熟悉linux 環境的基本功能,特別是文字模式下指令及工具,
8 f1 ^& ?3 R- g環境熟了之後,自然就事半功倍。
+ U2 V) Q9 v2 `一般嵌入式系統工程師~應該以Driver+OS 修改為主要,
8 R* r9 J4 v3 k! C1 U% S& N所以,必須了解OS的運作原理、Driver的架構..
8 p3 ~3 Z) l% R$ B1 E2 c+ [若是從應用程式設計的事,可能是先把C語言搞懂,了解視窗軟體開發環境(Qt、Gtk) & V2 H7 ?3 ?% Z( }, X( S* n3 R- W4 f
我覺得win ce 應該不太需要driver +os 維護吧
9#
發表於 2010-5-17 18:31:27 | 只看該作者
將PC O.S.改為Linux?只是稍為靠近,並沒有命中核心。$ n- t9 h: w+ I" @/ i  x
想想嵌入式最常做的動作是什麼?就是除錯。
( h0 z  |- U- \4 U: C除錯又分硬體及軟體。/ X0 y. I' P, L
硬體除錯所需的知識是微處理機架構及對CPU指令的了解。% g/ l1 r; v1 ^0 E6 B
軟體方面,我認為是系統程式。包括每天摸的Compiler,Linker,Loader。比較好的系統才會有O.S.或是debuger。系統程式熟了,根本不會去依賴作業環境。) K: Y2 y7 v+ k6 U
不過Windows有許多動作都偷藏,Linux則比較開放,這點是沒有錯。
1 s7 l4 B1 ]# B可是作業系統是公司選的,它用Windows你又不能用Linux幫它編譯。還是不要太強迫自己換。
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-16 10:40 PM , Processed in 0.109514 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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