这个库实现的接口是system/bt/hci/include/bt_vendor_lib.h文件里的bt_vendor_interface_t结构体. 主要实现三个函数: init, op, cleanup.
init 函数实现的功能主要是初始化UART通讯接口, rfkill, 设置回调函数bt_vendor_callbacks_t. UART的初始化一般厂商自行实现, 主要是设置要用到的uart口, 波特率, 数据位, 停止位等. UART通了以后,基本上蓝牙就能正常工作了,有些模块可能还需要打上固件补丁. 当然,如果没有用到音频传输,比如连蓝牙音箱这些,正常蓝牙遥控器使用是没有问题的. 但当涉及到蓝牙音频的时候, 假如模块是wifi+bt功能,天线又只有一根的情况下,可能就需要蓝牙固件来支持,它会在蓝牙音频传输过程中做一些协调,这样声音播放才不会卡顿.
init初始化信息:
01-01 00:00:46.151 3309 4578 I bt_hwcfg: bt vendor lib: set UART baud 2000000
01-01 00:00:46.153 3309 4578 D bt_hwcfg: Chipset BCM4345C0
01-01 00:00:46.153 3309 4578 D bt_hwcfg: Target name = [BCM4345C0]
01