WS73V100 Android 平台蓝牙移植
文章目录
驱动移植步骤
编译工具链接需要提前配置环境变量,例如 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: 将驱动文件拷贝到单板指定目录下。
- 将 plat_soc.ko 与 bt_soc.ko 拷贝到单板/vendor/lib/modules 目录下
- 将 WS73V100/wifi/firmware 下的 bin 文件,以及 WS73V100/bt/firmware 下的 bin文件都拷贝到单板/vendor/firmware 目录下。
- 将 ini 文件拷贝到单板/vendor/etc/wifi 目录下。
- 将 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 中的驱动文件在 Android 编译时,拷贝到步骤 1 中对应的路径下。
- 根据主控平台移植流程操作,加载 ko;一般可把步骤 2 操作写到“device/{vendor}/{product}/init.{product}.rc”中。
- “在 device/{vendor}/{product}/device.mk”中加入如下 bluetooth 依赖的库文件:
PRODUCT_PACKAGES += \ libbt_vendor \ libpf_customize_soc
- 根据 Android 系统,编译出镜像,再通过 APP 打开蓝牙即可。
- 分享
- 举报
-
浏览量:1165次2024-03-15 09:51:11
-
浏览量:1446次2024-03-16 10:01:36
-
浏览量:5478次2020-10-15 16:38:57
-
浏览量:5568次2021-04-12 16:15:46
-
浏览量:7427次2022-04-06 11:12:26
-
浏览量:5296次2020-10-15 15:43:43
-
浏览量:1093次2023-10-13 10:22:12
-
浏览量:1879次2023-04-03 15:28:29
-
浏览量:1952次2023-04-03 15:51:40
-
浏览量:1029次2024-01-03 17:15:03
-
浏览量:1964次2019-07-22 17:37:44
-
浏览量:2067次2023-07-17 16:59:20
-
浏览量:6208次2021-01-15 17:26:20
-
浏览量:664次2024-01-03 12:58:35
-
浏览量:1770次2020-02-10 14:39:42
-
浏览量:2230次2022-07-09 08:47:55
-
浏览量:1715次2023-08-15 19:14:23
-
浏览量:3100次2023-04-03 15:10:25
-
浏览量:1070次2023-12-24 13:08:48
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
四叶草~
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明