做高通平台安卓驅動感言

來源:互聯網
上載者:User

標籤:高通平台驅動感言

         第二次寫這類部落格,之前還是求職期間寫的面試之類的經曆。

         不知不覺做驅動再過2個月就3年了,可以說這3年學習到的很多,老大或者同事們的指教,針對性通過百度等搜尋等,還有就是自己一邊工作一邊自己研究到的。知識,解決問題的能力也是慢慢積累起來的。這二年多來一直在做驅動,由開始開始接觸調試LCD TP等等,每次會重複做事,但是自己學習到的也很多,學會分析關鍵問題,掌握一些驅動調試方法,其實調試驅動來說一個printk真的夠了,再強大不過了,調試過高通modem側代碼後發現kernel是多麼好調試。再調試LCD中首先研究懂得了一些平台操作display的流程與kernel背光操作,之後解決問題就很熟手了。比較難的就是調試qct的lk裡面的lcd顯示與開機logo保持,這些感覺對於剛開始做驅動還是蠻吃力的那段時間壓力很大,期間會使用delay來調試lk與kernel剛啟動出現的問題,比與說在lk裡面logo消失或者kernel剛啟動時消失,調試過一次lcd lk display後後面不亮的或者其它問題的都很好解決了,當然是qct的,調試qrd就輕鬆多了,主要是問題比較少。啟動時顯示出現問題使用delay就很好查了,有的可能說串口輸出,但是實踐證明delay是最實用的。當然串口輸出調試確實很好比如死機等等,很強大,個人感覺只要可以輸出log,就很難存在解決不了的問題。對於TP,無非採樣上報,屬於i2c裝置同時屬於input裝置,調試期間遇見的更多是FAE最佳化抗幹擾與報點,睡眠電流,喚醒不能工作等問題。相比lcd簡單的多。搞lcd tp差不多了,感覺掌握的很好,問題出現可以快速解決了,之後又搞了charge與batt,同時像休眠問題也在搞,後面一直從事電源管理方面的。charge與batt個人感覺功能ok後後續還是需要試用期間慢慢最佳化的,特別是電量不準確問題,做qct出現過插上charger後不能充電問題,還有許多其他的問題量產前都會慢慢出現,個人覺得只要熟悉linux power部分解決不是很難的,還是那句話linux kernel出現的問題由於有printk最容易解決的,除非是硬體問題。是的驅動與硬體經常相互指責,當出現問題的時候。再說camera,只記得第一年搞過高通realease出來的一個sense模組,還有一個需要在其它平台移植過來的驅動,調試過程中無非上上電,拉下RST,移植中出現null 指標等,解決完遇見的問題後camera最終會亮起來,當然之後還需要tunning。這個是個很費力的活,同時很耗時間。以後沒有幹過camera了,個人覺得還是繼續研究linux kernel裡面的為好,畢竟是做驅動,而不是去為了camera效果一直去tunning。tunning需要專門的人去做,一旦專門tunning就很難有時間做別的活了。當然有些公司給tunnning camera的待遇很好,即使這樣我也不會動心去深入搞這塊。個人愛好等不一樣,後面一直專註於linux kernel。

         所在公司不光做手機還會整合其它的模組,這樣開發起來相比只做手機的難度大了許多,很多東西自己得去研究。比如整合第三方modem,驅動工程師活也多,雖然一般廠家會提供驅動但是適配到新的平台難免有許多問題,甚至很嚴重的問題需要分析解決。開發難度上層最大,但是驅動是基礎,所以穩定性等要求比較高。

         去年經曆過一個很難解決的問題就是高端平台上1080P LCD偶爾會藍屏的問題,但是通常一周可能才出現一次左右,甚至不會出現。當時頂著壓力花費很久最終還是解決了。提case給高通,他們給的不能解決,最後是自己硬著頭皮解決的,這個問題難在複現bug很難,後來發現某個大廠這個平台上都有這個問題,很慶幸自己能解決大廠不能解決的問題。解決後高通支援反過來問如何解決的?倒是很滋潤。對於高通支援工程師我想說,他們支援越來越慢,很多時候完全靠自己,居然有時說沒有機器,但是每次關閉case還是習慣性好評。

         從去年開始可以給公司解決一些比較難的底層問題到現在領導把LCD等外設交給新入職的調試,個人能力慢慢成長,現在還是很關注linux kernel裡面一些驅動等研究,解決一些有難度的問題。雖說說不上精通linux kernel但是可以說非常熟悉,產品底層出現問題可以快速定位分析。個人感覺即使做驅動十年也談不上精通,畢竟linux kerne是個系統核心,精髓在記憶體管理等等,說精通恐怕只有那些提交linux改進最佳化系統核心的人。

        前段時間看過別人評價做mtk驅動的,說怎麼怎麼簡單,害了年輕人,個人很慶幸當時入職選擇了做高通驅動。之前也是可以選擇做mtk驅動的或者wince的。再加上這家公司技術實力還是比較牛逼的在業界。自己做高通,就我熟知的kernel代碼確實很漂亮,外國人寫的品質很高,同時裝置驅動很豐富,對於剛參加工作的人確實很有益處,學到的非常的多。對於mtk自己沒有做過,雖然別人說怎麼怎麼樣,但是國產的畢竟跑起來的也是很牛逼的。個人覺得知識在於深入研究才會長能力。以後有機會倒是想多接觸幾個平台。但是做linux驅動的感覺與平台關係也不是很大,畢竟Linux大的架構擺在那裡。

    記得剛入職時幹活很急很浮躁,恨不得一下功能就ok。但是現在幹活更多的是享受,一種積累,一種深入發掘的過程。做產品更多的是關注是自己後期試用來找出或者測試出來的問題,同時定位解決問題。


     

         


做高通平台安卓驅動感言

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.