国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

一位驅(qū)動(dòng)工程師工作3年后的感悟,給想做驅(qū)動(dòng)的新手們一些參考...

發(fā)布時(shí)間:2017-9-1 10:23    發(fā)布者:技術(shù)小白
關(guān)鍵詞: 嵌入式 , 工程師 , Linux , 驅(qū)動(dòng)
一位驅(qū)動(dòng)工程師工作3年后的感悟,給想做驅(qū)動(dòng)的新手們一些參考...

不知不覺做驅(qū)動(dòng)再過2個(gè)月就3年了,可以說這3年學(xué)習(xí)到的很多,老大或者同事們的指教,針對(duì)性通過百度等搜索等,還有就是自己一邊工作一邊自己 研究到的知識(shí),解決問題的能力也是慢慢積累起來的。


這二年多來一直在做驅(qū)動(dòng),由開始開始接觸調(diào)試LCD TP等等,每次會(huì)重復(fù)做事,但是自己學(xué)習(xí)到的也很多,學(xué)會(huì)分析關(guān)鍵問題,掌握一些驅(qū)動(dòng)調(diào)試方法,其實(shí)調(diào)試驅(qū)動(dòng)來說一個(gè)printk真的夠了,再?gòu)?qiáng)大不過了,調(diào)試過高通modem側(cè)代碼后發(fā)現(xiàn)kernel是多么好調(diào)試。

再調(diào)試LCD中首先研究懂得了一些平臺(tái)操作display的流程與kernel背光操作,之后解決問題就很熟手了。比較難的就是調(diào)試qct的lk里面的lcd顯示與開機(jī)logo保持,這些感覺對(duì)于剛開始做驅(qū)動(dòng)還是蠻吃力的那段時(shí)間壓力很大,期間會(huì)使用delay來調(diào)試lk與kernel剛啟動(dòng)出現(xiàn)的問題,比與說在lk里面logo消失或者kernel剛啟動(dòng)時(shí)消失,調(diào)試過一次lcd lk display后后面不亮的或者其它問題的都很好解決了,當(dāng)然是qct的,調(diào)試qrd就輕松多了,主要是問題比較少。啟動(dòng)時(shí)顯示出現(xiàn)問題使用delay就很好查了,有的可能說串口輸出,但是實(shí)踐證明delay是最實(shí)用的。當(dāng)然串口輸出調(diào)試確實(shí)很好比如死機(jī)等等,很強(qiáng)大,個(gè)人感覺只要可以輸出log,就很難存在解決不了的問題。

對(duì)于TP,無非采樣上報(bào),屬于i2c設(shè)備同時(shí)屬于input設(shè)備,調(diào)試期間遇見的更多是FAE優(yōu)化抗干擾與報(bào)點(diǎn),睡眠電流,喚醒不能工作等問題。相比lcd簡(jiǎn)單的多。搞lcd tp差不多了,感覺掌握的很好,問題出現(xiàn)可以快速解決了,之后又搞了charge與batt,同時(shí)像休眠問題也在搞,后面一直從事電源管理方面的。charge與batt個(gè)人感覺功能ok后后續(xù)還是需要試用期間慢慢優(yōu)化的,特別是電量不準(zhǔn)確問題,做qct出現(xiàn)過插上charger后不能充電問題,還有許多其他的問題量產(chǎn)前都會(huì)慢慢出現(xiàn),個(gè)人覺得只要熟悉Linux power部分解決不是很難的,還是那句話linux kernel出現(xiàn)的問題由于有printk最容易解決的,除非是硬件問題。

是的驅(qū)動(dòng)與硬件經(jīng)常相互指責(zé),當(dāng)出現(xiàn)問題的時(shí)候。再說camera,只記得第一年搞過高通realease出來的一個(gè)sense模組,還有一個(gè)需要在其它平臺(tái)移植過來的驅(qū)動(dòng),調(diào)試過程中無非上上電,拉下RST,移植中出現(xiàn)空指針等,解決完遇見的問題后camera最終會(huì)亮起來,當(dāng)然之后還需要tunning。這個(gè)是個(gè)很費(fèi)力的活,同時(shí)很耗時(shí)間。以后沒有干過camera了,個(gè)人覺得還是繼續(xù)研究linux kernel里面的為好,畢竟是做驅(qū)動(dòng),而不是去為了camera效果一直去tunning。tunning需要專門的人去做,一旦專門tunning就很難有時(shí)間做別的活了。當(dāng)然有些公司給tunnning camera的待遇很好,即使這樣我也不會(huì)動(dòng)心去深入搞這塊。個(gè)人愛好等不一樣,后面一直專注于linux kernel。

所在公司不光做手機(jī)還會(huì)集成其它的模塊,這樣開發(fā)起來相比只做手機(jī)的難度大了許多,很多東西自己得去研究。比如集成第三方modem,驅(qū)動(dòng)工程師活也多,雖然一般廠家會(huì)提供驅(qū)動(dòng)但是適配到新的平臺(tái)難免有許多問題,甚至很嚴(yán)重的問題需要分析解決。

開發(fā)難度上層最大,但是驅(qū)動(dòng)是基礎(chǔ),所以穩(wěn)定性等要求比較高。比如集成UART掛載的模塊,會(huì)涉及到串口通訊驅(qū)動(dòng)與數(shù)據(jù)流等問題。還有sdio接口的模塊比如網(wǎng)卡 特別功能的T卡等模塊,這里簡(jiǎn)單的說下可熱插拔的sdio設(shè)備,當(dāng)插入設(shè)備時(shí),首先sdcc host會(huì)出發(fā)中斷,在core.c里面會(huì)根據(jù)協(xié)議來detect是什么接口設(shè)備是sd還是sdio還是mmc,檢測(cè)到后會(huì)出現(xiàn)log:new high speed xxxx,之后就加載驅(qū)動(dòng)。

說下usb,拿usb接口的網(wǎng)卡來說下usb流程,首先當(dāng)kernel啟動(dòng)時(shí)hub會(huì)檢測(cè)到usb設(shè)備,通過2次RST port來獲取設(shè)備描敘符,設(shè)置address,我們?cè)隍?qū)動(dòng)里面需要找到對(duì)應(yīng)的驅(qū)動(dòng),對(duì)于usb網(wǎng)卡來說,在driver/net/usb下面有許多類似的驅(qū)動(dòng)程序,可以找到最匹配的一個(gè)來使用,加入獲取到的PID VID CALSS等信息,host會(huì)通過這些信息來match對(duì)應(yīng)的usb設(shè)備接口,當(dāng)然許多usb設(shè)備不止一個(gè)接口,usb通訊可以理解為多個(gè)高通串口,這里很可能需要根據(jù)不同的CLASS或者INTERFACE來加載不同的驅(qū)動(dòng),對(duì)于網(wǎng)卡驅(qū)動(dòng)來說有自己driver模型而不需要字符設(shè)備等供上層交互,usb設(shè)備驅(qū)動(dòng)是linux最復(fù)雜點(diǎn)的,就說這么多。

等到集成到AP上的模塊可以正常工作后,你會(huì)發(fā)現(xiàn)幾乎每個(gè)模塊由于使用到了linux下面的總線,會(huì)導(dǎo)致休眠不了,不同的接口都需要自己研究處理,讓kernel休眠下來,這部分很多需要自己的摸索。尤其是usb驅(qū)動(dòng)的休眠是最不好處理的,涉及到runtime機(jī)制。對(duì)于手機(jī)廠家來說調(diào)驅(qū)動(dòng)更多的是他們家的外設(shè),通常都有模板。

但是對(duì)于集成更多功能的嵌入式產(chǎn)品來說,功能很豐富,附加值高,開發(fā)難度更多,大量的上層需要自己做,就做驅(qū)動(dòng)而言,首先底層需要提供一個(gè)類似字符設(shè)備或者misc設(shè)備接口等供上層讀寫,驅(qū)動(dòng)寫好后需要寫個(gè)簡(jiǎn)單的測(cè)試程序來open write read文件,再跟下kernel里面的數(shù)據(jù)流,查查硬件通訊有沒有問題,模塊接收到?jīng)]有,會(huì)不會(huì)丟數(shù)據(jù)等等,這些穩(wěn)定性會(huì)在后期暴漏出來慢慢改進(jìn)。等一切ok后就是kernel里面的睡眠與喚醒了,當(dāng)然還有第三方模塊自己的功耗問題這個(gè)第三方負(fù)責(zé)了。

去年經(jīng)歷過一個(gè)很難解決的問題就是高端平臺(tái)上1080P LCD偶爾會(huì)藍(lán)屏的問題,但是通常一周可能才出現(xiàn)一次左右,甚至不會(huì)出現(xiàn)。當(dāng)時(shí)頂著壓力花費(fèi)很久最終還是解決了。提case給高通,他們給的不能解決,最后是自己硬著頭皮解決的,這個(gè)問題難在復(fù)現(xiàn)bug很難,后來發(fā)現(xiàn)某個(gè)大廠這個(gè)平臺(tái)上都有這個(gè)問題,很慶幸自己能解決大廠不能解決的問題。

解決后高通支持反過來問如何解決的?倒是很滋潤(rùn)。對(duì)于高通支持工程師我想說,他們支持越來越慢,很多時(shí)候完全靠自己,居然有時(shí)說沒有機(jī)器,但是每次關(guān)閉case還是習(xí)慣性好評(píng)。

從去年開始可以給公司解決一些比較難的底層問題到現(xiàn)在領(lǐng)導(dǎo)把LCD等外設(shè)交給新入職的調(diào)試,個(gè)人能力慢慢成長(zhǎng),現(xiàn)在還是很關(guān)注linux kernel里面一些驅(qū)動(dòng)等研究,解決一些有難度的問題。雖說說不上精通linux kernel但是可以說非常熟悉,產(chǎn)品底層出現(xiàn)問題可以快速定位分析。個(gè)人感覺即使做驅(qū)動(dòng)十年也談不上精通,畢竟linux kerne是個(gè)系統(tǒng)內(nèi)核,精髓在內(nèi)存管理等等,說精通恐怕只有那些提交linux改進(jìn)優(yōu)化系統(tǒng)內(nèi)核的人。

前段時(shí)間看過別人評(píng)價(jià)做mtk驅(qū)動(dòng)的,說怎么怎么簡(jiǎn)單,害了年輕人,個(gè)人很慶幸當(dāng)時(shí)入職選擇了做高通驅(qū)動(dòng)。之前也是可以選擇做mtk驅(qū)動(dòng)的或者wince的。再加上這家公司技術(shù)實(shí)力還是比較牛逼的在業(yè)界。自己做高通,就我熟知的kernel代碼確實(shí)很漂亮,外國(guó)人寫的質(zhì)量很高,同時(shí)設(shè)備驅(qū)動(dòng)很豐富,對(duì)于剛參加工作的人確實(shí)很有益處,學(xué)到的非常的多。對(duì)于mtk自己沒有做過,雖然別人說怎么怎么樣,但是國(guó)產(chǎn)的畢竟跑起來的也是很牛逼的。個(gè)人覺得知識(shí)在于深入研究才會(huì)長(zhǎng)能力。以后有機(jī)會(huì)倒是想多接觸幾個(gè)平臺(tái)。但是做linux驅(qū)動(dòng)的感覺與平臺(tái)關(guān)系也不是很大,畢竟Linux大的框架擺在那里。

記得剛?cè)肼殨r(shí)干活很急很浮躁,恨不得一下功能就ok。但是現(xiàn)在干活更多的是享受,一種積累,一種深入發(fā)掘的過程。做產(chǎn)品更多的是關(guān)注是自己后期試用來找出或者測(cè)試出來的問題,同時(shí)定位解決問題。

后續(xù)個(gè)人發(fā)展方向:研究音頻方面,之前自己也學(xué)習(xí)了不少,但是沒有親自做過,這些都是別人負(fù)責(zé)的,自己也會(huì)拿手機(jī)去debug比如耳機(jī)插拔 按鍵 speaker等。這些都是簡(jiǎn)單的,軟件上更多的是底層通道切換等等。


以下課程可免費(fèi)試聽C語言電子PCBSTM32、Linux、FPGA、JAVA、安卓等。
想學(xué)習(xí)的你和我聯(lián)系預(yù)約就可以免費(fèi)聽課了。
宋工企鵝號(hào):3524-6590-88   Tel/WX:173--1795--1908



本文地址:http://www.qingdxww.cn/thread-516464-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • 你仿真過嗎?使用免費(fèi)的MPLAB Mindi模擬仿真器降低設(shè)計(jì)風(fēng)險(xiǎn)
  • 利用模擬開發(fā)工具生態(tài)系統(tǒng)進(jìn)行安全電路設(shè)計(jì)
  • 深度體驗(yàn)Microchip自動(dòng)輔助駕駛應(yīng)用方案——2025巡展開啟報(bào)名!
  • 想要避免發(fā)生災(zāi)難,就用MPLAB SiC電源仿真器!
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 免费高清毛片 | 五月天堂网 | 亚洲日韩欧美视频 | 欧美日本一区亚洲欧美一区 | 日韩欧美在线综合网高清 | 欧美亚洲综合另类 | 日日夜夜天天 | 亚洲免费视频网 | 国产欧美日韩精品一区二区三区 | 破外女出血一级毛片 | 日本视频二区 | 一区二区三区免费高清视频 | www亚洲视频| 亚洲第一视频网 | 91小视频版在线观看www | 四虎免费在线观看视频 | 亚洲天堂免费在线 | 久久窝窝国产精品午夜看15 | 亚洲国产一区二区三区 | 免费观看的毛片 | av手机在线播放 | 一级女人18毛片免费 | 黑人在线 | 一级黄色片a | 偷拍亚洲欧美 | 国产刚刚发育被强j在线播放 | 九九热视频在线观看 | 亚洲1卡2卡三卡3卡4卡网站 | 久久综合结合久久很很很97色 | 四虎在线影视 | 国产成人久久久精品毛片 | 亚洲宅男天堂 | 国产欧美日韩不卡一区二区三区 | 91精品国产免费久久国语蜜臀 | 精东影业精东影业果冻传媒 | 国产老女人精品免费视频 | 欧美日韩高清在线观看 | 奇米一区 | 农村寡妇一级毛片免费看视频 | 在线国产91 | 一区二区三区在线 |