国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品
電子工程網(wǎng)
標(biāo)題:
詳述Android照相功能的實(shí)現(xiàn)(基于飛凌S3C6410開(kāi)發(fā)板+OV9650攝像頭驅(qū)動(dòng)層分析)
[打印本頁(yè)]
作者:
yanhong
時(shí)間:
2011-10-13 14:47
標(biāo)題:
詳述Android照相功能的實(shí)現(xiàn)(基于飛凌S3C6410開(kāi)發(fā)板+OV9650攝像頭驅(qū)動(dòng)層分析)
前些日子買(mǎi)了塊飛凌OK6410的開(kāi)發(fā)板+OV9650攝像頭模塊準(zhǔn)備做Android應(yīng)用開(kāi)發(fā)。自己手里雖有現(xiàn)成的Android手機(jī),但考慮到日后裁減硬件,不得不從最原始的開(kāi)發(fā)板著手。之前沒(méi)有寫(xiě)過(guò)Android的驅(qū)動(dòng),這算是一次嘗試。本文涉及到以下幾個(gè)方面的內(nèi)容:
1. Android 模塊編譯
2. Android 模塊的板上加載及調(diào)試
3. Android Camera 模塊的改寫(xiě)
Android 模塊編譯
每次為了一個(gè)模塊而編譯整個(gè)Android系統(tǒng)是一個(gè)災(zāi)難(4個(gè)小時(shí)一次),這里會(huì)展示如何僅僅編譯一個(gè)模塊而節(jié)省大量的寶貴時(shí)間。網(wǎng)上多數(shù)的方法是通過(guò)執(zhí)行envsetup.sh,接著運(yùn)行mmm 命令來(lái)編譯一個(gè)文件夾下的模塊,但在編譯libcamera這個(gè)模塊時(shí)一直沒(méi)能成功,顯示編譯依賴(lài)于其他幾個(gè)模塊。這里介紹另一種方法,每個(gè)模塊的文件夾下都必須有一個(gè)Android.mk文件,在其中有一項(xiàng)LOCAL_MODULE用于定義模塊名稱(chēng),以照相模塊為例,即被定義為L(zhǎng)OCAL_MODULE:=libcamera,記下這個(gè)模塊名稱(chēng),跳轉(zhuǎn)到Android源碼的根目錄下,執(zhí)行以下操作:
Step 1. 進(jìn)入宿主機(jī)linux終端,輸入以下命令:
@:#source ./build/envsetup.sh
@:#choosecombo
執(zhí)行效果如圖:
Step 2. 選擇Device->Release->鍵入OK6410->eng
Step 3. 輸入make 編譯特定模塊,如攝像頭模塊:
@:#make libcamera
執(zhí)行效果如圖:
編譯完成效果圖:
Step 4. 經(jīng)過(guò)以上幾個(gè)步驟后,攝像頭模塊就開(kāi)始編譯了,生成后的動(dòng)態(tài)連接庫(kù)文件(*.so)會(huì)存放在out/target/product/OK6410/system/lib/下,本文我們僅需要libcamera.so
我把上述步驟做成了一個(gè)shell腳本,每次修改照相模塊的HAL后會(huì)自動(dòng)編譯,并將更新后的libcamera.so拷貝到Android源碼根目錄下,如果愿意,也可以自行修改腳本將libcamera.so拷貝到SD中。
附件下載:
makelibcamera.zip 點(diǎn)擊此處下載
makelibcamera.zip
(373 Bytes)
2011-10-13 14:47 上傳
點(diǎn)擊文件名下載附件
下載積分: 積分 -1
Android 模塊的板上加載及調(diào)試
libcamera.so已經(jīng)生成了,那怎么調(diào)試呢?一種辦法是加載到模擬的Android系統(tǒng)中,但這種方法對(duì)于硬件調(diào)試往往行不通,那剩下的方法就是板上調(diào)試了。如果板子已經(jīng)能夠和PC進(jìn)行adb連接,那就用adb push把libcamera.so推到目標(biāo)機(jī)/system/lib/中。但可能是OK6410 USB接口設(shè)計(jì)的問(wèn)題,與MacOSX總是無(wú)法建立起連接,于是每次我只能通過(guò)SD卡進(jìn)行中轉(zhuǎn)...手動(dòng)從SD卡上把照相模塊cp到lib目錄下,然后reboot。
嵌入式開(kāi)發(fā)比起應(yīng)用開(kāi)發(fā),其開(kāi)發(fā)環(huán)境往往要惡劣許多。就拿調(diào)試而言,往往要通過(guò)代碼中插入類(lèi)printf的語(yǔ)句來(lái)查看運(yùn)行狀態(tài)。android中提供了一個(gè)很好的工具logcat,在用戶(hù)空間中,通過(guò)LOGV(Verbose),LOGE(Error),LOGD(Debug)等提供類(lèi)似printf的功能。假定在程序中#define LOG_TAG "CameraHardware",那通過(guò)如LOGE("%s, Hello World!", LOG_TAG)就可以記錄在系統(tǒng)日志中。系統(tǒng)日志雜亂繁多,要查看特定的日志就要限定范圍,在目標(biāo)機(jī)上定義ANDROID_LOG_TAGS環(huán)境變量就可以通過(guò)logcat -d來(lái)查看CameraHardware的“錯(cuò)誤”日志了:
export ANDROID_LOG_TAGS="CameraHardware:E *:S"
logcat -d
目標(biāo)機(jī)和宿主機(jī)相連后,通過(guò)超級(jí)終端來(lái)執(zhí)行以上命令后的結(jié)果:
作者:
ryanlee
時(shí)間:
2011-10-25 15:31
沒(méi)有硬件呀。。。。
作者:
ihopethatwel
時(shí)間:
2012-5-29 16:39
有硬件,但是不知道怎么在linux下面操作
歡迎光臨 電子工程網(wǎng) (http://m.qingdxww.cn/)
Powered by Discuz! X3.4
主站蜘蛛池模板:
国产日韩欧美一区
|
18一20岁一级毛片
|
国产页
|
成人a视频
|
美国大片免费观看45分钟
|
玖玖在线播放
|
国产日韩精品一区在线观看播放
|
看一级特黄a大片国产
|
两个人的视频免费观看
|
四虎欧美永久在线精品免费
|
日日欧美
|
欧美片网站免费
|
久久久久久尹人网香蕉
|
老司机aⅴ在线精品导航
|
青青草国产免费国产是公开
|
欧美日韩一区二区三区在线播放
|
99香蕉国产精品偷在线观看
|
成都4片p高清完整版hd
|
女人18毛片视频一级毛片容
|
久久九九久精品国产
|
特级做a爰片毛片免费看一区
|
久久国产成人精品麻豆
|
日本免费黄网
|
日本在线观
|
久久精品免视着国产成人
|
欧美成人在线视频
|
国产一级特黄在线视频
|
日本不卡免费高清一级视频
|
亚洲国语在线视频手机在线
|
日本三级免费
|
天天视频免费入口
|
激情成人综合网
|
三级在线观看网站
|
中国成人在线视频
|
黄页视频免费
|
爽好舒服宝贝添奶吻戏
|
免费在线观看黄色的网站
|
黑人巨大人精品欧美三区
|
欧美福利一区二区三区
|
国产免费一级片
|
91小视频在线观看免费版高清
|