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

news2024/6/30 0:48:50

使用的代码:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1798902.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大功率回馈式负载:行业竞争态势

随着科技的不断发展,大功率回馈式负载在各个行业中的应用越来越广泛。大功率回馈式负载是一种能够将电能回馈到电网的设备,具有节能、环保、高效等优点。然而,随着市场竞争的加剧,大功率回馈式负载行业也面临着诸多挑战。 首先&am…

QSqlDatabase、QSqlQuery、QSqlRecord、Sqlite用法

使用QSqlDatabase、QSqlQuery、QSqlRecord、Sqlite数据库实现一个简单的界面查询 1. 创建Sqlite数据库,表 mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h" #include "QSqlDatabase" #include "QSqlQuery&q…

AVL树【C++实现】

文章目录 AVL树的概念AVL树节点的定义AVL树的插入AVL树的旋转新节点插入较高右子树的右侧---右右:左单旋新节点插入较高左子树的左侧---左左:右单旋新节点插入较高左子树的右侧---左右:先左单旋再右单旋新节点插入较高右子树的左侧---右左&am…

springboot停车微信小程序小程序-计算机毕业设计源码92714

摘 要 在信息飞速发展的今天,网络已成为人们重要的信息交流平台。每天都有大量的农产品需要通过网络发布,为此,本人开发了一个基于springboot停车微信小程序小程序。 对于本停车微信小程序的设计来说,它主要是采用后台采用java语…

因你而变 共赴新程 | AidLux全新版本震撼发布!

历经400多个日夜,AidLux 2.0(基础版)终于要与大家见面了。 开发者们问过无数次,新版本何时发布,期待的功能何时上线……在此,让我先真诚地感谢大家长期以来的期待与关心! 一年多以来&#xff…

k8s-部署对象存储minio

环境信息 minio版本 :最新 k8s 版本1.22 使用nfs作为共享存储 一.单节点安装包部署 脚本部署,一键部署,单节点应用于数据量小,一些缓存存储,比如gitlab-runner的产物数据,maven的打包依赖数据 #!/bin/bash# 步骤…

019、有序集合_命令

它保留了集合不能有重复,有序集合中的元素可以排序。 但是它和列表使用索引下标作为排序依据不同的是,它给每个元素设置一个分数(score)作为排序的依据。如图 该有序集合包含kris、mike、frank、tim、martin、tom,它们的分数分别是1、91、200、220、250、251,有序集合提…

【C++】STL中List的基本功能的模拟实现

前言:在前面学习了STL中list的使用方法,现在我们就进一步的讲解List的一些基本功能的模拟实现,这一讲博主认为是最近比较难的一个地方,各位一起加油。 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 …

紧急通知!Win10将于2025年终止支持,快来升级Win11吧!

近期,微软更新了官方支持页面,我们可以看到微软官方在2025年10月14日之后,不再为 Win10系统提供安全更新或技术支持。到这个时间,Win10用户的电脑仍可正常工作,但建议Win10用户都升级为Win11版本,接下来小编…

分水岭算法分割和霍夫变换识别图像中的硬币

首先解释一下第一种分水岭算法: 一、分水岭算法 分水岭算法是一种基于拓扑学的图像分割技术,广泛应用于图像处理和计算机视觉领域。它将图像视为一个拓扑表面,其中亮度值代表高度。算法的目标是通过模拟雨水从山顶流到山谷的过程&#xff0…

工具-金舟投屏软件: 手机如何投屏到电脑上 / Wi-Fi / USB

金舟安卓/iOS苹果投屏-正版软件下载中心 方法一、金舟投屏软件-wifi 1.1、准备工作 确保苹果手机和Windows电脑都连接到同一个Wi-Fi网络。 在Windows电脑上安装并打开金舟投屏软件。 1.2、操作步骤 在金舟投屏软件上选择“苹果手机投屏”功能。 在苹果手机上下滑屏幕&am…

Parallels Desktop for Mac 19.4.0更新了哪些内容?有什么改进?

带来了重新设计的共享 Mac 文件夹版本,这些文件夹现在是符号链接,像指针一样指向您的 Mac 文件夹中的文件,同时仍然显示在 Windows 的本地磁盘上。 修复了由于共享文件夹问题导致 NinjaTrader 无法正常启动的问题。 修复了由于共享文件夹问…

C++ AVL树 详细讲解

目录 一、AVL树的概念 二、AVL树的实现 1.AVL树节点的定义 2.AVL树的插入 3.AVL树的旋转 4.AVL树的验证 三、AVL树的性能 四、完结撒❀ 一、AVL树的概念 二叉搜索树虽可以缩短查找的效率,但 如果数据有序或接近有序二叉搜索树将退化为单支树,查 …

【多目标跟踪】《FlowMOT: 3D Multi-Object Tracking by Scene Flow Association》论文阅读笔记

0.论文 论文地址链接:https://arxiv.org/pdf/2012.07541v1 通过流的方式跟踪是一个比较新颖的点,所以这里比较关注运动跟踪,是如果做到流的跟踪来预测目标的位置以及ID绑定的。 FlowMOT的框架结构如下所示,本中会主要关注下运动跟踪、数据关联、ID分配、新生/消亡…

python基础实例

下一个更大的数 定义一个Solution类,用于实现next_great方法 class Solution: def next_great(self, nums1, nums2): # 初始化一个空字典answer,用于存储答案 answer {} # 初始化一个空列表stack,用于存储待比较的数字 stack [] # 遍历nu…

香橙派Orange AI Pro / 华为昇腾310芯片 部署自己训练的yolov8模型进行中国象棋识别

香橙派Orange AI Pro / 华为昇腾310芯片 部署自己训练的yolov8模型进行中国象棋识别 一、香橙派简介1.1、香橙派 AI Pro 硬件资源介绍1.2、华为昇腾310(Ascend310) 简介1.3、 昇腾310AI能力和CANN 简介昇腾310 NPU简介 二、远程环境配置2.1、ssh2.2、vnc…

开发一个Dapp需要多少?

区块链开发一个Dapp要多少钱? 开发一个去中心化应用(Dapp)的成本取决于多个因素,包括Dapp的复杂性、功能需求、区块链平台以及开发团队的经验水平。以下是一些主要的影响因素: 1. 区块链平台:不同区块链…

Python中的@staticmethod和@classmethod装饰器

名词解释 本文主要介绍静态方法staticmethod和类方法classmethod在类中的应用,在介绍这两个函数装饰器之前,先介绍类中的几个名词,便于后面的理解: 类对象:定义的类就是类对象 类属性:定义在__init__ 外…

哈希经典题目(C++)

文章目录 前言一、两数之和1.题目解析2.算法原理3.代码编写 二、判定是否互为字符重排1.题目解析2.算法原理3.代码编写 三、 字⺟异位词分组1.题目解析2.算法原理3.代码编写 总结 前言 哈希表是一个存储数据的容器,我们如果想要快速查找某个元素,就可以…

定个小目标之每天刷LeetCode热题(12)

这是一道简单题,使用位运算中的异或运算即可,异或运算有以下性质: 1、任何数异或 0 结果仍然是原来的数,即 a⊕0a 2、任何数和其自身做异或运算,结果是 0 所以我们只需要让数组里的所有元素进行异或运算得到的结果就…