美文网首页
移植bcm2835 C library至安卓7.1

移植bcm2835 C library至安卓7.1

作者: zhouyufei | 来源:发表于2018-01-15 14:47 被阅读0次

    关于bcm2835

    BCM2835是一个开源的用于控制树莓派的GPIO引脚的库,提供了IIC,SPI,PWD等的操作接口,具体信息可至网站查看 bcm 2835 c library

    步骤

    1.在网站下载源码

    2.我已经在安卓源码的framework/base下建立了目录zyf,这里面存放了我自己添加的其他的一些代码,现在我们在下面再新建立一个目录bcm2835

    3.将下载下来的源码解压,将src目录下的2835.c和2835.h复制到上一步中建立的文件夹内,然后将example/i2c/i2c.c文件复制到bcm2835目录下

    4.编写Android.mk,内容如下:

    LOCAL_PATH:= $(call my-dir)
    include $(CLEAR_VARS)
    
    LOCAL_CFLAGS :=
    
    LOCAL_SHARED_LIBRARIES := libcutils
    
    LOCAL_SRC_FILES :=  i2c.c bcm2835.c
    
    LOCAL_MODULE_TAGS := optional
    
    LOCAL_MODULE := i2c
    
    include $(BUILD_EXECUTABLE)
    

    5.在源码根目录下执行以下命令:

    source build/envsetup.sh
    mmm framework/base/zyf/bcm2835
    

    6.等待完成后,会在目录:aosp/out/target/product/rpi3/system/bin下找到i2c文件

    7.将i2c通过adb push到树莓派

    8.执行i2c,发现提示 /dev/mem设备不存在,这里是因为我们需要修改下内核配置,增加/dev/mem设备

    在aosp/kernel/rpi/android/configs/android-base.cfg文件中增加以下内容:
    CONFIG_DEVKMEM=y
    CONFIG_DEVMEM=y
    

    9.重新编译内核,然后替换内核文件

    10.树莓派重新上电开机,再次执行成功。

    以上是基于bcm2835 c library的i2c的例子移植,完成以上步骤后,可基于这个库,完成其它更多功能

    相关文章

      网友评论

          本文标题:移植bcm2835 C library至安卓7.1

          本文链接:https://www.haomeiwen.com/subject/ptxdoxtx.html