您的位置 首页 动态

教你的安卓体系DragonBoard 410c也能辨认 I2C光流传感器

教你的安卓系统DragonBoard 410c也能识别 I2C光流传感器-内核的定制。首先我们需要对内核进行重新配置,从而添加我们的设备驱动,重新编译内核,在96board官网下载我们的最新Andro

需求调用的模块

本文所运用的I/O主要有如下三个部分

I2C接口

UART接口

USB接口

需求运用的硬件外设如下

Grove Digital Light Sensor

上文中说到的UART转USB1.8v线

内核的定制

首要咱们需求对内核进行从头装备,然后增加咱们的设备驱动

从头编译内核

在96board官网下载咱们的最新Android 5.1版别

官方供给的内核现在默许无法辨认咱们的I2C光传感器,因而咱们需求在内核中从头编译并增加驱动

首要在官方网站下载Linux Android的BSP包,将其clone并编译

编译内核指令

首要切换到源目录下

进入build目录

Lunch msm8916_64-userdebug

发动kernel config:履行指令

Make-j8 kernelconfig

注:j8为电脑中心数目,取决于咱们进行编译电脑的装备

接下来咱们就能够在界面上看到如下图所示的界面了:

在kernel编译选项中挑选TAOS TSL2560,TSL2562 and TSL2563 ambient light sensor

保存并从kernel configmenu中退出

假如咱们在设备上增加了一个新驱动,那么咱们需求在Makefile中做出更改,并在kernel/driovers中的Kconfig文件增加正确的路劲,然后能够追溯到正确的设备驱动Kconfig文件。 该过程能够在kernel config 中增加新的进口,然后能够在config界面中进行挑选,驱动文件需求增加到相同的目录中,与Kconfig文件以及Makefile文件相同

翻开/kernel/arch/amd64/boot/dts/qcom/apq8016-sb.dtsi并增加如下的代码

soc {

i2c@78b6000 {

tsl2561@29 { /* Grove digital light sensor */

compaTIble = “taos,tsl2561”;

reg = 0x29>;

}

保存文件并运转如下指令:

Make –j8 booTImage

Boot.img将会在/out/target/product/msm8916_64/boot.img

78b6000是BLSP的地址,用于装备I2C通讯,咱们将此传感器衔接到I2C-0设备上

将kernel烧写到DragonBoard 410c上

在上电时按住按钮音量下键,咱们能够将410c设置为fastboot形式。一旦进入fastboot形式,咱们就能够运用指令即将boot.img烧写到410c中

fastboot flash boot boot.img

将DragonBoard 410c上的J8引脚衔接到PCA9306传感器中

按如下衔接方法:

PIN #37 VREF2 of PCA9306 VCC of grove light sensor

PIN #39 “-“on Bread Board

PIN #35 VREF1 of PCA9306

PIN #15 (I2C0_SCL) SCL1 of PCA9306

PIN #17 (I2C0_SDA) SDA1 of PCA9306

PCA9306 GND to “-“on Bread Board

VREF2 of PCA9306 VCC of Digital Light Sensor

SCL2 of PCA9306 SCL of Digital Light Sensor

SDA2 of PCA9306 SDA of Digital Light Sensor

“-“ from Bread Board GND of Digital Light Senso

衔接UART转USB线到电脑上

PIN #11 UART1_TX

PIN #13 UART1_RX

PIN #1 GND

参阅我的文章进行衔接

测验硬件

依据如上的操作,咱们现已能够在发动后检测到设备了

首要在kernel的trace中找到如下信息:

tsl2563 0-0029: model 5, rev. 0

假如你没有USB转UART,咱们能够经过ADB进行登录

adb shell

su

dmesg

跟着shell发动,咱们进入到目录/sys/bus/i2c/devices/i2c-0下

咱们能够看到设备0-0029,0x29表明的是传感器的I2C地址

cd /sys/bus/i2c/devices/i2c-0/0-0029/iio:device0

cat in_illuminance0_input

接下来咱们就能看到作为输出的一个整数值,不断地遮挡或打光到传感器上,并履行 cat in_illuminance0_input 指令,咱们就能够看到一个不断改变的光流值了。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/dongtai/183519.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部