當前位置:首頁 » 操作系統 » Linux驅動面試

Linux驅動面試

發布時間: 2022-04-26 13:31:58

1. 如何成為優秀的linux驅動工程師

首先要定義,我所認為的一個優秀的驅動開發工程師,應該具備什麼樣的能力,這里列一下按照從易到難的順序,個人認為應該會有幾個方面的要求吧:

能夠獨立完成驅動的功能開發任務
能夠分析和優化驅動的性能,針對特定硬體揚長避短
能夠充分了解模塊相關軟硬體能力、發展方向,輔助應用工程師最大化利用硬體能力
能夠輔助硬體工程師規劃硬體設計,預防問題,謀求功能模塊的最佳方案
能夠協助定義系統架構,合理規劃軟硬體,謀求產品實現的最佳方案

作為一個驅動工程師,很多時候不是完全從頭開發一個完整的子系統,而是針對特定硬體和平台移植驅動,增加功能,解決Bug等等,如果從這方面外在的表現來看:

解決問題的境界,大概會有這么幾個階段:
不知道哪裡存在BUG
不知道如何解決BUG
知道如何解決BUG
知道如何發現BUG
知道如何規劃BUG

知道如何發現BUG(而不是撞上BUG)其實並不簡單,需要你對系統有足夠的了解,能夠察覺可能出問題的地方。而規劃Bug更難,需要你能對問題的輕重緩急做出准確的判斷。沒有的完美的世界,只有適當的取捨,規避和預防。

而從解決問題過程的角度來看,我認可以分為幾個階段:
BUG發生 -> 大量跟蹤調試代碼 -> 終於發現並解決BUG
BUG發生 -> 理論推測可能原因 -> 迅速定位並解決BUG
閱讀代碼 -> 預測可能出現的BUG -> 證實並解決BUG

號稱能光憑瞄一遍代碼就找到問題的高手,我想我是沒希望了。

應該具備怎樣的素質
那麼要達到上訴最佳境界,需要具備和發展哪些素質和能力呢?

足夠的硬體知識
能看簡單的原理圖,能夠分析硬體異常的可能原因,能夠使用常見的硬體調試工具,我想這是做為優秀的驅動工程師,區別與其它軟體工程師,所不可避免、必須具備的專業素質。當然取決於你具體從事的工作,對這方面的要求不盡相同。

對於驅動開發者來說,不了解所開發驅動外設的硬體原理和相關背景知識,也許很多時候,也能夠完成一些移植,修補的工作任務,但這就好比無源之水,無根之木,我相信是很難走遠的。

多多益善的操作系統知識
做驅動開發,特別是純粹的外設的驅動移植工作,剛開始的時候,也許你並不需要了解很多操作系統本身的知識(像內存管理,進程調度,鎖,各種內核子系統的原理框架等等),也能順利完成手頭的一些工作。

但是,如果一但需要優化驅動,需要完善軟體框架,或者是遇上疑難問題需要跟蹤解決,對操作系統,內核本身的了解,就體現出它的價值了。

對於Linux內核驅動開發者,尤其如此,首先,代碼是完全開源的,你有條件去了解背後的運行機制,其次,Linux內核和各個組成子系統總是在迅速的進化發展中,不進則退,你也有必要跟上時代發展的腳步。

強烈的好奇心,持續的熱情
如果驅動開發不僅僅是你的愛好,更是你養家糊口的途徑,我想,很多時候,你大概不會有機會專注於一兩個你最有經驗的模塊的開發和維護。隨著能力的成長,勢必會要求你接觸和掌握越來越多的各式各樣的驅動模塊的開發。

對於這件事,包括我自己,有時候大概都會有如下幾種反應:

哇,原來的工作做太久了,太乏味了,很高興能做不同的工作。
啊?又要做別的模塊啊?我手頭的工作已經太多了!
這個模塊沒意思,我不想做。

相信多數有志青年們都是第一種表現了 8 )不過,有些時候,我發覺,很多人的這種熱情其實並不持久,一個新的模塊沒做多久,就再次厭倦了,是已經爐火純青了么,未必,或許只是修改了幾個BUG以後不甚其煩。很多時候,我面試前來求職的工程師時,發現簡歷上這個也做過,那個也做過,但是一但問到解決了什麼問題,所做過的驅動,框架、流程、原理之類的問題的時候,就一問三不知了。

我覺得如果自己的目標是優秀,那麼最起碼的標准應該是對具體驅動模塊相關的子系統的整體工作流程,框架,具備足夠的好奇心,樂於去了解和學習,而不僅僅是為了完成任務而工作,否則的話,很難積累下扎實的經驗和技術。

清晰的邏輯思維能力
這一點,也許是個軟體開發人員都應該具備吧,不過,做為驅動開發工程師來說,有時候,大多數情況下,工作的硬體環境並不是完美的,遇到問題需要分析判斷錯誤的原因是硬體問題還是驅動Bug,這時候,清晰的邏輯思維能力尤其重要。

良好的工作習慣
大多數人都不是天才,要成為優秀的開發工程師,一需要持續努力,二需要時間積累經驗,而這過程中,很重要的一點,就是要有良好的工作習慣。譬如,注意設計文檔的維護,對工作中遇到的問題的記錄,過往經驗的及時記錄,適當的軟體開發流程等等。文檔工作,可能很多人很不願意去做,它的確很花費時間。不過,唉。。。老啦,好記性不如爛筆頭啊 8 )。當然,其實設計文檔更多的是為你提供思考的機會,而過往經驗的總結,也可以起到和大家交流技術,共同進步的目的。

英語
這個也是必須的啦,沒有辦法,郵件列表,技術文檔,社區,精通英語肯定是很大的優勢,做開源項目尤其如此。閱讀各種Spec標准文檔之類的速度還是很重要的。閱讀無障礙是一回事,能和母語一樣一目十行,那才爽呀,唉,人生苦短,效率啊!光讀文檔,就不知道要比老外多花多少時間。。。。

了解更多開源相關,去LUPA社區看看吧

2. 嵌入式Linux驅動程序開發學習路線

關於這個方向,我認為大概分3個階段:
1、嵌入式linux上層應用,包括QT的GUI開發
2、嵌入式linux系統開發
3、嵌入式linux驅動開發

嵌入式目前主要面向的幾個操作系統是,LINUX,WINCE、VxWorks等等
Linux是開源免費的,而且其源代碼是開放的,更加適合我們學習嵌入式。

所以你可以嘗試以下路線:
(1) C語言是所有編程語言中的強者,單片機、DSP、類似ARM的種種晶元的編程都可以用C語言搞定),因此必須非常熟練的掌握。
推薦書籍:《The C Programming Language》 這本經典的教材是老外寫的,也有中譯版本。
(2) 操作系統原理,是必需的,如果你是計算機專業畢業那也就無所謂了,如果是非計算機專業的就必須找一本比較淺顯的計算機原理書籍看一看,把啥叫「進程」「線程」「系統調度」等等基本問題搞清楚。
(3)Linux操作系統就是用C語言編寫的,所以你也應該先學習下Linux方面的編程,只有你會應用了,才能近一步去了解其內核的精髓。
推薦書籍:《UNIX環境高級編程》(第2版)
(4) 了解ARM的架構,原理,以及其匯編指令,我們在嵌入式開發中,一般很少去寫匯編,但是最起碼的要求是能夠看懂arm匯編。
(5) 系統移植的時候,就需要你從最下層的bootloader開始,然後內核移植,文件系統移植等。而移植這部分對硬體的依賴是非常大的,其配置步驟也相對復雜,也沒有太多詳細資料。
(6) 驅動開發
linux驅動程序設計既是個極富有挑戰性的領域,又是一個博大精深的內容。
linux驅動程序設計本質是屬於linux內核編程范疇的,因而是對linux內核和內核編程是有要求的。在學習前你要想了解linux內核的組成,因為每一部分要詳細研究的話足夠可以擴展成一本厚書。

以上只不過是大概的框架,在實際的開發中還會涉及很多東西,比如:交叉編譯、makefile、shell腳本等等,所以說學習嵌入式的周期較長,門檻較高,自學的話更是需要較強的學習能力和專業功底。只要能堅持下來一定會取得成功!
…………………………………………
嵌入式非常難,看書的話比較晦澀難懂,不容易入門,我個人比較偏向於看視頻教程,因為有老師帶著比較容易入門。給看看一篇文章是關於一位專科生怎麼自學嵌入式的。

做個自我介紹,我07年考上一所很爛專科民辦的學校,學的是生物專業,具體的學校名稱我就不說出來獻丑了。09年我就輟學了,我在那樣的學校,一年學費要1萬多,但是根本沒有人學習,我實在看不到希望,我就退學了。
退學後我也迷茫,大專都沒有畢業,我真的不知道我能幹什麼,我在糾結著我能做什麼。所以輟學後我一段時間,我想去找工作,因為我比較沉默寡言,不是很會說話,我不適合去應聘做業務。我想應聘做技術的,可是處處碰壁。
一次偶然的機會,我才聽到嵌入式這個行業。那天我去新華書店,在計算機分類那邊想找本書學習。後來有個女孩子走過來,問我是不是讀計算機的,有沒有興趣學習嵌入式,然後給我介紹了一下嵌入式現在的火熱情況,告訴我學嵌入式多麼的有前景,給我了一份傳單,嵌入式培訓的廣告。聽了她的介紹,我心裡癢癢的,確實我很想去學會一門自己的技術,靠自己的雙手吃飯。
回家後,我就上網查了下嵌入式,確實是當今比較熱門的行業,也是比較好找工作的,工資也是相對比較高。我就下決心想學嵌入式了。於是我去找嵌入式培訓的相關信息,說真的,我也很迷茫,我不知道培訓是否真的能像他們宣傳的那樣好,所以我就想了解一段時間再做打算。
後來,我在網路知道看到一篇讓我很鼓舞的文章,是一個嵌入式高手介紹沒有基礎的朋友怎麼自學入門學嵌入式,文章寫的很好,包含了如何學習,該怎麼學習。他提到一個方法就是看視頻,因為看書實在太枯燥和費解的,很多我們也看不懂。這點我真的很認同,我自己看書往往看不了幾頁。
我在想,為什麼別人都能自學成才,我也可以的!我要相信自己,所以我就想自學,如果實在學不會我再去培訓。
主意一定,我就去搜索嵌入式的視頻,雖然零星找到一些嵌入式的視頻,但是都不系統,我是想找一個能夠告訴我該怎麼學的視頻,一套從入門到精通的視頻,一個比較完整的資料,最好能有老師教,不懂可以請教的。
後來我又找到一份很好的視頻,是在IT學習聯盟網站推出的一份視頻《零基礎嵌入式就業班》(喜歡《零基礎嵌入式就業班》的可以復制 sina.lt/qKh 粘貼瀏覽器按回車鍵即打開)。裡面的教程還不錯,很完整,可以讓我從基礎的開始學起。視頻比較便宜。
下面介紹下我的學習流程,希望對和我一樣完全沒有基礎的朋友有所幫助。
收到他們寄過來的光碟後,我就開始學習了,由於我沒有什麼基礎,我就從最簡單的C語言視頻教程學起,話說簡單,其實我還是很多不懂的,我只好請教他們,他們還是很熱心的,都幫我解決了。C語言我差不多學了一個禮拜,接下來我就學了linux的基本命令,我在他們提供linux虛擬機上都有做練習,敲linux的基本命令,寫簡單的C語言代碼,差不多也就三個禮拜。我每天都在不停的寫一些簡單的代碼,這樣一月後我基本掌握了C和linux的基本操作。
接下來我就去學習了人家的視頻的培訓教程,是整套的,和去參加培訓沒有多大的區別,這一看就是兩個月,學習了ARM的基本原理,學習嵌入式系統的概念,也掌握了嵌入式的環境的一些搭建,對linux也有更深層次的理解了,明白了嵌入式應用到底是怎麼做的,但是驅動我只是有一點點的了解,這個相對難一點,我想以後再慢慢啃。
這兩個月,除了吃飯睡覺,我幾乎都在學習。因為我知道幾乎沒有基礎,比別人差勁,我只能堅持努力著,我不能放棄,我必要要靠自己來養活自己,必須學好這門技術,然後我就把不懂的問題總結記下來,這樣慢慢積累了一段時間,我發現自己真的有點入門了。
最後的一個月,我就去看關於實踐部分的內容,了解嵌入式項目具體的開發流程,需要什麼樣的知識,我就開始准備這方面的知識,也就是學習這方面的視頻,同時他們建議我去找了找一些嵌入式面試的題目,為自己以後找工作做准備。我就到網上找了很多嵌入式的題目,把他們理解的記下來,這樣差不多准備了20天左右
我覺得自己差不多入門了,會做一些簡單的東西了。我就想去找工作看看,於是我就到51job瘋狂的投簡歷,因為我學歷的問題,專科沒有畢業,說真的,大公司沒有人會要我,所以我投的都是民營的小公司,我希望自己的努力有所回報。沒有想過幾天過後,就有面試了,但是第一次面試我失敗了,雖然我自認為筆試很好,因為我之前做了准備,但是他們的要求比較嚴格,需要有一年的項目經驗,所以我沒有被選中。
後來陸續面試了幾家公司,終於功夫不負有心人。我終於面試上的,是在閔行的一家民營的企業,公司規模比較小,我的職務是嵌入式linux應用開發,做安防產品的應用的。我想我也比較幸運,經理很看重我的努力,就決定錄用我,開的工資是3500一個月,雖然我知道在上海3500隻能過溫飽的生活,但是我想我足夠了。我至少不用每天都要靠父母養,我自己也能養活自己的。我想只要我繼續努力,我工資一定會翻倍的。
把本文寫出來,希望能讓和我一樣的沒有基礎的朋友有信心,其實我們沒有必要自卑,我們不比別人笨,只要我們肯努力,我們一樣會成功。

3. 想學習Linux 驅動,需要什麼知識

首先,接觸linux操作系統,在你的電腦上裝一個linxu操作系統(建議ubuntu,比較友好),熟悉經常要用的命令,熟悉環境(建議看「鳥哥的linux私房菜」)。

其次,閱讀經典書籍是不可少的,建議先看ldd前四章,大概了解linux驅動的框架,驅動是做什麼的,該如何寫驅動,那本書上有一些例子,可以在你的電腦上編譯,執行看看。後面的章節在結合自己的情況而定。

第三,建議閱讀ulk(understanding the linux kernel)所有的內容,了解linux內核的一些基本知識,在心中建立一個框架,不必完全懂,深入了解就好,以後經常翻翻,受益無窮!

第四,別著急,這才是你真的進入linux驅動的第一步,花點錢買個開發板吧,然後了解代碼的編譯,下載,看看板子的datasheet,針對自己感興趣的深入研究。建議學習流程,led燈控制---tp---i2c匯流排-----lcd-----camera----flash----wifi/bt等。因為這個裡面牽涉了甚多內核的子系統(input,v4l2,fb等
),所以可能要多話時間看代碼,了解代碼的框架,設計的思想等,只要一步一個腳印,一定會有所成。

第五,因為現在的移動設備大多數都是android的了,所以你就要看看linux kernel在android的作用,然後往上看看,看看hal層的代碼,這些在調試中都是需要的,如果有興趣,更加可以看看framework的代碼了,學習android一些工作機制,類似於surfaceflinger,audioflinger等等。。

4. 做linux設備驅動的工作和前景如何

做驅動,環境跟公司大小並沒有什麼太大的關聯。比如有些公司主做vxworks, 招linux驅動工程師,則有可能你進去就是一個人做這塊。樓主在面試過程可向考官了解下公司的概況,再決定是否加入。

5. 手機linux驅動的流程是什麼主要想在手機驅動開發方面發展,請問我下一步怎麼學習

我現在是從事linux驅動這塊的,現跟你說說在公司我的主要工作內容吧。
驅動開發,就是去驅動一個設備,比如公司的一個產品,一個手機,公司老大說這個屏顯示不好,要換一個,找屏的廠家,屏提供硬體,軟體,這個軟體就是所謂的驅動代碼,當然這個在你的產品上是跑不起來的,你需要根據你的產品來修改驅動代碼,其實驅動開發就是大部分工作就是驅動移植,當然關鍵是你要知道怎麼移植,這個是重點。通常驅動代碼的分類:字元、塊、網路,這些分類是從軟體上來分類的,實際上應用最多的是硬體介面的分類:i2c 驅動,spi驅動,uart驅動,內核中有對應的子系統:比如說i2c系統。
想快速出去工作,我個你提供一條路,看i2c設備驅動:i2c協議(這個當面試的時候肯定會問你的,如果你說你會i2c驅動)、linux系統的i2c子系統,市面上很多設備都是i2c的,而且這部分設備也經常改動,因為硬體電路簡單。

6. 怎麼達到linux驅動職位要求

我可以給出一些見解,我是通過培訓,然後在此行業工作了近一年。針對你的問題,不同的公司有不同的錄取規則,沒有一個定式。當時找第一份工作前,我也有你的這種困擾,我把我的想法說一下,希望能幫到你。
如果你作為初級驅動工程師去面試,你只需要熟悉一些重要的驅動,比如I2C、SPI,而且自己做過此類驅動的小項目,再針對公司供應職業的需求好好做足功課。這個階段是入職後更專業地學習驅動。
如果你作為資深工程師,有多年經驗,自然地對大部分驅動十分了解,比如USB、網卡、存儲設備等等。
對於驅動框架啊,你一定是要了解並十分熟悉框架的,這樣才可以對相應驅動程序進行填充實現其功能。在面試找工作時這個方面會更重要些,但是我認為只要你認真地研究驅動代碼,是很容易掌握的,關鍵是信心與毅力。
「還有對驅動編寫完後的配置和編譯需要到達什麼程度?」這個問題問的好,這是企業和公司都關心的問題,它關心著產品的市場,至於到什麼程度,基本的功能你一定要很好地實現,如果時間充裕,盡量優化你的代碼,使驅動佔用更少的資源、更省電、數據傳輸更好等等。
以上為個人見解,祝成功!

7. 搞嵌入式linux驅動開發面試應該做哪些准備

軟硬體的基礎知識一定要扎實,比方中斷的原理,串口通信的原理什麼的。。。

最重要的還是你自己在這一年中做過什麼,把你自己做過的東西講清楚的話,

一般人家HR就能判斷你這個人到底肚子里是不是有真材實貨,不要像很多

華而不實的人一樣,自己什麼代碼都沒寫過的項目也往簡歷裡面湊,這樣沒好處。

至於薪水,我們相信做驅動開發的工作永遠也不會差,關鍵還是得能在工作

中出成績才能對得起人家的高薪水。另外除了薪水之外,公司能具有的工作學習

氣氛更加重要,畢竟,你也只有一年的工作經驗,還是處於經驗的積累期。

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

杭州巨立安技術(JulianTec),專注於提供Linux相關的項目研發和技術培訓服務。

8. Linux 內核和驅動開發工程師的發展前景怎麼樣

或許這樣的標題,應該是由像Linus或Greg KH這樣的大師級的高手才有資格寫的吧。但是作為我來說,也許我更想把這個標題作為一個疑問句來使用,整理一下自己的認識,用來勉勵自己,和大家一起努力實現這個目標。認識膚淺的地方,還請大家見諒。

從事嵌入式開發是當下比較熱門的一個領域,做職業規劃的時候,比較清晰的是有三條路可以走:
C1、嵌入式軟體開發工程師
C2、嵌入式硬體開發工程師
C3、嵌入式驅動開發工程師。

其中
C1是計算機相關專業的同學可以選擇的,因為學習的課程相對偏軟,平時在PC上編程比較多,做軟體開發會相對輕松。
C2是學習電子電路的同學可以考慮,對模擬電路比較熟悉,可以設計出質量好的電路板。
C3的難度比較大,需要同時熟悉軟體和硬體,真正的做到軟、硬相結合,搭建軟體和硬體互通的橋梁,當然了在業界的待遇也是相對來說比較高的。

我們可以去一些招聘網站查看相關企業的崗位要求,這樣學習的時候就有了一個比較明確的目標。今天看到一位前輩的博文,談究竟應該如何成為優秀的驅動開發工程師,很受鼓舞,在此與大家分享共勉。
--------------------------------------------------------------
何謂優秀的驅動開發工程師
首先要定義,我所認為的一個優秀的驅動開發工程師,應該具備什麼樣的能力,這里列一下按照從易到難的順序,個人認為應該會有幾個方面的要求吧:

能夠獨立完成驅動的功能開發任務
能夠分析和優化驅動的性能,針對特定硬體揚長避短
能夠充分了解模塊相關軟硬體能力、發展方向,輔助應用工程師最大化利用硬體能力
能夠輔助硬體工程師規劃硬體設計,預防問題,謀求功能模塊的最佳方案
能夠協助定義系統架構,合理規劃軟硬體,謀求產品實現的最佳方案

作為一個驅動工程師,很多時候不是完全從頭開發一個完整的子系統,而是針對特定硬體和平台移植驅動,增加功能,解決Bug等等,如果從這方面外在的表現來看:

解決問題的境界,大概會有這么幾個階段:

不知道哪裡存在BUG
不知道如何解決BUG
知道如何解決BUG
知道如何發現BUG
知道如何規劃BUG

知道如何發現BUG(而不是撞上BUG)其實並不簡單,需要你對系統有足夠的了解,能夠察覺可能出問題的地方。 而規劃Bug更難,需要你能對問題的輕重緩急做出准確的判斷。沒有的完美的世界,只有適當的取捨,規避和預防。

而從解決問題過程的角度來看,我認可以分為幾個階段:

BUG發生 -> 大量跟蹤調試代碼 -> 終於發現並解決BUG
BUG發生 -> 理論推測可能原因 -> 迅速定位並解決BUG
閱讀代碼 -> 預測可能出現的BUG -> 證實並解決BUG

---------------------------------------------------------------
應該具備怎樣的素質
那麼要達到上訴最佳境界,需要具備和發展哪些素質和能力呢?

一、足夠的硬體知識
能看簡單的原理圖,能夠分析硬體異常的可能原因,能夠使用常見的硬體調試工具,我想這是做為優秀的驅動工程師,區別與其它軟體工程師,所不可避免、必須具備的專業素質。當然取決於你具體從事的工作,對這方面的要求不盡相同。
對於驅動開發者來說,不了解所開發驅動外設的硬體原理和相關背景知識,也許很多時候,也能夠完成一些移植,修補的工作任務,但這就好比無源之水,無根之木,我相信是很難走遠的。

二、多多益善的操作系統知識
做驅動開發,特別是純粹的外設的驅動移植工作,剛開始的時候,也許你並不需要了解很多操作系統本身的知識(像內存管理,進程調度,鎖,各種內核子系統的原理框架等等),也能順利完成手頭的一些工作。
但是,如果一但需要優化驅動,需要完善軟體框架,或者是遇上疑難問題需要跟蹤解決,對操作系統,內核本身的了解,就體現出它的價值了。
對於Linux內核驅動開發者,尤其如此,首先,代碼是完全開源的,你有條件去了解背後的運行機制,其次,Linux內核和各個組成子系統總是在迅速的進化發展中,不進則退,你也有必要跟上時代發展的腳步。

三、強烈的好奇心,持續的熱情
如果驅動開發不僅僅是你的愛好,更是你養家糊口的途徑,我想,很多時候,你大概不會有機會專注於一兩個你最有經驗的模塊的開發和維護。隨著能力的成長,勢必會要求你接觸和掌握越來越多的各式各樣的驅動模塊的開發。
對於這件事,包括我自己,有時候大概都會有如下幾種反應:

哇,原來的工作做太久了,太乏味了,很高興能做不同的工作。
啊?又要做別的模塊啊?我手頭的工作已經太多了!
這個模塊沒意思,我不想做。

相信多數有志青年們都是第一種表現了,不過,有些時候,我發覺,很多人的這種熱情其實並不持久,一個新的模塊沒做多久,就再次厭倦了,是已經爐火純青了么,未必,或許只是修改了幾個BUG以後不甚其煩。很多時候,我面試前來求職的工程師時,發現簡歷上這個也做過,那個也做過,但是一旦問到解決了什麼問題,所做過的驅動,框架、流程、原理之類的問題的時候,就一問三不知了。

我覺得如果自己的目標是優秀,那麼最起碼的標准應該是對具體驅動模塊相關的子系統的整體工作流程,框架,具備足夠的好奇心,樂於去了解和學習,而不僅僅是為了完成任務而工作,否則的話,很難積累下扎實的經驗和技術。

四、清晰的邏輯思維能力
這一點,也許是個軟體開發人員都應該具備吧,不過,做為驅動開發工程師來說,有時候,大多數情況下,工作的硬體環境並不是完美的,遇到問題需要分析判斷錯誤的原因是硬體問題還是驅動Bug,這時候,清晰的邏輯思維能力尤其重要。

五、良好的工作習慣
大多數人都不是天才,要成為優秀的開發工程師,其一需要持續努力,其二需要時間積累經驗,而這過程中,很重要的一點,就是要有良好的工作習慣。譬如,注意設計文檔的維護,對工作中遇到的問題的記錄,過往經驗的及時記錄,適當的軟體開發流程等等。文檔工作,可能很多人很不願意去做,它的確很花費時間。不過,唉。。。老啦,好記性不如爛筆頭啊 。當然,其實設計文檔更多的是為你提供思考的機會,而過往經驗的總結,也可以起到和大家交流技術,共同進步的目的。

六、英語
這個也是必須的啦,沒有辦法,郵件列表,技術文檔,社區,精通英語肯定是很大的優勢,做開源項目尤其如此。閱讀各種Spec標准文檔之類的速度還是很重要的。閱讀無障礙是一回事,能和母語一樣一目十行,那才爽呀,唉,人生苦短,效率啊!光讀文檔,就不知道要比老外多花多少時間。

9. 請問做嵌入式linux驅動開發的工作需要對驅動熟練到什麼程度才行

你好,樓主:
我可以給出一些見解,我是通過培訓,然後在此行業工作了近一年。針對你的問題,不同的公司有不同的錄取規則,沒有一個定式。當時找第一份工作前,我也有你的這種困擾,我把我的想法說一下,希望能幫到你。
如果你作為初級驅動工程師去面試,你只需要熟悉一些重要的驅動,比如I2C、SPI,而且自己做過此類驅動的小項目,再針對公司供應職業的需求好好做足功課。這個階段是入職後更專業地學習驅動。
如果你作為資深工程師,有多年經驗,自然地對大部分驅動十分了解,比如USB、網卡、存儲設備等等。
對於驅動框架啊,你一定是要了解並十分熟悉框架的,這樣才可以對相應驅動程序進行填充實現其功能。在面試找工作時這個方面會更重要些,但是我認為只要你認真地研究驅動代碼,是很容易掌握的,關鍵是信心與毅力。
「還有對驅動編寫完後的配置和編譯需要到達什麼程度?」這個問題問的好,這是企業和公司都關心的問題,它關心著產品的市場,至於到什麼程度,基本的功能你一定要很好地實現,如果時間充裕,盡量優化你的代碼,使驅動佔用更少的資源、更省電、數據傳輸更好等等。
以上為個人見解,祝成功!

10. 從事linux 設備驅動開發工作.需要什麼樣的學歷和英語等級

您好,我個人估計學歷沒有也罷,但是要腦子好使,有一些編程的基礎,不是英語好就行的。是要專門學習的,專科學校里出來的人最好的。不過有的地方就是看重文憑,所以您必須要到正規的地方考一個文憑。
在我看來只要能編程就可以了,別的我還是不看重的。

熱點內容
動態規劃01背包演算法 發布:2024-11-05 22:17:40 瀏覽:849
nasm編譯器如何安裝 發布:2024-11-05 22:01:13 瀏覽:180
登錄密碼在微信的哪裡 發布:2024-11-05 22:00:29 瀏覽:739
c防止反編譯工具 發布:2024-11-05 21:56:14 瀏覽:247
安卓虛擬機怎麼用 發布:2024-11-05 21:52:48 瀏覽:344
php時間搜索 發布:2024-11-05 20:58:36 瀏覽:478
燕山大學編譯原理期末考試題 發布:2024-11-05 20:13:54 瀏覽:527
華為電腦出現臨時伺服器 發布:2024-11-05 20:05:08 瀏覽:408
斗戰神免費挖礦腳本 發布:2024-11-05 19:53:25 瀏覽:665
網吧伺服器分別是什麼 發布:2024-11-05 19:45:32 瀏覽:392