发明名称 一种安卓蓝牙协议栈向Mint17系统移植的方法
摘要 本发明提供一种安卓蓝牙协议栈向Mint17系统移植的方法该方法主要包括:1)添加用户空间程序,调用硬件抽象层的蓝牙标准接口使用蓝牙功能;2)蓝牙核心协议栈移植到Mint17;3)对接口bt_vendor_interface_t的实现,控制内核驱动;4)对内核中的蓝牙驱动程序进行修改。该方法基于特定的Linux发行版本Mint17,通过修改Mint17系统中具体的驱动实现和特定模块,实现安卓蓝牙协议栈Bluedroid向Mint17系统移植的可行方案。本发明提供的新型的蓝牙协议栈相比旧版本bluez具有更加清晰的层次划分,具有更强的灵活性;可以增强Linux系统对蓝牙移动设备的扩展和兼容能力。
申请公布号 CN105893038A 申请公布日期 2016.08.24
申请号 CN201610194611.3 申请日期 2016.03.30
申请人 大连理工大学 发明人 姚琳;赵鑫;王立坤
分类号 G06F9/44(2006.01)I 主分类号 G06F9/44(2006.01)I
代理机构 大连理工大学专利中心 21200 代理人 梅洪玉;潘迅
主权项 一种安卓蓝牙协议栈向Mint17系统移植的方法,其特征在于,包括以下步骤:第一步,添加用户空间程序,调用HAL层蓝牙标准接口使用蓝牙功能;第二步,HAL、CORE STACK、HCI不需修改,将蓝牙核心协议栈直接移植到Mint17中;第三步,厂商模块这一层往下,通过对接口bt_vendor_interface_t的实现,对op函数对应的不同操作进行编码,控制内核驱动,最终通过读写内核中的设备文件对硬件进行操作;第四步,在Mint17内核中,在/drivers/bluetooth路径下实现蓝牙的驱动程序部分;驱动程序中,HCI层所有的外部蓝牙设备抽象为一个结构体hci_dev,注册一个蓝牙设备需要调用hci_register_dev()函数,设备卸载调用hci_unregister_dev()函数,实现对内核中的蓝牙驱动部分的修改,蓝牙驱动部分的修改过程为:hdev‑>open=hci_uart_open;//1hdev‑>close=hci_uart_close;//2hdev‑>flush=hci_uart_flush;//3hdev‑>send=hci_uart_send_frame;//4hdev‑>setup=hci_uart_setup;//5其中,第一二三行代码分别是对uart的基本操作:打开,关闭,刷新;第四行代码完成对数据发送控制函数的设置;第五行完成对uart的基本设置。
地址 116024 辽宁省大连市甘井子区凌工路2号