當前位置:首頁 > 公眾號精選 > 嵌入式大雜燴
[導讀]關注「嵌入式大雜燴」,選擇「星標公眾號」一起進步!來源|?巧學模電數電單片機嵌入式行業(yè)需要什么樣的技術人才?仔細觀察各種招聘的崗位要求吧,無非是兩方面。1)通用要求比如什么學歷,多少年工作經驗,有創(chuàng)新精神,抗壓能力強,吃苦耐勞,善于溝通,態(tài)度認真等等等等...2)專業(yè)要求這個可真...

關注「嵌入式大雜燴」,選擇「星標公眾號」一起進步!

來源 |?巧學模電數電單片機


嵌入式行業(yè)需要什么樣的技術人才?仔細觀察各種招聘的崗位要求吧,無非是兩方面。

1)通用要求

比如什么學歷,多少年工作經驗,有創(chuàng)新精神,抗壓能力強,吃苦耐勞,善于溝通,態(tài)度認真等等等等...

2)專業(yè)要求

這個可真的多了去了,但無非就是各種精通。什么精通控制理論,精通電路設計,精通各種硬件驅動開發(fā),精通linux內核,精通DSP,精通ARM,精通嵌入式數據庫,精通多線程編程,精通各種網絡協(xié)議,精通各種總線協(xié)議,精通塞班/安卓/IOS平臺應用開發(fā)。

精通匯編、編譯器、二進制工具,精通各種媒體封裝格式、編解碼,精通通信技術,精通硬件原理圖,精通PCB設計,精通計算機結構,精通bootloader,精通……感覺只要是行業(yè)內的就要精通。

看完這些,尤其是專業(yè)要求,精通一門就得好久,頭大了吧?

那么,我們來就分析一下上面的要求吧。各個公司就通用要求像是互相復制粘貼的一樣,比如學歷,個人認為學歷明顯更重要;比如經驗,是有n年的經驗,還有n年前的經驗用了n年;還有個人秉性,我都不知道各個公司怎么在員工入職前考察。

專業(yè)要求呢,其實精通其中幾樣就挺了不起了,很多技能一看就讓人頭暈,了解了嵌入式開發(fā)的結構可能就好理解些了。

從技術實現上講,嵌入式的產品分為兩大類:一類簡單的,沒有操作系統(tǒng)支持的;一類復雜的,有操作系統(tǒng)的。

就目前發(fā)展方向看,后一種是趨勢。前一種從程序實現上可以分為3層:硬件層、驅動層、應用層;后一種可以分為4層:硬件層、驅動層、系統(tǒng)層、應用層。

所以,嵌入式的開發(fā)大致需要這么從下到上四類工程師:嵌入式硬件開發(fā)、嵌入式驅動開發(fā)、嵌入式系統(tǒng)開發(fā)、嵌入式軟件開發(fā)。

應該會哪些技能?

01.嵌入式硬件開發(fā)

這是硬件工程師來做,一般出身為自動化,電子,通信等專業(yè),他們要求熟悉電路等知識,非常熟悉各種常用元器件,掌握模擬電路和數字電路設計的開發(fā)能力,熟悉硬件開發(fā)模式和設計模式,熟悉各種芯片及外圍設備,熟悉8位16位32位處理器嵌入式硬件平臺開發(fā)。

有的要求有FPGA的開發(fā)經驗,精通常用的硬件設計工具:

  • Protel
  • PADS(PowerPCB)
  • Cadence
  • OrCad
一般要有4~8層高速PCB設計經驗。

02.嵌入式驅動開發(fā)

這個可以硬件工程師來做,也可以軟件工程師來做,主要還是取決于設備。

目前驅動開發(fā),除非是簡單的設備驅動,實際上很多時候都是移植,所以更多的是需要掌握目標平臺的硬件和系統(tǒng)特性。

所以至少得掌握一些操作系統(tǒng)、系統(tǒng)結構、計算機組成原理、數據結構相關知識。熟悉嵌入式ARM/MIPS/PowerPC架構。

具有單片機、某種或多種32位嵌入式處理器的移植開發(fā)能力,熟悉bootloader過程,具有扎實的硬件知識,理解硬件原理圖,能獨立完成相關硬件驅動調試,能夠根據芯片手冊編寫軟件驅動程序。

如果涉及到網絡設備,或許還要掌握很多高層的網絡協(xié)議的原理。個人感覺這一塊雖然大部分不是很難,但卻是極為重要的。

當然如果要在這一層次提供對上層的多線程支持,某些驅動也是很難寫的。

03.嵌入式系統(tǒng)開發(fā)

這個沒聽說硬件工程師來做的。做這塊,熟悉操作系統(tǒng)的原理是必不可少的,比如內存管理,比如線程調度,比如文件系統(tǒng)等等。

還要精通處理器體系結構、指令集、尋址方式、調試、匯編和混合編程等方面的內容;熟悉操作系統(tǒng)啟動流程。

對于linux,要熟悉Linux配置文件的修改,掌握內核裁減、內核移植、交叉編譯、內核調試、啟動程序Bootloader編寫、根文件系統(tǒng)制作和集成部署Linux系統(tǒng)等整個流程。

這一塊要是真寫起來,困難程度那是相當恐怖的,好在大多都是移植,很少聽說有公司要去開發(fā)個操作系統(tǒng)的,沒Google的實力啊。

04.嵌入式軟件開發(fā)

這個嘛,沒有操作系統(tǒng)的話,程序一般不會特別復雜,如果有操作系統(tǒng)的支持,又和一般的軟件開發(fā)很接近,所以盡可以看作是搞桌面開發(fā)。

這個要求就是熟悉系統(tǒng)的API,精通C語言的高級編程知識,包括函數與程序結構、指針、數組、常用算法、庫函數的使用等知識、數據結構的基礎內容;掌握面向對象編程的基本思想,以及C 語言的基礎內容。

精通嵌入式Linux下的程序設計,精通嵌入式Linux開發(fā)環(huán)境,包括系統(tǒng)編程、文件I/O、多進程和多線程、網絡編程、GUI圖形界面編程、數據庫。

熟悉常用的圖形庫的編程,如GTK、miniGUI、fltk、nano-x、QT等,掌握各種應用層的網絡協(xié)議使用,以及各種音視頻技術等。

05.通用技能

另外還有些以上四類都用得著的技能。

1)基礎技能:搞嵌入式開發(fā),還有一些必不可少的基礎技能

  • 開發(fā)平臺的熟悉。目前的嵌入式開發(fā)大多數是在linux或者類linux下的環(huán)境下進行的,那么linux的使用應該熟悉吧,shell腳本得會寫吧,配置文件得會改吧,GCC GDB得會用吧,Make工具得會吧?

  • 比如項目管理工具的使用,都什么年代了,不會用CVS,也不會用SVN?請問,你還活在軟件時代的原始社會么?

  • 數據結構和算法。搞軟件開發(fā),不懂數據結構,不會算法優(yōu)化,不會衡量復雜度,太不靠譜了吧?

    當然,這個也不是要求啥算法都要會,啥數據結構都記得住,最起碼得知道有那么種東西,有什么作用,這樣用到的時候好歹也能查啊。

  • 編程語言。關于JAVA,我知道現在JAVA的異軍突起,很是震動了編程語言界,但是在嵌入式開發(fā)下,不會C或者C 語言,實在說不過去。

    當然現在很多手機應用完全用java寫的,如果你只想搞嵌入式的上層軟件開發(fā)又不想深入下去,只用JAVA也未嘗不可。

    關于匯編,嗯,這個可能挺難,畢竟跟具體的硬件架構(主要是CPU)有關,但是真的很有意思,而且在某些時候,它是不可替代的。

2)特殊技能:對于嵌入式開發(fā)的某些部分必不可少,但對于有些(比如應用開發(fā))可能沒有多大用處

  • 數字電路。這個主要是了解一些基本的電路知識,如門電路、邏輯電路、存儲器、寄存器,為了更好的理解嵌入式芯片、存儲器、外圍設備等硬件的設計,但往往在軟件開發(fā)中未必能用的到。因為大部分硬件都提供了很完整的軟件接口。

  • 操作系統(tǒng)。這個說的是平臺上選用的操作系統(tǒng)。嵌入式產品操作系統(tǒng)實在是太多了。

    但操作系統(tǒng)的內部設計原理都是殊途同歸。

    首先,要去學習的是操作系統(tǒng)原理,要去了解進程通信、內存管理、文件系統(tǒng)等等幾個重要的部分,因為這些在軟件開發(fā)尤其是內核驅動開發(fā)時會用到。

    接下來,可以去熟悉至少一種主流的操作系統(tǒng),Linux是一個很好的選擇,去了解它的內核架構,設備驅動架構,如何去編譯、裁剪、編寫應用程序,以及如何使用在具體的嵌入式產品上。

  • 計算機的組成/微機原理。主要是為了了解微型計算機的硬件工作原理,明白CPU、總線、I/O、存儲器等一些關鍵結構是怎么工作的,雖然是很枯燥的知識,但是對熟悉外圍設備硬件工作方式,及操作系統(tǒng),軟件架構的設計及優(yōu)化相當關鍵。

3)擴展的能力:這些可能是要用到的

  • 通信協(xié)議。對于非應用層的通信協(xié)議,我實在不知道是不是該把它放入操作系統(tǒng)的范疇,因為很多操作系統(tǒng)是沒有網絡部分的,但是在很多方面它又是由操作系統(tǒng)提供。

    當然這些下層通信協(xié)議,貌似不太用關心,因為太多的開源協(xié)議棧了。應用層的網絡協(xié)議可能就要關心了,比如http、ftp、rtsp、rtmp、mms等等。

  • 音視頻處理。比如文件封裝、音視頻的編解碼、各種音視頻的標準,還有流媒體什么的。Ffmpeg是一個很好的東西,建議學習一下。

  • 信息安全。嗯,這一塊貌似現在越來越受到重視了。

  • 數據庫。唉,嵌入式設備能力越來越強??!再搞搞,我看也不用交叉編譯了。

有時和同事討論起現在的行業(yè)需求,說到各個公司總是招不到人,程序員又總說找不到工作,自己就有很多感想,是公司要求高,還是程序員要求高?

有時候看到一些招聘的職位要求,總是打擊到自己的信心,一條一條數下來,好像自己能做到的還真沒多少,只好讓自己再努力些再努力些。

當然有時也會覺得某些招聘不靠譜,看那一條條的要求,個人感覺要是全做到,普通人怎么也得努力個十年八年的,這樣的大牛們,估計看不上給出的那薪資吧。

對于程序員來講,做技術真的是很累很難的一件事情。網上搜一下,遍地的抱怨貼、情感貼,都充分反映了這個職業(yè)對身體和情感的考驗。

如果你不畏艱難,想把技術做下去,那么努力吧,也許某天你會隨便拿起一份招聘啟事,鄙視一眼:“靠!就這點要求,老子去都掉價!”,那么你就是真正的大牛了!

現有狀況分析

不少新人來到我們研發(fā)已近十幾年。這十幾年里,同一批人員,有的已經很快適應了環(huán)境,經過自己的努力和付出,能為研發(fā)工作獨擋一面,成為某一方面的小專家;

有的盡管前期不太適應,但是通過指導和修正,業(yè)已慢慢進入了工作狀態(tài),相信經過一段時間,會逐步擔當起某一方面的研發(fā)工作。

同一時期進來工作,為什么他們現在的能力和狀態(tài)會產生如此大的差異呢?

通過的相處和分析,我發(fā)現凡是進步快的同志有如下特點:

  • 勤奮,為了解決一個技術問題經常會主動留下來加班。
  • 鉆研,為了解決一個技術問題會主動學習各方面的資料,勤做實驗,用事實去驗證;。
  • 和領導和同事及時主動溝通,集思廣益,爭取各方面的資源,充分利用已有的經驗,避免走彎路,加快研發(fā)進程。
  • 有強烈的事業(yè)心和犧牲精神,不達目標絕不停息。
反之,那些成長慢或者還沒有融入研發(fā)工作的同志則具有以下特點:

  • 工作沒有目標,精力分散,很多的時間花在網絡上,偷偷的看視頻。
  • 工作推卸責任,把工作沒有進展的原因推卸到工作難度太大,或者資源不夠,而自己卻又不主動的去爭取資源。
  • 沒有長期為研發(fā)乃至個人的職業(yè)生涯有充分的打算,或者說來研發(fā)的目標比較低下只是為了混口飯吃;人無遠慮,必有近憂,沒有遠大的理想,外界任何一個小的干擾都會讓你三心二意,因而知識的學習沒有系統(tǒng)性。
  • 和同事和領導的溝通不主動,甚至避讓,怕領導檢查工作。
  • 更關注生活而不是工作。
  • 比較在意自己的付出。
兩種一對照,問題顯而易見:研發(fā)工作是一項很具挑戰(zhàn)性的工作,需要付出艱辛的勞動,需要有扎實的理論基礎和動手能力;在開發(fā)任務面前頭腦清醒,思維敏捷,頭緒清晰,有條不紊。

遇到困難不會退,遇到挫折不氣餒;需要有團隊精神,需要有化解矛盾和困難的勇氣,智慧和決心,要有相當強的心理素質;因此人員的素質和心理狀態(tài)是決定性的。

上進的同志,稍微帶一帶,成長速度很快;不主動的同志,工作起來舉步維艱,帶起來很吃勁,心情也受影響。

為了提高研發(fā)效率,我們開發(fā)了管理軟件,制定了各種規(guī)章制度。但是,軟件和制度只能治標,不能治本,問題的根還是出在人上。

應該講,目前研發(fā)部門的軟硬件條件和和技術水平,可以讓一批想在電子技術嵌入式領域有所作為的年輕人干出驕人成果的。

但是現實情況我們也不能過于樂觀,研發(fā)部門還是存在一些問題的,尤其是人員素質問題。為此我們在參加研發(fā)管理培訓的時候也咨詢過專業(yè)人士,他說了一句話:小草永遠也長不成蒼天大樹。

所以請各位想想,你現在是小樹苗呢,還是草種子?是樹是草取決于你是否有強烈的向上成長的愿望,取決于你是否有千方百計吸取土壤養(yǎng)料的勤奮,取決于你對的人生價值的判別,認為現有的土壤值得你扎扎實實定下根來,做一棵這片土壤上的大樹。

想成為大樹的,我們一定創(chuàng)造條件讓他(她)成長為大樹;如果注定是草種子,我們也無能為力,只有優(yōu)勝劣汰。

再論能力和勤奮及其他

笨鳥先飛早入林,對事物的認知是和事物對大腦的刺激頻率和時間成正比的,一個事情經常去做,時候經常去琢磨,就能悟出其中的道理,對事物認識深度是通過在實踐中不斷發(fā)現錯誤,不斷修正才達到的。

如果人不勤奮,把過多的時間和注意力放在工作之外的地方,那就自己切斷了實踐這個重要環(huán)節(jié),水平和經驗永遠得不到提升,能力的提升更談不上了。

接著就是職務,收入上的提升,說到底就是個人在社會上競爭力的提升。不去提升你的核心競爭力,成天沉迷于網絡還有其他事物,是否有點舍本逐末呢?

以上就是本次的分享~

往期推薦:

分享幾個Ubuntu必裝的軟件

常用的開源協(xié)議有哪些?

嵌入式編程中常用的宏定義有哪些?

一位程序員的十年工作總結,需要注意這幾點!

在公眾號聊天界面回復1024,可獲取嵌入式資源;回復?m?,可查看文章匯總。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉