嵌入式的應用比較廣泛,適用于各個領域,比如:電子、醫療、軍工等等。這些表示嵌入式應用靈活,豐富的應用,可為我們提供多樣選擇。隨著嵌入式層出不窮的新的發展方向的出現,嵌入式行業也面臨著人才短缺,據各大人才網上數據顯示,嵌入式軟件開發起點年薪在10萬以上。供不應求更是使得嵌入式人才身價上漲,而且,越有專業經驗,就業競爭力就越大。這個行業等待你去創造更高的未來。可見,嵌入式軟件開發工程師未來的發展前景將一片光明。
很多人以為搞嵌入式就是隨便找本書看看,借鑒書本上的內容在電腦上編寫幾個程序就完事兒了,但事實并非如此,其實嵌入式的門檻還是比較高的,但只要我們找到合適的應對方法,同樣可以很好地掌握所學知識和相關內容。其實嵌入式只是一個籠統的概念,它是一門交叉性比較強的技術,包含了電子、計算機、接口技術、軟件工程、系統工程等技術。現在的嵌入式技術主要分這么幾塊:arm是目前的嵌入式技術, 另外還有單片機、DSP、CPLD和FPGA也屬于嵌入式領域的技術。
ARM嵌入式方面的工作可以分為:嵌入式硬件、嵌入式系統、嵌入式驅動、嵌入式軟件這四個工作類型。其中嵌入式硬件是和底層電路相關的,需要完成設計整個系統電路原理圖和pcb的layout工作,這個不僅僅是需要模電和數電基礎,還需要有豐富的電路設計經驗及pcb layout經驗才行的,硬件又可以細分成兩個工作:硬件工程師和layout工程師,硬件工程師負責硬件芯片選型和硬件工程設計。layout工程師負責PCB板的繪制,一般都是四層以上的板子,而且好要考慮到高速串擾等問題。所以說嵌入式硬件沒有5-6年的經驗是很難勝任的。
如果想做系統和驅動方面的工作,模、數電知識也都必須掌握一些,你得了解底層芯片的工作原理才能把驅動和系統跑起來,arm的匯編指令集是必須掌握的,因為初始化代碼都是用匯編寫的。另外還需要知道一些總線的知識,例如:I2C、SPI、SATA、串口、USB等,然后還要對Linux系統架構比較熟悉,比如它內核配置選項、內核驅動結構、啟動過程、還有它的文件系統配置等等,還有就是C語言功底扎實,因為Linux以及bootloader都是用C寫的,你必須先能看懂才能去移植它。其實bootloader就是把arm當單片機去使用了,如果你有單片機開發的經驗就更有利于你去理解和移植了。
如果是嵌入式軟件就比較簡單了,就完全和底層絕緣了,只需要會用Linux的api進行編程就可以了,再掌握一些編程方法,如:多進程、多線程,socket編程,及管道、信號量、共享內存等同步機制,然后再掌握一下QT及數據庫的編程就基本上夠用了。你想往哪方面發展就學習對應的技能就可以了,反正技多不壓身,多學點對自己以后的發展也有好處。