您的位置:首页 > 其它

MTK USB CAMERA (中芯微Z0301调试)

2015-02-28 13:55 597 查看

MTK USB CAMERA (中芯微Z0301调试)

驱动的部分:难点在于 mtk 不支持原生的 menuconfig, 需要以下方法来配置:

保证kernel new 过,

将 /out/.config 拷贝到kernel文件夹,

TARGET_PRODUCT=projectnamemakeO=outmenuconfig/∗如果出现../mediatek/build/kernel/Makefile找不到的错误,请用TARGETPRODUCT={project name} make O=out menuconfig /* 如果出现
../mediatek/build/kernel/Makefile找不到的错误,请用TARGET_PRODUCT={project name} KBUILD_OUTPUT_SUPPORT=yes make O=out menuconfig

配置完成后,将.config 拷贝到mediatek文件夹, 然后重命名 platform ,重新 编译 kernel 即可。

Dev/下出现 video0/1 等设备就表示内核配置OK了。

用开源的 simplewebcam 来测试,发现花屏。此时在 native 层将一帧帧的图像dump到文件里面,发现时 jpeg 格式,原生的软件只支持YUV. 需要自己解码。

原生的代码 external 下的 libjpeg库 是老版本的,只支持文件的编解码,不支持 memory 编解码, 需要移植新版本。

Ndk 编译新版本库, 编译成静态库。当然动态库也可以。 Ndk建议大家用服务器上的,win 下的设计到文件加密的问题,也让我郁闷了好久,最后放弃了。

将生产的静态库和头文件拷贝到工程 jni目录下,编写 jni android.mk

以下是范本:

[code]LOCAL_PATH := $(call my-dir)  

# test lib, write by me
include $(CLEAR_VARS)  
LOCAL_MODULE := first 
LOCAL_SRC_FILES := first.c  
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/first.h 
include $(BUILD_SHARED_LIBRARY) 

## third party so lib
#include $(CLEAR_VARS)  
#LOCAL_MODULE := myjpeg 
#LOCAL_SRC_FILES := libmtkjpeg.so  
#LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include/mtkjpeg 
#include $(PREBUILT_SHARED_LIBRARY) 

## prebuilt the static libs   
include $(CLEAR_VARS)
LOCAL_MODULE := jpeg  
LOCAL_SRC_FILES := libjpeg.a  
include $(PREBUILT_STATIC_LIBRARY)  

include $(CLEAR_VARS)
LOCAL_MODULE:= ImageProc
LOCAL_SRC_FILES := ImageProc.c
LOCAL_LDLIBS:= -llog -ljnigraphics
#LOCAL_SHARED_LIBRARIES := myjpeg first
LOCAL_SHARED_LIBRARIES :=  first
LOCAL_STATIC_LIBRARIES += jpeg  

include $(BUILD_SHARED_LIBRARY)


然后 在 jni 里调用 jpeg解码函数即可 实现功能。基本上就OK了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: