码迷,mamicode.com
首页 > 移动开发 > 详细

基于Android移植IIC设备驱动笔记

时间:2015-07-24 16:01:46      阅读:735      评论:0      收藏:0      [点我收藏+]

标签:

我是从2015.7.23开始移植这个驱动程序的,经过在网上查找资料,决定利用linux下I2C驱动体系结构来完成驱动移植

整个步骤是根据http://blog.csdn.net/rickbeyond/article/details/7838313这个大神的博客开始的,于是我的苦逼坑死我之路从此开始。。。。

 

第一天下午就卡在了第三步,即对Android.mk的编译上,刚开始是报如下错误

make: *** No rule to make target `/iic.c, needed by `out/target/product/generic/obj/SHARED_LIBRARIES/iic.default_intermediates/iic.o.  Stop.

大神们的博客都被我翻遍了,没有!麻痹的这错误就我一个人遇到啊!!!!好吧,接着在博客园与csdn论坛发贴,到今天为止没有一个人知道,也许是知道,但是不屑回答我吧。。。不过,终于到下午下班之前自己找了半天发现有一条语句没有(如下),遂加上。还真的就不报这个错误了,

LOCAL_SHARED_LIBRARIES := liblog libcutils

但是!!!!!!!但是换了个错误,说找不到i2c-dev.h头文件,打开该路径,发现好像确实是没得,好吧,那我复制一份好了,也不知道对不对,呵呵

不过最后还真生成了.so文件,哎呀卧槽!这个错误我是碰到了有缘人啊!他也没解决,卡在这里了,呵呵,不过那家伙直接换了条路,去写单独的驱动程序去了,好吧,这坑爹路上又只剩我一个人了。。。。

附上昨天提问的链接:http://q.cnblogs.com/q/74082/    

 

终于到了第二天了。。。也就是7月24日,不得不感叹日子过得真是快啊!

嗯~是的,今天有开始开开心心的写第二部分代码,使用JNI在应用程序框架层添加服务访问接口,又在最后!!!update-api!!!!

卧槽,果不其然,出错了!!!!!!!

1 device/samsung/multimedia/codecs/video/Android.mk:10: device/samsung/multimedia/codecs/video/exynos4/mfc/exynos5/Android.mk: No such file or directory
2 device/samsung/multimedia/utils/csc/Android.mk:10: device/samsung/multimedia/utils/csc/exynos4/exynos5/Android.mk: No such file or directory
3 make: *** No rule to make target `device/samsung/multimedia/utils/csc/exynos4/exynos5/Android.mk.  Stop.

说没有文件,其实是该路径都没有,好吧,查Android.mk

 1 LOCAL_PATH := $(call my-dir)
 2 
 3 include $(CLEAR_VARS)
 4 
 5 ifeq ($(filter-out exynos4,$(TARGET_BOARD_PLATFORM)),)
 6 include   $(LOCAL_PATH)/exynos4/Android.mk
 7 endif
 8 
 9 ifeq ($(filter-out exynos5,$(TARGET_BOARD_PLATFORM)),)
10 include   $(LOCAL_PATH)/exynos5/Android.mk
11 endif
12     

报错说在第10行,进入(LOCAL_PATH)/exynos5/Android.mk这个里面,按照作者的意思应该是device/samsung/multimedia/codecs/video/exynos5/Android.mk啊!!!

  怎么会是device/samsung/multimedia/codecs/video/exynos4/mfc/exynos5/Android.mk呢???!!!!卧槽,于是看了下device/samsung/multimedia/codecs/video/exynos4/Android.mk,说是再进入mfc/Android.mk中,然后没有了,嗯啊!没有了,也就是说当前路径是停留在了device/samsung/multimedia/codecs/video/exynos4/mfc下啊!!!好吧我就想当然的觉得LOCAT_PATH是在这么个属性了!!!

于是!!!我也开始乱来了,把device/samsung/multimedia/codecs/video/Android.mk改成了

 1 LOCAL_PATH := $(call my-dir)
 2 
 3 LOCAL_CUR_PATH :=$(LOCAL_PATH)
 4 include $(CLEAR_VARS)
 5 
 6 ifeq ($(filter-out exynos4,$(TARGET_BOARD_PLATFORM)),)
 7 include   $(LOCAL_PATH)/exynos4/Android.mk
 8 endif
 9 
10 ifeq ($(filter-out exynos5,$(TARGET_BOARD_PLATFORM)),)
11 include   $(LOCAL_CUR_PATH)/exynos5/Android.mk
12 endif
13     

加了一个临时变量保存当前路径,再make update-api,哎呀,居然过了!!!但是!!!卧槽哪有这么多的但是....

1 build/core/base_rules.mk:166: *** device/samsung/multimedia/codecs/video/exynos5/mfc_v4l2: MODULE.TARGET.STATIC_LIBRARIES.libsecmfcapi already defined by device/samsung/multimedia/codecs/video/exynos4/mfc.  Stop.

这是什么鬼啊什么鬼啊啊啊啊!!!模块ID要唯一???我靠,我哪个模块ID不唯一了就?好吧,谁让你是大哥,我去找debug..

基于Android移植IIC设备驱动笔记

标签:

原文地址:http://www.cnblogs.com/pngcui/p/4673599.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!