如何成爲一名嵌入式系統工程師

嵌入式系統軟件工程師是泛指那些從事嵌入式系統軟件領域工作並掌握了該領域基本知識和專業基礎的職業技術人員。就一位嵌入式系統軟件工程師而言,用人單位會特別關注你在該領域中所具備的特定的職業技能,比如你所擅長的是嵌入式系統驅動軟件開發,還是嵌入式系統應用開發,或者是嵌入式系統測試;你具體掌握了哪一種操作系統,是否有在某一種嵌入式系統結構上進行嵌入式系統軟件開發的技能。所以,人們經常按照操作系統或者硬件結構來細分嵌入式系統軟件工程師,比如嵌入式系統(Linux)工程師、嵌入式系統(WINCE)工程師、嵌入式系統(ARM)工程師、嵌入式系統(MIPS)工程師等。

    很多想進入嵌入式系統這個領域的學生總是會經歷一個思想過程,就是起初並不知道需要學什麼知識,然後就是不知道爲什麼要學這些知識,再就是不知道如何學這些知識,到了最後就是不知道如何使用這些知識。如果你們同樣有這些問題,我們將在職業教育計劃實施過程中一一爲你解答。在這裏我們要回答學生經常提出的一個問題:如何才能成爲一位合格的嵌入式系統軟件工程師?

    簡單地說,要成爲一位嵌入式系統軟件工程師,基本要求是:

    ? 具備計算機軟硬件的基本知識

    ? 掌握一門嵌入式系統程序設計語言

    ? 掌握一套嵌入式系統開發工具

    ? 掌握一種嵌入式操作系統

    ? 掌握一種嵌入式系統結構

    ? 掌握嵌入式系統應用領域的行業基本知識

    這是嵌入式系統軟件工程師最起碼的職業技能要求,但要成爲一位合格的嵌入式系統軟件工程師,光有職業技能還不夠,還必須具備基本的職業能力。下面具體列出成爲一位合格的嵌入式系統軟件工程師所需要具備的條件。

1、明確自己的發展方向,併爲此制定可行的職業計劃

    很多學生總不確定將來可能做什麼,所以對於專業學習根本就沒有計劃或分析,而是抱着走一步算一步的態度。這樣的想法往往就會通過潛意識去暗示你自己,導致最終你變得無所事事、碌碌無爲。如果你從現在起,確定自己的發展方向,制定職業計劃併爲此付出實際行動,那麼無論你將來是往技術、管理方向發展還是自主創業,甚至無論你將來是否仍然執行你現在制定的計劃,你都將獲得能力的提高。

2、具有理論與實踐並重,內外雙修的素質

    一個合格的嵌入式系統軟件工程師,是真正理解了嵌入式系統軟件產品的本質及軟件產品研發思想精髓的人。掌握嵌入式系統軟件開發語言、應用語言工具解決工作中的具體問題、完成目標任務是嵌入式系統軟件工程師的主要工作。但從嵌入式系統軟件工程師這個角度來看,這只是外在的東西,並非重要的、本質的工 作。學習、掌握嵌入式系統軟件產品開發理論知識、軟件開發方法,並在實踐中理解、應用軟件產品的分析、設計、實現思想來解決具體的嵌入式系統軟件產品研發問題,纔是真正的嵌入式系統軟件工程師的必要素養。

3、具有良好的職業知識表達能力

    正如前面所言,斯邁爾特職業教育的目標是培養學生能用、能做、能想、能說的能力。實際上,能說是最關鍵的能力培養。建立在能說能力的背後的是你對相關知識的確實理解和你對問題的敏捷反應。

4、深入理解了嵌入式系統的概念

    ? 從硬件上理解。嵌入式系統硬件是將傳統的基於CPU的外圍器件,整合到CPU芯片內部。例如比較高端的ARMIntel Xscale架構下的IXP網絡處理器CPU內部集成了PCI控制器,還集成了3NPE網絡處理器引擎。

    ? 從軟件上理解。嵌入式系統就是在定製操作系統內核裏將應用一併選入,編譯後將內核下載到ROM中。而在定製操作系統內核時所選擇的應用程序組 件則是完成了軟件的嵌入。比如WinCE在內核定製時,會有相應選擇,其中就是WordpadPDFMediaPlay等等選擇。如果我們選擇了,在CE啓動後,就可以在界面中找到這些東西。

    ? 從實現上理解。把軟件內核或應用文件系統等東西寫入到嵌入式系統硬件平臺中的ROM,就實現了一個真正的嵌入

5、知道嵌入式系統的分層方式 

    嵌入式系統分爲4層,硬件層、驅動層、操作系統層和應用層:

    ? 硬件層:是整個嵌入式系統的根本,如果你現在對單片機及接口這塊很熟悉,並且能用C語言和彙編語言來編程的話,那麼從嵌入式系統的硬件層做起來就相對容易。硬件層是嵌入式系統的基礎,但嵌入式系統增值還是要靠軟件。

    ? 驅動層:要能看懂電路圖還要能對操作系統內核十分的精通,以便所寫的驅動程序在系統調用時,不會獨佔操作系統時間片,而導至其它任務不能運行。當然,不懂操作系統內核架構和實時調度性、沒有良好的驅動程序編寫風格,僅僅只是按照資料介紹去添加驅動程序,是很多人可以做到的,但這也僅僅只是個初級的嵌入式系統驅動工程師的最低水平。

    ? 操作系統層:在操作系統層的主要工作還是移植,而很少有人來自已寫操作系統。

    ? 應用層:需要掌握編程語言、開發工具,知道在Linux/Windows等操作系統下如何進行編程、函數調用,掌握編譯和開發環境等。

   

6、掌握操作系統、編程工具和程序設計環境

    精通嵌入式系統的程序設計是最主要的要求,因爲編程是嵌入式系統軟件工程師花費絕大部分時間的工作,因此嵌入式系統軟件工程師必須熟練掌握操作系統和嵌入式硬件結構,看得懂諸如硬件寄存器一類的內容、掌握基於板級的彙編和C編程,瞭解硬件的接口電路設計,掌握基於嵌入式操作系統的環境應用與工具鏈,比如Linux下的ARM工具鏈等等。

7、熟練使用嵌入式系統開發平臺 

    嵌入式系統開發環境是你學習如何開發一個嵌入式系統項目的實驗平臺。在培訓中,你接觸的是一種能夠進行具有相當實際效果實驗的教學實驗平臺,這種教學實驗平臺必須外接特定的開發模塊,才能形成一個實際的開發系統。

擁有一套嵌入式系統實驗平臺,能夠極大地幫助嵌入式系統軟件初學者儘快熟悉和掌握嵌入式系統。熟悉一個實際的嵌入式系統開發平臺,並且能夠從事某個具體項目的開發,是獲得實際進行嵌入式系統軟件開發工作經驗的必經之路。

如果你滿足了上面的這些要求,你就可以成爲一位合格的嵌入式系統軟件工程師。當然,真正優秀的嵌入式系統軟件工程師是要靠工作中的積累才能形成的,而這也是用實際工作時間來衡量的。

 

轉自:http://quyi218.blog.163.com/blog/static/719346802010102091435365/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章