热门内容

公众号"MAKE1"

获取行业最新资讯

请扫码添加

专业客服企业微信

高通MSM8909W平台移植sensor hub的方法-燚智能周教授Android软件开发

简介

高通MSM8909W平台移植sensor hub/适用于高通骁龙210、骁龙2100系列8909、8009、8909W芯片平台 1、添加驱动代码 a、驱动代码是有sensor原厂提供的, 我们只需要将其driver code copy /kernel/drivers/char/目录下,修改相关makefile文件,使平台编译系统能够编译到frizz_driver。

网盘地址:https://pan.baidu.com/s/1hsRPzJQ

高通MSM8909W平台移植sensor hub

          

1、添加驱动代码

1、驱动代码是有sensor原厂提供的, 我们只需要将其driver code copy /kernel/drivers/char/目录下,修改相关makefile文件,使平台编译系统能够编译到frizz_driver。

2、配置DTSI

 &i2c_1 {

     status = "ok";

       mcc@1c {        /* Slave driver and slave Address */

               compatible = "mcc,frizz";

              reg = <0x1c>;

              interrupt-parent = <&msm_gpio>;

               interrupts = <28 0x20>;

               vio-supply = <&pm8916_l6>;

               mcc,irq-gpio = <&msm_gpio 28 0x0>;

              mcc,gpio_rstn =<&msm_gpio 33 0x0>;

             mcc,low-power-gpio = <&msm_gpio 38 0x0>;

      };

 };

 

2、添加hal层

a.  添加设备权限:高通平台的设备权限添加是在init.target.rc中,添加内容如下: 

chown system system /dev/frizz 

chmod 0664 /dev/frizz 

在调试 /dev/frizz的权限设置为0777避免因权限不对,而导致设备节点访问失败。 

b. 添加frizz hal 层代码到 src/LINUX/android/hardware/目录下,系统即可编译到,frizz 提供的hal层代码 mk写好了编译规则,但在mk文件中需要将条件语句去掉, 本次移植的平台是高通的MSM8909w。

 C、去掉高通sensor部分关于sensor的代码:

d、执行下面的命令进行编译HAL层: 

   $ cd  

   $ source build/envsetup.sh 

   $ lunch xxx <-- According to the specific platform. 

   $ mmm -B hardware/frizz_hal 

编译后会在out目录下system/vendor/lib/hw 文件中生成名字为sensors.msm8909的so库。

 

3、添加frizz_jni代码

将frizz jni source code文件夹拷贝到 /packages/apps/目录下编译,编译方式如下:$ lunch xxxx <=== According to the specific platform.

$ mmm -B /packages/app/frizz_jni

编译后会在out/system/lib/目录下生成“libFrizzManager.so”so库。

 

4、添加安全机制权限

 

5、测试

a、在手机的/data/目录下创建frizz文件夹, 将from_ayame.bin文件push到手机的/data/frizz/目录,该固件是由sensor HUB原厂提供的。

b、将sensors.msm8909.so push到设备的/system/vendor/lib/hw/目录。

将libFrizzManager.so push 到/system/lib/目录下。

c、adb install SensorList.apk  安装sensor测试APK,查看各个sensor是否有数据输出。

18
 条评论
相关内容推荐