网站导航栏怎么做简单,wordpress+制作首页模板下载,建设工程合同包括哪些合同?,哈尔滨网站推广公司概述
fluoride 协议栈在整个软件框架中作为一个中间件的角色#xff0c;向上对接APP#xff0c;向下对接蓝牙芯片。fluoride采用C语言实现#xff0c;与APP(Jave)通信采用JNI机制#xff1b;与蓝牙芯片通信使用HCI硬件接口#xff08;HCI软件协议参考蓝牙核心规范#x…概述
fluoride 协议栈在整个软件框架中作为一个中间件的角色向上对接APP向下对接蓝牙芯片。fluoride采用C语言实现与APP(Jave)通信采用JNI机制与蓝牙芯片通信使用HCI硬件接口HCI软件协议参考蓝牙核心规范同时fluoride还实现了蓝牙协议栈中的Host层蓝牙应用的profile设备管理等等。
构建角度
android 7.0之前采用make(Android.mk)方式构建因效率太低引入了ninja和kati来编译Ninja的配置文件就是Android.bpAndroid系统使用Blueprint和Soong工具来解析Android.bp转换生成ninja文件在当前的Android构建系统中一部分采用了ninja一部分采用了make的方式。因ninja网上资料较多此处不做过多介绍可自行查阅资料。 通过查看源码中的Android.bp梳理出框架如下
软件角度
软件上fluoride 分为4层bt interface、bt application、bt host、hci。interface 向上提供api供framework层的service 调用application层中实现蓝牙的各个应用/profilebt host层中实现host中各模块hci层实现hci 包的拆包/组包数据接收/发送。 在每个模块内部大多采用API状态机事件处理数据收发的框架在后续各个模块中将做详细描述