欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: LINUX下OMAP3530接MT9P031的攝像頭驅動調試 給力的一周 [打印本頁]

作者: 51黑專家    時間: 2016-5-10 02:42
標題: LINUX下OMAP3530接MT9P031的攝像頭驅動調試 給力的一周

    最近有兩個項目都挺著急的,尤其是LINUX下OMAP3530接MT9P031的攝像頭驅動弄了很長時間。本來是讓新來的兄弟負責驅動開發來著,無奈兄弟沒有接觸過硬件,也沒有linux下視頻驅動開發的經驗,搗鼓了一個多月還沒理清驅動注冊的流程,而且也沒有什么思緒——的確,這個對一個剛畢業的學生來說的確難度比較大……想著這個項目對今年的計劃非常重要,而項目還沒贏利,我每月還要拿那么多銀子,心里就待不住了。只有硬趕鴨子上樹了,不管怎么著,今年的幾個項目必須得做出來。上個月設計完一個新板子就馬上轉移精力到這個驅動開發上了。
    開始看到一堆堆代碼,一層層的看著就頭大的不行。后來在網上查了些驅動架構的資料,又找了些SENSOR的驅動還有一些雜七雜八的材料就泡了起來。到現在現學驅動架構的話時間上來不急了,于是先找了一些OMAP3530相關的攝像頭驅動,模擬的、數字的,各個LINUX內核版本下的驅動找了好幾個。然后就是總結這些驅動的異同,這些異同一出來,相同的部分參考移植,不同的部分參考修改……只要這些異同不會整理錯,直覺告訴我——能成……
    計劃實施的還算比較順利,經過一周多時間這些異同都圈出來了,于是開始組裝調試自己的驅動。驅動的調試還是挺麻煩的,以前用仿真器習慣了,現在調LINUX下的驅動,真是有力使不出啊。有時候一個小小的疏忽導致LINUX內核都跑不起來,串口什么打印信息也沒有,只能使出硬件調試的野路子——在內核編譯結果中查打印信息所在的內存地址,連上仿真器,直接去內存里面抓ASC碼,抓寄存器……呵呵,相信很多做過N年LINUX開發的都沒有見過這么干的……沒有辦法,雖然土,但也還有效果。
    設備注冊上了……
    I2C檢測到了MT9P031傳感器型號(起初兩塊樣板都有焊接問題,無法進行I2C通訊)……
    OMAP3530 ISP輸出時鐘有了……
    MT9P031設置通過了……
    MT9P031鎖相環配置通過了,所有輸出與預期一致……
    感覺每天都會有進展,心里總會不停的激動,似乎總能感覺到自己渴望的東西離自己越來越近,似乎就要能聽到它的呼吸。
    上周末的時候截取到了疑似圖像幀,當前景亮度明顯變化的時候可以看到幀內數據有符合規律的變化。于是斷定,它不遠了……
    這周自己寫了一個把MT9P031的BAYER格式圖像數據轉存bmp文件的應用程序,還寫了一個將BAYER格式圖像直接顯示到電視機的程序。結果前兩天都出一些奇怪的圖。后來跟老師討論這個奇怪現象的時候,老師發現了我應用程序里的一個移位的語法錯誤,修改后bmp文件赫然出現了清晰的圖像……這就像不再是聽它呼吸,而是看到了它清秀可人的面龐!雖然表面淡定,可心里還是相當的那啥……
    不過,還有一個問題,也是最后一個關鍵問題。當時雖然得到了圖像,但LINUX并無法得知有可用幀準備好。當時獲取圖像是以非阻塞模式打開的攝像頭,所以是硬把幀緩沖地址取出來做的處理。LINUX無法得知可用幀,懷疑要么沒進幀中斷,要么幀中斷有問題而沒有對幀緩沖作操作處理。
    周五下午在茫茫碼海里找到了那個幀中斷,在里面加上了打印信息,從串口打印信息里可以推斷,幀中斷的確發生了,而且發生頻率和自己配置的幀率一致。范圍進一步縮小了,基本確定是中斷里沒有通知操作系統……周五晚上有約,就沒有進一步確認問題,但能肯定問題發生在什么地方了。
    周六沒什么事,心里放不下那么問題,就去加了下班。對比了一些其他版本內核的幀中斷處理和我用的內核版本程序,發現我使用的代碼里幀中斷只處理了PAL或NTSC間行掃描類型的奇場,而一判斷是逐行掃描的類型就直接退出了。不知道是這個版本本身就有的問題,還是給我們提供代碼的開發板商作過修改……于是在其中加入了逐行掃描的處理。
    然后從串口打印信息里面可以推斷出LINUX已經識別到了可用幀。最后一塊石頭終于落地了,所有能算得上困難的問題都解決了……心里一個舒暢,給同學打電話想聚眾三國殺來著,鐵桿殺友居然獨自去爬山……哎,回家又是無聊,就在實驗室里繼續修改那個把視頻顯示到電視上的程序,不長時間就修改好了,在電視里可以實時看到采集的視頻圖像。
    所有的主要問題都搞定了,悲劇的是居然找不到人一起吃飯,只能晚上一個人去吃小火鍋。
    另外,這個過程中我還負責著另一個產品的樣機生產和傳感器控制邏輯編寫,這周控制邏輯也寫完了。
    總的來看,這周相當給力!有我欠著人家飯的兄弟姐妹,以及覺得我該請吃飯的街坊鄰居,下周抓緊聯系啊……


作者: 51黑專家    時間: 2016-5-10 02:42
    上周調MT9P031出了一堆印象派藝術畫,今天終于找到了原因。是我在10位 BAYER轉24位BMP文件的時候數據拼錯了。忙了一個來月的MT9P031驅動也算有一個小結了。上個圖先。還有一點小問題,LINUX不能獲知有可用幀,所在只有一個緩沖區不停的刷圖,目前用非阻塞方式打開的攝像頭,可以“強行”取出圖像數據。應當是OMAP3530的視頻接口配置還有些問題,明后兩天不出意外的話能解決掉。



作者: 51黑專家    時間: 2016-5-10 02:44


        今天又游一趟天津。去幫一個朋友看一個產品里的問題,下午去看望了認識了N久的何老師。老工程師精神太好了,又極為熱情。何老師的包子味道太好了,吃光才走……一邊吃一邊欣賞何老師珍藏的各種風格音樂,音響也很強,連電源插座也是專業的,老先生太會生活了……當然,最主要的還是探討了N多電子方面的問題……

        剛回到北京,買了張夜場的3D加勒比海盜,嘿嘿,熬半個通宵看個電影……明天去加班,抓緊把CMOS在OMAP3530下的LINUX驅動搞定……





歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1