久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2600|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

LINUX下OMAP3530接MT9P031的攝像頭驅(qū)動調(diào)試 給力的一周

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:114320 發(fā)表于 2016-5-10 02:42 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

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

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:114320 發(fā)表于 2016-5-10 02:42 | 只看該作者
    上周調(diào)MT9P031出了一堆印象派藝術(shù)畫,今天終于找到了原因。是我在10位 BAYER轉(zhuǎn)24位BMP文件的時候數(shù)據(jù)拼錯了。忙了一個來月的MT9P031驅(qū)動也算有一個小結(jié)了。上個圖先。還有一點小問題,LINUX不能獲知有可用幀,所在只有一個緩沖區(qū)不停的刷圖,目前用非阻塞方式打開的攝像頭,可以“強行”取出圖像數(shù)據(jù)。應(yīng)當是OMAP3530的視頻接口配置還有些問題,明后兩天不出意外的話能解決掉。


回復(fù)

使用道具 舉報

板凳
ID:114320 發(fā)表于 2016-5-10 02:44 | 只看該作者


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

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

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美区在线| 久久亚洲一区二区 | 国产成人啪免费观看软件 | 中文字幕国产 | 欧美日韩综合 | 精品动漫一区 | 日韩五月天 | 精品伊人| www.中文字幕.com | 欧洲免费毛片 | 亚洲最大成人综合 | 亚洲综合精品 | 乳色吐息在线观看 | 免费观看国产视频在线 | 手机av网| 免费观看的av毛片的网站 | 欧美日韩精品一区二区 | 小h片免费观看久久久久 | 日日干日日射 | 少妇无套高潮一二三区 | 欧美一区二区三区在线看 | 精品久久久久久久久久久久 | 欧美精品久久久 | 日韩欧美在线视频 | 日本黄色的视频 | 欧美日韩高清一区 | 女女爱爱视频 | 精品亚洲一区二区三区 | 久久国产精品91 | 三级特黄特色视频 | 色噜噜狠狠色综合中国 | 久久精品a| 亚洲精品在线视频 | 一区二区三区精品 | 黄色骚片| 国产成人精品免费视频大全最热 | 亚洲欧洲日本国产 | 午夜精品一区二区三区在线观看 | 精品日韩 | 国产在线精品一区二区三区 | 久久夜色精品国产 |