對于嵌入式開發(fā)軟件來說,可以把嵌入式軟件開發(fā)分成2個工作崗位。一個是應用開發(fā),另一個是底層開發(fā)。以Linux系統(tǒng)為例,底層開發(fā)包括操作系統(tǒng)的開發(fā)和驅動的開發(fā)。
對應嵌入式軟件的職位有:ARM工程師,QT工程師,Linux驅動工程師,Linux應用工程師,單片機工程師。硬件職位有EMC工程師,PCBLayout工程師。
嵌入式軟件開發(fā)
嵌入式基礎知識:計算機體系結構,操作系統(tǒng),微機原理,80%是驅動代碼在Linux內(nèi)核代碼中。
嵌入式芯片被稱為SoC(System on Chip),它上面既有CPU還有其他模塊,比如內(nèi)存控制器、USB、UART等。
(1) 嵌入式微處理器結構與應用:這是一門嵌入式硬件基礎課程,我們說過,嵌入式是軟硬件結合的技術,搞嵌入式軟件的人應對ARM處理器工作原理和接口技術有充 分了解,包括ARM的匯編指令系統(tǒng)。
(2) 嵌入式操作系統(tǒng)類課程
除了WinCE的實時性稍差外,大多數(shù)嵌入式操作系統(tǒng)的實時性都很強,所以也可 稱為實時操作系統(tǒng)Real TimeOperating System.從事嵌入式的人至少須掌握一個嵌入式操作系統(tǒng)(當然掌握兩個更好),這在嵌入式的所有技術中是最為關鍵的了。目前最重要的RTOS主要包 括:第一類、傳統(tǒng)的經(jīng)典RTOS:最主要的便是Vxworks操作系統(tǒng),以及其Tornado開發(fā)平臺。
嵌入式軟件開發(fā)
第二類、嵌入式Linux操作系統(tǒng):Linux的前途除作為服務器操作系統(tǒng)外,最成功的便是在嵌入式領域的應用,原因當然是免費、開源、支持軟件多、呼擁者眾,這樣嵌入式產(chǎn)品成本會低。Linux本身不是一個為嵌入式設計的操作系統(tǒng),不是微內(nèi)核的,并且實時性不強。嵌入式博大精深,嵌入式軟件開發(fā)也有好多類型,所以學這個前景也是不錯的。