蓝牙移植与调试:从kernel到android的详细步骤

需积分: 9 2 下载量 6 浏览量 更新于2024-09-11 收藏 5KB TXT 举报
本文主要介绍了在210开发板上移植和调试蓝牙功能的过程,涉及的操作系统为Android 4.0.3,内核版本为Linux 3.0.8,以及UBoot 1.3.4。调试过程中,重点在于配置Linux内核和Android系统以支持蓝牙功能。 在进行蓝牙移植时,首先需要关注的是Linux内核的配置。在内核编译选项中,确保启用了以下关键模块: 1. Networkingsupport -> Bluetooth subsystem support - L2CAP protocols support - SCO links support - RFCOMM protocols support - RFCOMM TTY support - BNEP protocols support - Multicast filters support(可选) - Protocol filters support(可选) - HIDP protocols support 接着,选择对应的蓝牙设备驱动,例如: - HCI USB driver - HCISDIO driver(可选) - HCIUART driver(可选) - HCIBCM203xUSBdriver(针对特定硬件) - HCIBPA10xUSBdriver(可选) - HCIBlueFRITZ!USBdriver(可选) - HCIVHCI (Virtual HCI device) driver(可选) - Marvell Bluetooth driversupport(可选) - Atheros firmware download driver(可选) - RFswitch subsystem support - Power off/on suspend - RFswitch input support - Generic rfkill regulator driver(可选) - GPIO RFKILL driver(可选) 配置完成后,编译并更新内核,确保蓝牙驱动已正确加载。同时,对于Android系统,还需要在初始化脚本中设置权限,如在`init.smdkv210.rc`和`init.rc`中添加蓝牙相关权限: ```bash # init.smdkv210.rc chown bluetooth:bluetooth /sys/class/rfkill/rfkill0/type chown bluetooth:bluetooth /sys/class/rfkill/rfkill0/state chmod 0660 /sys/class/rfkill/rfkill0/state # init.rc service hciattach /system/bin/hciattach -n -s 115200 /dev/ttyACM0 bcm43xx on property:sys.boot_completed start hciattach ``` 这里的`hciattach`命令用于连接蓝牙设备,并且指定了波特率和设备类型(如bcm43xx)。当系统启动完成时,会自动启动这个服务,以确保蓝牙设备能够正常工作。 完成上述步骤后,还需要对Android的蓝牙适配器进行测试,以确保其可以发现、连接其他蓝牙设备,并能正常传输数据。这可能包括测试蓝牙音频流(如A2DP)、蓝牙文件传输(如OBEX)以及蓝牙设备的控制(如HID设备)等。 蓝牙移植和调试是一个涉及硬件、内核配置、设备驱动和操作系统多方面的工作。在每个环节都需要仔细检查和测试,确保蓝牙功能在210开发板上能够稳定运行。