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

查看: 5210|回復(fù): 2
打印 上一主題 下一主題

詳述Android照相功能的實現(xiàn)(基于飛凌S3C6410開發(fā)板+OV9650攝像頭驅(qū)動層分析)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2011-10-13 14:47:18 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
前些日子買了塊飛凌OK6410的開發(fā)板+OV9650攝像頭模塊準(zhǔn)備做Android應(yīng)用開發(fā)。自己手里雖有現(xiàn)成的Android手機,但考慮到日后裁減硬件,不得不從最原始的開發(fā)板著手。之前沒有寫過Android的驅(qū)動,這算是一次嘗試。本文涉及到以下幾個方面的內(nèi)容:
1. Android 模塊編譯
2. Android 模塊的板上加載及調(diào)試
3. Android Camera 模塊的改寫
Android 模塊編譯
每次為了一個模塊而編譯整個Android系統(tǒng)是一個災(zāi)難(4個小時一次),這里會展示如何僅僅編譯一個模塊而節(jié)省大量的寶貴時間。網(wǎng)上多數(shù)的方法是通過執(zhí)行envsetup.sh,接著運行mmm 命令來編譯一個文件夾下的模塊,但在編譯libcamera這個模塊時一直沒能成功,顯示編譯依賴于其他幾個模塊。這里介紹另一種方法,每個模塊的文件夾下都必須有一個Android.mk文件,在其中有一項LOCAL_MODULE用于定義模塊名稱,以照相模塊為例,即被定義為LOCAL_MODULE:=libcamera,記下這個模塊名稱,跳轉(zhuǎn)到Android源碼的根目錄下,執(zhí)行以下操作:
Step 1.  進入宿主機linux終端,輸入以下命令:
  
@:#source ./build/envsetup.sh  
@:#choosecombo
  
執(zhí)行效果如圖:


Step 2.  選擇Device->Release->鍵入OK6410->eng
Step 3.  輸入make 編譯特定模塊,如攝像頭模塊:  
  
@:#make libcamera  
  
執(zhí)行效果如圖:


編譯完成效果圖:



Step 4. 經(jīng)過以上幾個步驟后,攝像頭模塊就開始編譯了,生成后的動態(tài)連接庫文件(*.so)會存放在out/target/product/OK6410/system/lib/下,本文我們僅需要libcamera.so
我把上述步驟做成了一個shell腳本,每次修改照相模塊的HAL后會自動編譯,并將更新后的libcamera.so拷貝到Android源碼根目錄下,如果愿意,也可以自行修改腳本將libcamera.so拷貝到SD中。  
附件下載:
makelibcamera.zip 點擊此處下載 makelibcamera.zip (373 Bytes)

Android 模塊的板上加載及調(diào)試  
libcamera.so已經(jīng)生成了,那怎么調(diào)試呢?一種辦法是加載到模擬的Android系統(tǒng)中,但這種方法對于硬件調(diào)試往往行不通,那剩下的方法就是板上調(diào)試了。如果板子已經(jīng)能夠和PC進行adb連接,那就用adb push把libcamera.so推到目標(biāo)機/system/lib/中。但可能是OK6410 USB接口設(shè)計的問題,與MacOSX總是無法建立起連接,于是每次我只能通過SD卡進行中轉(zhuǎn)...手動從SD卡上把照相模塊cp到lib目錄下,然后reboot。
嵌入式開發(fā)比起應(yīng)用開發(fā),其開發(fā)環(huán)境往往要惡劣許多。就拿調(diào)試而言,往往要通過代碼中插入類printf的語句來查看運行狀態(tài)。android中提供了一個很好的工具logcat,在用戶空間中,通過LOGV(Verbose),LOGE(Error),LOGD(Debug)等提供類似printf的功能。假定在程序中#define LOG_TAG "CameraHardware",那通過如LOGE("%s, Hello World!", LOG_TAG)就可以記錄在系統(tǒng)日志中。系統(tǒng)日志雜亂繁多,要查看特定的日志就要限定范圍,在目標(biāo)機上定義ANDROID_LOG_TAGS環(huán)境變量就可以通過logcat -d來查看CameraHardware的“錯誤”日志了:
  
export ANDROID_LOG_TAGS="CameraHardware:E *:S"
logcat -d  
  
目標(biāo)機和宿主機相連后,通過超級終端來執(zhí)行以上命令后的結(jié)果:

沙發(fā)
發(fā)表于 2011-10-25 15:31:24 | 只看該作者
沒有硬件呀。。。。
板凳
發(fā)表于 2012-5-29 16:39:43 | 只看該作者
有硬件,但是不知道怎么在linux下面操作
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲高清影院| 日日噜噜夜夜狠狠扒开双腿| 亚洲精品婷婷无码成人A片在线| 亚洲精品乱码久久久久久| 日韩私人影院| 天天干天天狠| a视频在线观看免费| 欧美人与禽zoz0性伦交app| 日韩一级欧美一级| 欧美在线视频不卡| 在线观看国产一区二三区| 在线视频亚洲| 欧美肥婆性生活| 日本久久影视| 日日摸日日碰夜夜爽97纠| 天堂男人网| 俄罗斯粗大猛烈18P| 手机在线播放成人亚洲影院电影| 亚洲天堂久久新| 特级做a爰片毛片免费看一区| 亚洲成年网站在线777| 国产成人教育视频在线观看| 亚洲AV 中文字幕 国产 欧美| 亚洲一级毛片免费观看| 亚洲福利精品一区二区三区| 一区二区福利视频| 琉璃美人煞在线观看| 香港一级淫片高清视频| 日韩中文一区宇都宫紫苑| 亚欧美色| 国产又湿又黄又硬又刺激视频| 真实国产精品视频国产网| 青草下载| 四虎在线免费视频| 成人无码精品1区2区3区免费看| 91桃色污无限免费看| 奇米狠狠一区二区三区| 亚洲欧美人成综合在线最新| 午夜爱爱毛片xxxx视频免费看| 一个人看www在线高清免费看| 久久免费高清|