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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2603|回復(fù): 2
收起左側(cè)

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

[復(fù)制鏈接]
ID:114320 發(fā)表于 2016-5-10 02:42 | 顯示全部樓層 |閱讀模式

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

回復(fù)

使用道具 舉報(bào)

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


回復(fù)

使用道具 舉報(bào)

ID:114320 發(fā)表于 2016-5-10 02:44 | 顯示全部樓層


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

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

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 青久久 | 国产永久免费视频 | 在线观看黄色小视频 | 欧美日韩亚洲一区二区三区 | 欧美成人精品一区 | 涩涩视频免费观看 | 欧美成人精品激情在线观看 | av福利网站 | 91精品国产综合久久久久久 | 免费三片在线观看网站v888 | 国产精品福利在线观看 | 69精品视频 | 麻豆中文字幕 | 丰满少妇高潮无套内谢 | 午夜精品久久久久久久99黑人 | 中文在线字幕观看 | 一区二区三区日韩 | 国产伦理一区 | 国产毛片av | 国产免费成人 | 免费精品视频 | 国产天天操 | 亚洲高清免费 | 黄色三级免费 | 亚洲综合五月天婷婷丁香 | 中文字幕国产 | 99热在线免费观看 | 久久av红桃一区二区小说 | av在线播放网址 | 日韩精品在线视频 | 日韩一区在线播放 | 亚州av在线 | 久久精品日韩 | 秋霞一区二区三区 | 欧美日韩在线一区二区三区 | 亚洲免费小视频 | 黄色免费观看视频 | 欧美天天干 | 中文字幕亚洲视频 | 欧美一区二区三区在线观看 | 欧美日韩免费看 |