嵌入式內功 扎馬步

2021-04-12 11:51:27 字數 1586 閱讀 5657

在這個領域裡,有無數的有志軟體工程師在這裡打拼。他們的收入不等,有的剛起步可能只有2、3k有的可能混的不錯成了大牛,有好幾十k的。不論怎樣,每個人都希望能闖出一番天地,舒舒服服過著有」公尺「的生活。說到自己有些慚愧,混跡多年還沒有什麼建樹,好的壞的評價都有過,也不知道何時能混出個頭。不過值得慶幸的是,時光還沒有磨掉自己的那份執著和信念。在那些無數摸索追求奮進的日子裡,酸甜苦辣的滋味每每縈繞於心。我不是高手,更不是牛人,不過還是有一些心得可以和同行分享。

現在很多公司經常打著諸如dsp演算法及應用軟體工程師、驅動開發工程師、firmware軟體工程師、嵌入式設計工程師、嵌入式軟體工程師之類的頭銜在網路和人才市場上招人。雖然這些職位在具體事務上有些不同,但總的來說,還是非常相近的。這些企業對嵌入式研發人員的共同要求也正體現了嵌入式的精髓和熱門所在,歸結起來,主要有下面幾點:

1.至少精通一種mcu/mpu體系結構,如arm、powerpc、68k/coldfire;

2.至少精通一種dsp體系結構,如主流的ti tms320dm642、blackfin 533/561、 trimeida和bsp15,理解它們的流水線pipeline的原理和指令特性,熟悉**優化,熟悉cache、dma和pci等重要裝置;

3.至少精通一種嵌入式作業系統,如vxworks,embedded

linux,wince,ucos,qnx,plamos,symbian。不需要深入核心,但必須要懂得使用最基本最常用的一些功能,諸如任務管理、訊號量、訊息佇列,並懂得優先順序反轉和死鎖的原理和避免或解決方法;

4.至少精通一種嵌入式語言。越是底層人員越是要注意編碼規範,不要以為自己搞底層的就很牛,不書寫說明文件和**注釋,讓人感覺**是寫給自己看的。現在嵌入式已經不是c的專利,j2ee、embddedc++等語言已進入這個領域,在以後肯定會大展拳腳;(關於c可以去看看《關於c的0x8本「經書」[嵌入式必讀]》

5.熟練掌握嵌入式軟體設計、專案管理和測試的技巧。特別要注意自己的編碼規範,搞軟體的可全靠這張"臉"吃飯哦。乙個人牛不牛,看**就知道。(關於測試可以去看看《嵌入式軟體測試的十大秘訣》

)備註:這些要求不針對嵌入式硬體工程師和比較上層的嵌入式應用軟體開發人員。

看似簡單的幾條羅列,實際上每乙個要求都需要我們好多年的專案經驗積累,這也是國內華為、ut斯達康等大企業要求應聘人員必須具備至少5年軟體開發經驗的原因(ut斯達康有時候要求8年)。如果有一天你揣著乙份對高工資的期望準備在這個領域尋覓工作或準備跳槽到該領域,你是否信心滿滿,是否都已經具備了這些基本的素養和能力呢?如果有,那我會替你高興;如果沒有,那麼平靜心態繼續努力,打好這些基本功,最好從扎馬步開始!

最後引用周星馳的經典台詞激勵大家:努力啊,奮鬥!。

embedded software development is all but

nothing when you are always perseverant ! 

嵌入式內功 扎馬步

在這個領域裡,有無數的有志軟體工程師在這裡打拼。他們的收入不等,有的剛起步可能只有2 3k有的可能混的不錯成了大牛,有好幾十k的。不論怎樣,每個人都希望能闖出一番天地,舒舒服服過著有 公尺 的生活。說到自己有些慚愧,混跡多年還沒有什麼建樹,好的壞的評價都有過,也不知道何時能混出個頭。不過值得慶幸的是...

初識嵌入式 嵌入式開發概述

1 什麼是嵌入式技術 1 嵌入式軟體與非嵌入式軟體的區別?答 嵌入式軟體是結合作業系統之上做的開發 非嵌入式軟體是做的裸機開發。裸機 沒有作業系統 2 嵌入式開發與微控制器開發的區別?答 區別 是否有作業系統。拓展 答 優點 解決了軟體的移植性 解決了開發人員的能力的劃分問題。提供了豐富的網路協議 ...

如何學習嵌入式 嵌入式如何入門?

學習嵌入式,該學習什麼基本的知識呢?嵌入式如何入門?其次,應該對作業系統有所了解,這對你對硬體和軟體的理解,絕對有很大的幫助。應該把系統的管理理解一下,比如程序 執行緒,系統如何來分配資源的,系統如何來管理硬體的,當然,不是看書就能把這些理解透,如果不是一時能理解,沒關係,多看看,結合以後的專案經驗...