rtl8723DU移植 android4.4 4418 (第二部分蓝牙部分)

2024-06-08 04:04

本文主要是介绍rtl8723DU移植 android4.4 4418 (第二部分蓝牙部分),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用的代码:

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的移植。

这篇关于rtl8723DU移植 android4.4 4418 (第二部分蓝牙部分)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1041159

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

poj 2976 分数规划二分贪心(部分对总体的贡献度) poj 3111

poj 2976: 题意: 在n场考试中,每场考试共有b题,答对的题目有a题。 允许去掉k场考试,求能达到的最高正确率是多少。 解析: 假设已知准确率为x,则每场考试对于准确率的贡献值为: a - b * x,将贡献值大的排序排在前面舍弃掉后k个。 然后二分x就行了。 代码: #include <iostream>#include <cstdio>#incl

《数据结构(C语言版)第二版》第八章-排序(8.3-交换排序、8.4-选择排序)

8.3 交换排序 8.3.1 冒泡排序 【算法特点】 (1) 稳定排序。 (2) 可用于链式存储结构。 (3) 移动记录次数较多,算法平均时间性能比直接插入排序差。当初始记录无序,n较大时, 此算法不宜采用。 #include <stdio.h>#include <stdlib.h>#define MAXSIZE 26typedef int KeyType;typedef char In

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

FreeRTOS-基本介绍和移植STM32

FreeRTOS-基本介绍和STM32移植 一、裸机开发和操作系统开发介绍二、任务调度和任务状态介绍2.1 任务调度2.1.1 抢占式调度2.1.2 时间片调度 2.2 任务状态 三、FreeRTOS源码和移植STM323.1 FreeRTOS源码3.2 FreeRTOS移植STM323.2.1 代码移植3.2.2 时钟中断配置 一、裸机开发和操作系统开发介绍 裸机:前后台系

笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel

kernel起始与ENTRY(stext),和uboot一样,都是从汇编阶段开始的,因为对于kernel而言,还没进行栈的维护,所以无法使用c语言。_HEAD定义了后面代码属于段名为.head .text的段。         内核起始部分代码被解压代码调用,前面关于uboot的文章中有提到过(eg:zImage)。uboot启动是无条件的,只要代码的位置对,上电就工作,kern

开放式耳机好用?平价开放式耳机推荐?四款开放式的蓝牙耳机推荐

开放式耳机好用吗?有平价些的开放式耳机推荐吗?那这两个问题的回答当然是肯定的。 首先开放式耳机好不好用取决于对耳机的需求,因为开放式耳机其实是比较适用于需要注意周围环境、需要‌长时间佩戴舒适以及需要频繁与人交流的场景中,在这些场景下使用开放式耳机的话就会比较有优势。就例如跑步骑行健身等运动的时候,能够兼得佩戴舒适度的同时,增加一定的安全性;还有在办公学习的时候,会很适合长时间佩戴,能够方便和

项目实战系列三: 家居购项目 第四部分

购物车 🌳购物车🍆显示购物车🍆更改商品数量🍆清空购物车&&删除商品 🌳生成订单 🌳购物车 需求分析 1.会员登陆后, 可以添加家居到购物车 2.完成购物车的设计和实现 3.每添加一个家居,购物车的数量+1, 并显示 程序框架图 1.新建src/com/zzw/furns/entity/CartItem.java, CartItem-家居项模型 /***

码蹄集部分题目(2024OJ赛9.4-9.8;线段树+树状数组)

1🐋🐋配对最小值(王者;树状数组) 时间限制:1秒 占用内存:64M 🐟题目思路 MT3065 配对最小值_哔哩哔哩_bilibili 🐟代码 #include<bits/stdc++.h> using namespace std;const int N=1e5+7;int a[N],b[N],c[N],n,q;struct QUERY{int l,r,id;}que

关于断言的部分用法

1、带变量的断言  systemVerilog assertion 中variable delay的使用,##[variable],带变量的延时(可变延时)_assertion中的延时-CSDN博客 2、until 的使用 systemVerilog assertion 中until的使用_verilog until-CSDN博客 3、throughout的使用   常用于断言和假设中的