Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2008-11-14 19:22:43 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
對於發這篇文,如果有不好的地方,請各位大大給予指教!
( `. m8 Q0 q) l6 x
# v6 {. W4 _" W& f我今年剛畢業,想進入嵌入式系統這個領域,是不是到外面去上電腦相關的課程是最快的學習途徑?
9 R/ w/ `$ @- \6 C, e* h我再學校時,有玩過DMA2440開發平台,核心是ARM9的,當時是把廠商提供的source code拿來compile,並修改程式碼、除錯,
8 r& t& ], h! D9 O1 X. d# J4 `把許多的實驗範例整合實現在touch panel上,並以點選的方式來執行各個程式,我也有去上過windows ce 6.0 device driver的課,讓自己熟悉visual studio 2005的介面。
) D. B* e2 [* {2 i; K, `2 ~) @0 G; d) z
因為看到外面應徵嵌入式工程師的條件都是要會C、ASSEMBLY、有Embedded system開發經驗,
! ]) t$ [: k; c9 t# p- _3 J$ P7 y我知道自己缺乏的東西很多,但是卻不知道從何下手,而且面對即將要當兵,想利用瑣碎的時間來充實自己,卻不知道如何做,
2 |3 O* {4 a( X% G( ], c* t6 e! |只是在看很多文章,所以才會想要上來發文,希望大大能夠給我ㄧ些意見,在此感激不盡.
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂1 踩 分享分享
9#
發表於 2010-5-17 18:31:27 | 只看該作者
將PC O.S.改為Linux?只是稍為靠近,並沒有命中核心。
' S3 R3 J' a0 g" t想想嵌入式最常做的動作是什麼?就是除錯。
0 B( P$ @% G% z  i除錯又分硬體及軟體。) E0 m8 P1 Z$ ]. @4 z# G% O3 T
硬體除錯所需的知識是微處理機架構及對CPU指令的了解。* U. |; N; ^  k# s
軟體方面,我認為是系統程式。包括每天摸的Compiler,Linker,Loader。比較好的系統才會有O.S.或是debuger。系統程式熟了,根本不會去依賴作業環境。2 L+ x; B% R- ]' \
不過Windows有許多動作都偷藏,Linux則比較開放,這點是沒有錯。# r$ j9 c1 R0 a
可是作業系統是公司選的,它用Windows你又不能用Linux幫它編譯。還是不要太強迫自己換。
8#
發表於 2010-5-12 18:13:04 | 只看該作者
我也是一個想當嵌入式系統工程師的人,覺得必須先把pc 的os 改為成 linux ,
7 D* M. Y9 X) x$ w( X5 c讓自己熟悉linux 環境的基本功能,特別是文字模式下指令及工具,
8 T) ~  v. I. A; b+ b) i5 A環境熟了之後,自然就事半功倍。  E% Y. d$ _3 l  F7 E5 S) N2 ]; l2 j
一般嵌入式系統工程師~應該以Driver+OS 修改為主要,
( G$ F$ N8 [8 J/ G7 d9 t( K2 H所以,必須了解OS的運作原理、Driver的架構..
: y2 v; V1 P1 d6 n4 k4 k8 A若是從應用程式設計的事,可能是先把C語言搞懂,了解視窗軟體開發環境(Qt、Gtk)
# x- V# P0 H4 l1 f% E6 p我覺得win ce 應該不太需要driver +os 維護吧
7#
發表於 2010-3-18 07:48:16 | 只看該作者
系統工程師在美國被視為最佳職業 & q8 Y: ^$ v7 q9 t
ZDNet Taiwan - ‎2010年3月14日‎
2 P- X8 J5 c$ C5 [4 o; e4 W/ A% Q5 B: l% {
如果你是位系統工程師,老是懷疑自己是否選擇了對的職業,那現在有個好消息。根據一項調查顯示,系統工程師是美國最好的工作。 Focus.com可能是在世界各地都能聽到類似的牢騷抱怨的刺激下,做出了這個最重要的調查任務。 該網站一開始審視超過七千個工作,然後將焦點放在 ...
6#
發表於 2009-9-23 08:18:55 | 只看該作者
銘傳開課考微軟證照 軟體免費& |( ~$ h, T, e
聯合新聞網 - ‎1 hour ago‎
5 D4 w9 h6 D3 w+ S7 H/ M7 m2 y1 `& y( D+ z
他指出,目前國內嵌入式系統軟體工程師的職缺,仍有很大缺口,根據人力銀行統計,此類軟體工程師職缺約3000多筆,但求職者只近500人,「薪資更高達3萬5至6萬5元」,考取證照不但獲得就業保障,也提早與職場接軌。
5#
發表於 2009-7-14 16:49:24 | 只看該作者
補一下知道的wince狀況
5 V) Z; T% e, w" Qwince 6.0 很難說他是比較容易或比較難
/ L- a9 d$ m0 c) \3 [因為他還是沒完整的source code (據說逐步開放,不知道現在如何?)- n$ [3 U5 y! c
大多就是把他開放給你的 interface 補起來就會動了
1 Q$ W8 A/ Q5 F- A! ~/ O5 z缺點是他的building sequence和dependence 做的不夠好
1 ?! ~3 @$ f2 i1 N有實會只改了一個檔
# H0 O( d3 i3 {按錯編譯button就變成整包重新編譯  等到海枯石爛才編好
, [. d& `6 H! {  y不然選擇只編譯某部分  結果發現你改的那個檔案還是沒編譯到, N/ \! K' K* N/ Q3 [( E
一開始就要熟悉他編譯的過程  自己打指令的話  應該會省去不少等待編譯的時間
0 A) e' d3 O" _$ l& z相較之下,我覺得Linux可能有比較清楚一點點 (至少還有code可以看)
, G" `+ k* [3 C& mwince可能適合有同事一起討論或帶領
4 H, N6 m" t* ^$ S3 u4 U: k; c4 _不然就是要先熟讀相關的文件比較不會不知道自己在幹嘛~  D5 O4 z6 c, R: F

7 o3 D' Z9 q* h$ n; c9 ~; }簡單的對照是) m  `0 k0 {6 Y- n* d; w3 Q* Q
wince   <---->  linux2 t  U  f) P" F1 W; |  d0 z
eboot   <---->  uboot   (bootloader)
1 F; C3 W; p" `7 z- @& }* C- ^8 Xnk.bin   <---->  uImage (kernel, nk.bin還包含一些file system.)0 U+ Q- s; ?+ f1 _) U" G
6 m3 C6 v, y  U$ u0 p$ M- z" j
基本上linux對技術人員來說! |5 e4 [! X. |' p1 f1 O  o& ~* C
技術上的學習和收穫會比較完整
8 z6 I# [+ i! t' L' E5 wwince可能比較偏向純粹的產品開發應用
9 F8 {5 O2 i  j. W6 Z7 ~不太合適當作學習平台
4#
發表於 2009-5-11 14:12:56 | 只看該作者
不是打廣告
( ~" V8 z8 e2 e9 @$ ?1 u1 S( O
但是這本書是不錯的入門書) R# m  L+ J+ y" ^* o) M: r2 [

" q9 {# n0 r4 e4 {# v7 m$ r# 現代嵌入式系統開發專案實務 -- 菜鳥成長日誌與專案經理的私房菜
3#
發表於 2009-4-8 17:51:28 | 只看該作者
貼文很久了
1 T, p8 ]/ p( y! F$ j現在回不知道回了作者看不看得到  7 ]0 U8 h( B, Q( Z$ {

. y  T% g- `  F; z  W假如想走底層一點的工作
1 Q5 o% Q6 j" W+ E對於計算機架構可能要深入了解0 e; x4 `( P% K4 U: {* _  B
建議先對某個特定平台熟悉  例如ARM+Linux or ARM+WinCE- d% W' |! P1 m7 O& R0 {
x86也可,不過x86指令和暫存器比較多
" c6 V- F$ m& B5 z; o6 u- ?要多花一些時間閱讀
  p! O0 ^0 t/ L- Z/ m5 F7 i7 _: q$ {% [* j) O9 f; h1 B
1. 從instruction set開始研讀
# j0 C  r& L$ B6 N然後試著找一些assembly code trace看看
& h$ ]7 H- ^! N現在有蠻多書對於控制ARM的各種模式都有程式碼可以參考  t% f7 i/ N9 m) _2 Z4 q
像是interrupt處理 context switch等等都有assembly code
2 p& q; Y/ f! d, h/ l看完之後應該對CPU有初步的了解- L& ~4 I- I, e. r

7 t- G# C- o' U; [; i+ g* ~2. 接著把MMU的觀念加入閱讀" M! V3 ^5 h5 }5 d; _8 Q
MMU是個很重要的元件,理解之後對於深入系統操作有蠻大的幫助。
9 T6 t4 N& r3 G3 P
/ ?# s& H% v1 _% M) R1 V3. 找一些device driver study,目的在於熟悉irq handler, DMA control等0 r6 y) U- S5 ^7 k
等技巧,有助於建立整個系統的感覺。
! Y: q% w5 H) `% p
0 c# h0 N4 M# }以上會了之後,混口飯應該不難。要變成超級工程師的話,就得; @' Y  F0 M6 p8 t3 z$ R! ?
a. 熟悉CPU進階功能 (通常是慢慢演進,port OS需要懂這部分)+ ~. m2 m8 x! K
b. 熟悉硬體介面和特性 (規畫系統非常需要具備,也可以因應不同架構修改自己的driver)+ U5 J! c8 @; |% g$ Y

( k+ h1 W: i" L2 j2 I; j" {因為CPU現在趨於複雜化,通常都帶有一些特殊功能,像是cache, write buffer的# O' l: Z0 T0 i8 t: H6 p
機制等等。而熟悉硬體介面和特性的好處是,有時候因為硬體平台整體規劃不良,存在  y, a9 E7 I1 k& m8 L: y) _. c! B
一些bottleneck,最常見就是某段memory bandwidth不夠,這些對device driver0 m% f) p. G! q
效能有很大的影響,如果只是單純懂寫driver的技巧,有時候雖然寫出很精簡的driver,
9 G: L: B/ m& @9 {performance卻出不來,要適時地修改driver架構或使用其他讀寫方式才能讓系統表現更好。

評分

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

查看全部評分

2#
發表於 2009-3-11 08:26:23 | 只看該作者
先從你最常用的工具先熟練做起。像是每天都用C,那C語言就要精。有使用到O.S.,那作業系統的知識就要會。有幫硬體除錯,那計算機組織就要會。
. Y" w: K* j( V0 U0 M5 `7 I0 f) L不可能一下子全部會,遇到什麼就精進什麼。但其他相關的知識有了解就好,以避免新工作一時遇到會過度吃力。

評分

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

查看全部評分

您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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