WS73V100 Android 平台蓝牙移植

WS73V100 Android 平台蓝牙移植 四叶草~ 2024-03-15 10:04:21 240

文章目录

驱动移植步骤

编译工具链接需要提前配置环境变量,例如 export PATH=$PATH:/home/wifi/share/armlinux-gnueabihf/bin,路径根据实际情况配置。
使用不同工具链时,可能会导致编译过程中出现告警导致编译失败,可在相关驱动组件的Makefile 文件中修改编译选项。

步骤 1: 解压驱动源码包。
将驱动源码包 WS73V100.tar.gz 置于服务器并进行解压

$ tar -xzf WS73V100.tar.gz 
$ cd WS73V100

步骤 2: 完成配置后,执行 make all 命令编译驱动文件,在 output 生成目标文件:

$ make android

编译结果输出到”output”目录下,如表所示。
全量编译结果

编译工具链接需要提前配置环境变量,例如 export PATH=$PATH:/home/AIoT/share/armhimix100-linux/bin,路径根据实际情况配置。
使用不同工具链时,可能会导致编译过程中出现告警导致编译失败,可在 Makefile 文件中修改编译选项。

libbt-vendor.so 编译

目前 WS73 使用的是原生的 bluedroid 代码,用户只需要实现 bt vendor 部分即可。

libbt-vendor.so 的编译步骤如下:
步骤 1: 进入到 Android 源码根目录,执行如下命令:

$ source build/envsetup.sh 
$ lunch {product}

步骤 2: 下载压缩文件并放至 SDK 相应目录下。
将 WS73V100.tar.gz 中解压出来的 libbt-vendor-soc 文件夹放到 android 源码目录下。

$ mkdir -p vendor/{vendor}/bt_soc/bt-vendor 
$ cp -rf WS73V100R001C00SPC.tar.gz/driver/bsle/vendor/android/libbt-vendor-soc/* 
vendor/{vendor}/bt_soc/bt-vendor/ 
$ cd vendor/{vendor}/bt_soc/bt-vendor 
$ mm -j8

按照上述步骤编译完成后,生成的 libbt-vendor.so 文件及依赖的库文件libc_sec_bt.so,一般在out/target/product/{product}/vendor/lib 或out/target/product/{product}/vendor/lib64 目录下

编译工具链接需要提前配置环境变量,例如 export PATH=$PATH:/home/AIoT/share/armhimix100-linux/bin,路径根据实际情况配置。
—prefix=/vendor 目录是对应工具库所安装的位置,dbus 运行依赖/vendor/share/dbus-1 该位置下的配置文件,可根据系统版本情况配置。

文件部署

根据平台上所使用的路径进行文件存放即可。一般情况为:

  • Android7.0 及以下版本使用的是/system 路径。
  • Android8.0 及以上版本使用的是/vendor 路径。

Android7.0 及以下版本

  • 驱动 ko 的路径会存放在/system/lib/modules 或/system/lib64/modules 路径下。
  • firmware 文件会存放在/system/etc/firmware 路径下。此路径与平台 uboot 中
    firmware_class.path 的设定有关,实际需要根据主控平台的路径确定。
  • ini 配置文件会存放在/system/etc/wifi 路径下。
  • so 库文件会存放在/system/lib 或/system/lib64 路径下。

Android8.0 及以上版本

  • 驱动 ko 的路径会存放在/vendor/lib/modules 或/vendor/lib64/modules 路径下。
  • firmware 文件会存放在/vendor/firmware 路径下。此路径与平台 uboot 中
    firmware_class.path 的设定有关,实际需要根据主控平台的路径确定。
  • ini 配置文件会存放在/vendor/etc/wifi 路径下。
  • so 库文件会存放在/vendor/lib 或/vendor/lib64 路径下

蓝牙业务调试

配置单板启动 bluetooth 的步骤如下。
步骤 1: 将驱动文件拷贝到单板指定目录下。

  1. 将 plat_soc.ko 与 bt_soc.ko 拷贝到单板/vendor/lib/modules 目录下
  2. 将 WS73V100/wifi/firmware 下的 bin 文件,以及 WS73V100/bt/firmware 下的 bin文件都拷贝到单板/vendor/firmware 目录下。
  3. 将 ini 文件拷贝到单板/vendor/etc/wifi 目录下。
  4. 将 WS73V100/wifi/config/目录下 wifi_bt_soc_cali.ini 复制到单板上,例如/vendor/etc/wifi 目录

步骤 2: 加载蓝牙驱动文件,命令如下:

insmod /vendor/lib/modules/plat_soc.ko 
insmod /vendor/lib/modules/ble_soc.ko

步骤 3: 打开 bluetooth,完成上述步骤后,在 UI 界面上找到蓝牙选项,能正常打开蓝牙并扫描到设备,则表示蓝牙配置成功。
步骤 4: Android 原生流程配置。
步骤 1~步骤 3 执行成功后,则说明 bluetooth 驱动和协议栈启动及功能正常。

  1. 根据主控平台,把步骤 1 中的驱动文件在 Android 编译时,拷贝到步骤 1 中对应的路径下。
  2. 根据主控平台移植流程操作,加载 ko;一般可把步骤 2 操作写到“device/{vendor}/{product}/init.{product}.rc”中。
  3. “在 device/{vendor}/{product}/device.mk”中加入如下 bluetooth 依赖的库文件:
    PRODUCT_PACKAGES += \ 
    libbt_vendor \ 
    libpf_customize_soc
    
  4. 根据 Android 系统,编译出镜像,再通过 APP 打开蓝牙即可。
声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 点赞 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
四叶草~
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区