使用的代碼:
HMI (8723bu)源碼+ 567_RTL8723DU_WiFi_linux_v5.6.5.3_35502_COEX20181130-2e2e.20191025.zip
由于之前寫的所有筆記沒有保存,這里只能是部分。
0、 前置知識
1 、kernel 的移植
2、hardwire的移植
將? 驅動中的 hardware/realtek/bt 的部分整體拷貝到 源碼 的,hardware/realtek/bt 下。
3、device 的移植
Bluetooth以及Bluetooth LE 的移植
拷貝 android.hardware.bluetooth.xml, android.hardware.bluetooth_le.xml 到指定的目錄。
init_drone2.rc 文件的修改。
ueventd.drone2.rc 文件的修改。
4、 補丁的移植。
這里先不進行不定的移植,我使用的 HMI (8723bu)的源碼,這里我對比了一下,是已經移植好不定的。
編譯+燒寫+測試。
連接wifi 之后依然會有報錯信息。
但是藍牙不會有報錯信息。
測試發現的問題:
1 圖標不顯示。
2 可以wifi + 藍牙同時運行,但是不穩定,偶爾wifi 會掉,偶爾藍牙會掉。
在聯網的情況下。
進行wifi 的 收發 測試。
接下來重新移植完整的 4418? android4.4? 8723du 藍牙的源碼完整移植過程。
1、 使用的源碼
4418 網盤上的android4.4 源碼
+
20190311_BT_ANDROID_4.4_USB_COEX_8723DU-C2d2d.tar.gz
具體的路徑為:
2、 藍牙移植的基本概念
3? 對于kernel 的git 的管理。
????????????????
4、kernel 的移植,順便將之前的 bluetooth 的移植的驅動去掉。
之前的BT使用的是 S500M , 通過串口進行通信。
我大致看了一下,在mencuconfig? 中的設置,可以不用管。
首先移植? rtk_btusb driver
移植驅動 kernel/drivers/bluetooth/rtk_usb.*? 到?? kernel/driver/bluetooth 目錄下
修改 Kconfig
修改Makefile
接下來 移植 uhid driver
將?uhid.c?????? 移植到? /kernel/drivers/hid/ 目錄下。
將uhid.h? 移植到? / kernel/include/linux/? 目錄下。
修改 Makefile + Kconfig
配置 menuconfig ,?? 以支持 tk_butsb driver
CONFIG_UHID=y
CONFIG_BT_RTKBTUSB=m
圖片錯了,應該是選擇 RTK HCI USB
接下來移植??? uinput driver
CONFIG_INPUT_UINPUT=y ?? ?# User level driver support
CONFIG_INPUT_MISC=y
接下來是?? tun driver
CONFIG_TUN=y
?
4、build 的移植。
修改1)build\core\product.mk
5、 hardwire的移植。
將驅動中的? /hardware/realtek/bt? 整個拷貝到 /hardware/realtek/ 目錄下。
6、device 的移植。
首先拷貝 bluetooth 目錄到? android/device/nexell/drone2 目錄下。
修改 Boardconfig .mk 文件。
接下來修改 device.mk
首先拷貝
然后拷貝 android.hardware.bluetooth.xml+ android.hardware.bluetooth_le.xml
接下來是修改initrc 文件。
修改 uevnetd.drone2.rc
但是我覺得這里 應該是可以去掉 mt6620 的 東西的。先放下
7 、patch的移植。