當前位置:編程學習大全網 - 源碼下載 - 好運娛樂源代碼

好運娛樂源代碼

進入嵌入式行業,舍不得來(轉)

我覺得2007年海通的分析(好像)不錯:

“海通教育總經理曲剛先生表示,市場需要的嵌入式人才必須具備C語言編程經驗、嵌入式操作系統(主要包括嵌入式Linux、WinCE或Symbian)經驗、內核裁剪經驗和驅動開發經驗,如高級嵌入式軟件開發工程師。相關崗位要求為:具備豐富的嵌入式多任務軟件系統分析設計能力,能夠獨立完成項目系統解決方案,解決系統故障和問題,精通C語言應用開發,具有良好的編程習慣和風格,良好的文檔技能和習慣,熟悉項目管理流程。曲老師還指出,良好的英語閱讀能力和較強的學習能力是從事該領域工作的基礎,而精通嵌入式操作系統(掌握嵌入式Linux、WinCE、Symbian)會讓求職者更有價值。

目前這方面的人國內外都很稀缺。壹方面,非專業的IT人員很難切入這個領域,因為這個領域的進入門檻很高,不僅要了解底層的軟件(如操作系統級、驅動程序級軟件),還要對軟件的專業水平有更高的要求(嵌入式系統在軟件設計上要求更高的時空效率),還要了解硬件的工作原理。另壹方面,由於這壹領域相對較新,目前發展太快,許多軟硬件技術(如ARM處理器、嵌入式操作系統、MPEG技術、無線通信協議等。)已經很久沒有出現了,所以很難找到能掌握這些新技術的人。

嵌入式人才稀缺,價值自然高。現在很多公司都把硬件設計包給了專門的硬件公司,稍微復雜壹點的硬件都給了臺灣省或者國外的公司設計;至於軟件,大量的嵌入式公司自己開發。比如對於日本公司來說,由於國內人力成本高,很多日本嵌入式軟件開發公司將項目外包給國內的公司,越來越多的國內公司從事嵌入式軟件開發。近年來,我國對嵌入式軟件人才的需求成倍增長,僅北京市場對嵌入式軟件開發人員的需求就超過了5萬人,而且還在不斷增長。

嵌入式人才的工作環境和發展前景也有優勢。曲老師告訴記者:“嵌入式工作有兩個好處:壹是工作強度比較低。對於開發企業應用軟件的IT企業來說,這個用戶的系統完成了,還得是下壹個用戶的,而且每個用戶的需求和完成時間都不壹樣,所以開發人員往往是疲憊和重復的;制造嵌入式系統的公司有自己的產品計劃,按照自己的節奏行事。他們開發的產品通常是通用的,不會因為客戶不同而修改。壹個產品型號開發出來後,往往會有很長壹段自由充電和休息的時間。第二,職業發展比較順利。從事企業應用軟件的人,工作範圍廣,項目變化大。日常積累難以產生質變,容易出現職業瓶頸。那些搞嵌入式軟件的,都是涉及那些專業技術的,時間長了會越來越有經驗。”

以上都是針對求職的。對於個人整體發展來說,如果妳想創業,想做自己的產品,那麽嵌入式軟件是個不錯的想法。嵌入式軟件不會像應用軟件那麽容易被盜版,開發專利產品壹年要花十幾萬。

妳要有專業基礎才能入行,那麽應該如何快速成長為嵌入式人才呢?曲老師指出,嵌入式系統領域門檻高,並不適合所有人。嵌入式開發人員不僅要懂底層軟件,對軟件的專業水平也有更高的要求。進入嵌入式系統開發領域,他們首先要有壹定的C語言基礎,然後嘗試參加壹些相關的培訓課程,之後才能找到項目實踐的機會,增加項目經驗。"

還有網友的寶貴意見:

“第二,嵌入式系統的層次化和專業化分類。

嵌入式系統分為四層:硬件層、驅動層、操作系統層和應用層。

1,硬件層,是整個嵌入式系統的基礎。如果現在對微控制器和接口比較熟悉,可以用C和匯編語言編程,那麽從嵌入式系統的硬件層走起來相對容易,硬件層也是驅動層的基礎。壹個優秀的驅動工程師應該能夠自己理解硬件電路圖並完成CPLD的邏輯設計,同時對操作系統內核及其調度也相當熟悉。但硬件平臺是基礎,增值靠軟件。

硬件層比較適合電子、通信、自動化、機電壹體化、信息工程專業的人。需要掌握的基礎專業知識是單片機原理與接口技術,微型計算機原理與接口技術,C語言。

2、驅動層,這部分比較難,驅動工程師不僅要能看懂電路圖還要對操作系統內核非常精通,這樣在系統調用的時候,他寫的驅動不會獨占操作系統時間片,反而導致其他任務不能動,不懂操作系統內核架構和實時調度,沒有好的驅動編寫風格。很多人可以像大多數書裏提到的那樣,通過添加驅動程序來實現。但可能連壹個初級驅動工程師的水平都達不到,所以這樣寫出來的驅動就好比我們在windows下運行完壹個程序後打開它的時候,要麽中斷前面的程序,要麽等壹會兒再運行後面打開的程序。想成為壹名優秀的司機,沒有三四年的基本功,不學習操作系統內核的最後幾個部分是不容易成功的,但是妳的工資是嵌入式系統四層中最高的。

驅動層比較適合電子、通信、自動化、機電壹體化、信息工程專業的人,尤其是計算機偏架構。除了硬件層所具備的基礎學科外,還應該非常精通數據結構和算法、操作系統原理和編譯原理。

3、操作系統層,對於目前的操作系統層來說,可能只能說是簡單的移植,很少有人是從編寫的操作系統中來的,或者說是沒有手腳的編寫操作系統。這項工作大部分是由駕駛工程師完成的。操作系統負責調試系統任務,管理磁盤和文件,嵌入式系統的實時性非常重要。據說,XP操作系統花了微軟300個人兩年的時間才完成,而總工作量是600人年。中科院軟件所的操作系統,估計要幾百年才能出來。所以這部分工作相對來說意義不大。

4.應用層相對容易。如果能調用windows下的編程接口函數,只會改變操作系統下的編譯開發環境。如果Jave參與編程也是如此。嵌入式系統中涉及算法的都是由專業的算法人來處理,並不壹定要歸入嵌入式系統的範疇。但如果涉及到嵌入式系統下的嵌入式數據庫、基於嵌入式系統的網絡編程以及基於某個應用層(如SIP、H.323、Astrisk)的協議應用開發,就比較復雜和困難。

第三,目標和定位。

先有目標,再定位。

學習ARM,從硬件角度來說,壹方面是學習接口電路設計,另壹方面是學習C語言的匯編和板級編程。從軟件角度來說,需要學習基於ARM處理器的操作系統層面的驅動和移植。這些對於初學者來說壹定是很清楚的,無論是從硬件上,還是從操作系統對應用的熟悉程度上,但是不管妳學的是什麽,只要不是操作系統級別以上的純API的應用編程,硬件寄存器應該是可以理解的,板級匯編和C編程應該是可以理解的。所以對於嵌入式系統的硬件層和驅動,ARM的接口電路設計,ARM的C語言和匯編語言的編程調試環境還是需要掌握的。

所以對於新手來說,要把握好方向,自己的目標是什麽,想去什麽層次。然後,我們將開始學習ARM相關嵌入式系統的兩個實用層面:硬件層和驅動層。無論我們學好哪壹門,都會很有前途。

如果要從嵌入式系統的應用層面去走,可能離ARM等系統還很遠。應該重點關註嵌入式操作系統的環境應用和相應的開發工具鏈,比如WinCe操作系統下的EVC應用開發(類似於windows下的VC)。要想有所突破,要依靠壹些音視頻協議,比如VOIP領域基於SIP或H.323協議的應用層開發,或者基於嵌入式網絡數據庫的開發等。

對於新手來說,要量力而行,不要因為司機層工資高就以此為方向。要結合自己的特點。在那個級別,有嵌入式系統四個級別的專家,當然專家也有高薪。我在硬件層工作。以前個人所得稅從我壹個月工資裏扣了近三千塊。當然,我壹方面扮演了工程師的角色,另壹方面也扮演了主管和角色。我壹個人幹了兩個職位。可能跟我PK硬件的人很少,讓我拿那麽多工資。

第四,開發系統選擇。

很多ARM初學者都希望有壹個自己能用的系統,但是生活中會有壹個誤區,認為處理器版本越高,性能越高越好,就像很多人覺得ARM9和ARM7好壹樣。我覺得新手在這方面還是要理性壹點。開發系統的選擇最終還是要看自己的嵌入式系統方向,是做驅動開發還是做應用,還是做嵌入式系統的硬件層設計和板級測試。如果要從操作系統層面或者應用層面去做,無論是驅動還是應用,當然處理器的性能越高越好,但是這個東西是很難自己學會的,不是幾個月或者半年兩年就能做好的。

從某種意義上說,拜托,ARM7和9的區別就在於在壹些功能指令集上更豐富,主頻更高,比如286和386。對於用戶來說,可能並沒有發現什麽,只是覺得速度有點快。

ARM7更適合想從硬件層面走的人,因為ARM7系列處理器的MMU很少,很容易控制。比如S3C44B0可以輕松關閉緩存,內部接口寄存器也很好理解。各種接口可以由硬件程序或AXD單步命令行指令控制。基於51單片機的思想,很容易理解他,把他當成32位單片機,從而消除了很多51工程師想成為嵌入式系統硬件ARM開發工程師的困惑,這樣就不會被業內壹個不真正懂嵌入式系統的爛公司帶到操作系統層面,讓他們望而卻步,讓行業更加缺乏這方面的人才。

嵌入式系統在硬件設計和軟件驅動上都非常註重接口。選擇平臺還取決於處理器的外部資源。接觸外部資源越多,越熟悉,未來就業成功的幾率就越高。這就是招聘中提到的“相關技能”,因為壹個人不可能在短短幾年內接觸到所有的加工商。雇主使用的處理器對我們來說可能是全新的。就拿臺灣省幾十家小公司生產的ARM處理器來說(市場價幾千萬),也是非常好用的。但是這些處理器並不通用,所以使用這些處理器的公司只能招聘有相關工作經驗的人。什麽是相關工作經驗?硬件方面講的是外設接口設計,軟件方面講的是操作系統中相關的接口驅動和應用開發經驗。我做生意已經將近十年了。2000年ARM出現的時候,我壹天就開始做ARM7,然後直接上了Xscale(這個板在ARM10-11之間)。我做了五年,招了幾百多人面試。這些方面我還是深有體會的。

個人覺得三星的S3C44b0比較適合新手。為什麽這麽說?因為接口資源豐富,技術成熟,資料多,應該很適合初學者。如果有問題,可能很容易找人幫忙解決。因為大部分人都比較熟悉,就像51單片機壹樣,有N多位專家可以幫妳,相關問題可以很快得到解答。不過業內認為這胳膊爛了,但對於新手來說,是好事。

所以開發系統的選擇取決於自身未來的發展方向、開發板接口資源以及行業的普適性。

動詞 (verb的縮寫)如何看待培訓?

首先說壹下我自己。本人從業近十年,從國內嵌入式系統行業起步,壹直站在嵌入式系統行業的最前沿。我設計過很多高端嵌入式系統平臺產品,為很多公司提供過解決方案。離職前為從事網絡電話的美國公司設計IP-PBX。做過項目經理、項目總監、技術總監、部門經理,積累了很多人脈,積累了多年經驗。考慮到學生就業和公司招聘不匹配,公司招不到人,學生和剛畢業的工程師不好找工作,所以我們成立了智天星科技有限公司,開展嵌入式系統的教育培訓。

因為壹線科研人員接觸不到壹線老師,國內缺乏嵌入式人才,國外大學的技術領先於行業公司,而國內的情況是行業公司的嵌入式系統技術遙遙領先於大學。為了搭建行業與高校之間的橋梁,為大學生帶來先進技能,為學生打造就業競爭的王牌,為行業工程師實現自我創造的機會,我辭去了在外企年薪20多萬的職位,接受嵌入式系統培訓。

對於培訓來說,就是花錢買時間。很多工程師喜歡自學,認為培訓不值得。這也是可能的。純粹為了賺錢的訓練當然不會太值錢,但是對於力量型訓練,他們可能會損失很多。不知道他們有沒有算過這筆賬。如果壹周的培訓能給他們帶來兩年自學就能掌握的知識,那麽培訓後他們會花三個月到半年的時間消化培訓內容。他至少會省下壹年半的時間去學習其他的東西或者重新到另壹個高度工作,那麽最遲兩年後他會拿到與他級別相對應的工資,也就是工資與級別的關系比同組人縮短壹年,每月至少1000元,扣除培訓費用後至少多1000元,同時他會省下壹年,不管是不是休閑,繼續提高

另壹方面,新人的培訓相當於提前給自己買了失業保險,有師傅領著他們入道。今年暑假我們班最小的學生是大二,他今年才大三。他這學期剛學了單片機,但是現在在ARM的編程工作已經很豐富多彩了。畢業壹年多會失業嗎?

再者,通過培訓,妳可以知道很多業內普通人不知道的東西,同時也給自己找了壹個高手。舉個例子,兩個工程師分別用S3C2410和PXA255做手持設備,兩個人都幹了四年,然後出去找工作,兩個人的工資差別可能最多是兩倍。為什麽?這是行業不為壹般人所知的規律。2410是民用產品,已經被業界用壞了。做產品的成本特別敏感,當然對人才成本也很敏感。PXA255是英特爾的東西。壹個255的CPU可以買三個2410,壹直被業界定義為貴族產品。用的公司都是大公司或者為軍隊服務的公司,不在乎成本。

我覺得給自己找了壹個好老師是真的,因為同級別的工程師之間存在潛在的競爭關系,很多人不願意把自己知道的東西教給別人,這就意味著他會失業,也就是所謂的教會學徒會餓死,但對我們來說,不存在這種關系。我在嵌入式系統平臺的設計上已經到了壹定的程序,在這個國產技術上我很難突破自己。所以很多東西都是對大家開放的,比如下面界面設計中提到的關於順序界面的部分。不說的話,我就是高級硬件工程師,我想幾乎只有10%的人能知道。

6.成為高級嵌入式系統硬件工程師的技巧。

首先聲明,我是做嵌入式系統平臺層面的設計,在硬件方向比較有發言權。如果是其他方面需要的基本功,我還得和我們培訓中心的其他專業講師交流或者去網站上看看* * *。我只能說我對他們有所了解,但不是太多。妳也可以問我壹些基本的問題。

至於硬件,有幾個方向。簡單信號分為數字信號和模擬信號。模擬很難做,通常需要很長時間的經驗積累。單壹的電阻或電容不夠精確,可能會使信號偏差很大。所以,年輕人做的少。隨著技術的發展,出現了數字模擬電路,比如手機的Modem射頻模塊,都采用了成熟的成套芯片。當時全球只有兩家公司有這項技術,覺得自己模擬功能不強的人不適合做這個。如果他們真的能拿到手機的射頻模塊,只要達到壹般水平,他們的月薪可能在15K以上。

另壹個是數字部分,大體方向可分為51/ARM單片機、dsp和FPGA。國內FPGA工程師大多在ic設計公司從事IP核的前端驗證,前途並不明朗。就算是壹個IC前端驗證工程師,也要好幾年才能勝任。dsp的硬件接口比較定型,如果不靠近驅動或者算法,前途不會太大。而ARM單片機的內容更多,在行業內占據了大量的產品,應用範圍也很廣,所以就業空間很大,而接口設計是硬件設計的最大體現,是高級硬件工程師互相PK,判斷水平的依據。界面設計最重要的是時序,而不是簡單的連接。比如PXA255處理器的I2C速度需要100Kbps。如果壹個I2C外圍設備連接到它,設計將不可避免地失敗。這樣的情況很多。比如51單片機可以在總線上連接LCD,但是為什麽這個LCD不能掛在ARM總線上,壹個帶Winband的SD卡控制器可以連接到ARM7總線上,但是為什麽這個控制器不能連接到ARM9或者Xscale處理器上?這些都是問題。所以接口不是簡單的連接,要看時機和參數。壹個優秀的硬件工程師,應該能夠在沒有參考方案的情況下,設計出性價比更好的產品。根據現有方案,也需要進行適當可行的削減,但不是隨機的。我遇到過壹個工程師,在方案裏把DC芯片從5V換成1.8V,直接換成LDO,有時候會燒好幾個CPU。前幾天有人想讓我幫他們優化之前基於PXA255平臺的手持GPS設備。我問了壹下情況,地圖存儲在SD卡裏,SD卡和PXA255的MMC控制器之間的SPI接口導致地圖讀取速度非常慢。這種情況是設計的嚴重缺陷,不是程序問題,所以我提了幾點建議讓他們更新再試。所以,想要成為壹名優秀的工程師,需要把握系統的完整性,了解現有的電路。換句話說,給妳壹套電路圖,妳能看懂多少?如果80%以上不懂,說明妳遠不是壹個優秀的工程師。其次是電路的調試能力和圖紙核對能力,但最基礎的能力還是原理圖設計、PCB圖和邏輯設計。這是指硬件設計工程師。從上面的硬件設計工程師中,我們還可以劃分出ECAD工程師,也就是專業的PCB制圖工程師和EMC設計工程師,幫助人們解決EMC問題。硬件工程師是板級測試工程師,也就是有很好C語言知識的硬件工程師。在電路板調試的過程中,他可以通過自己編寫的測試程序來驗證硬件功能。然後交給基於操作系統級別的驅動開發者。

總之,硬件的內容很雜。如果妳練習它,妳會成為壹個大師。我經常給人做方案評估。很多高級硬件工程師設計的東西,我經常否定。所以工程師這樣做會得罪壹些人,但是硬件有很多不為人知的地方,讓很多資深硬件工程師很不解。

那麽高級硬件工程師的技術技能必須具備那些東西。首先他們要掌握EDA設計的輔助工具,比如Protel \ OrCAD \ Powperpb \ map lux 2 \ ISE、VDHL語言,還要會用這些工具畫繪圖板進行邏輯設計,然後就是界面設計和圖紙審核的能力,然後就是調試的能力。如果他們能去做總體方案設計,基本就能成為高級工程師。

硬件靠經驗和積累。十年磨壹劍,百年磨壹針。"

  • 上一篇:asp+access站內收搜引擎
  • 下一篇:使用Filebeat采集日誌結合logstash過濾出妳想要的日誌
  • copyright 2024編程學習大全網