0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

瑞芯微RK平台AP6275PR3模块蓝牙MAC地址获取实战指南

jf_44130326 来源:Linux1024 作者:Linux1024 2026-03-06 08:10 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

开发者的核心痛点

瑞芯微Rockchip)RK平台开发蓝牙功能时,你是否遇到过这些困扰:

•设备恢复出厂设置后,蓝牙MAC地址随机变化,无法满足设备唯一性标识需求

•想读取WiFi+BT combo模块(如本文案例中的AP6275PR3)自带的硬件MAC地址,却找不到入口

•系统自动生成的临时MAC地址,在量产场景下完全不可靠

别急,我们结合RK平台的技术规范和实际调试经验,一步步拆解解决方案。

RK平台蓝牙MAC地址获取优先级

首先要明确:RK平台对蓝牙MAC地址的获取有严格优先级逻辑,这是我们解决问题的核心依据:

优先级 来源 特点
模块自带MAC 硬件烧录的唯一BDADDR(需和模块厂商确认),最稳定可靠
工具写入MAC 通过RKDevInfoWriteTool等工具提前烧录的MAC(通常需购买地址段)
系统生成MAC 无有效MAC时临时生成,恢复出厂后会变更,禁止用于量产

对于AP6275PR3这类模块,厂商已确认自带蓝牙MAC地址,所以我们的目标是:让系统优先读取模块自带的MAC,并持久化存储

核心解决方案:启用模块BDADDR读取

关键原理

通过修改蓝牙库的宏定义,强制启用「读取模块自带BDADDR」逻辑,让系统从硬件层面获取MAC,并写入vendor storage(RK平台安全持久化存储区域),即使恢复出厂设置也不会丢失。

实操步骤

1.定位代码文件

在RK SDK中找到蓝牙库配置文件(以Android 13为例):

hardware/broadcom/libbt/include/vnd_rksdk.txt

2.修改关键宏定义

将USE_CONTROLLER_BDADDR从FALSE改为TRUE,完整diff如下:

diff --git a/include/vnd_rksdk.txt b/include/vnd_rksdk.txtindex 7d3f810..e1953b 100644--- a/include/vnd_rksdk.txt+++ b/include/vnd_rksdk.txt@@ -9,7 +9,7 @@BTWND_DBG = FALSEBTHW_DBG = TRUEVNDUSERAL_DBG = FALSEUPIO_DBG = FALSE-USE_CONTROLLER_BDADDR = FALSE+USE_CONTROLLER_BDADDR = TRUE

可选:保留调试宏(如BTHW_DBG = TRUE),方便排查问题。

3.编译验证

重新编译蓝牙相关模块(libbt),将新镜像烧录到设备。

4.效果验证

•启动设备后,查看蓝牙MAC地址:

adb shell settingsgetsecure bluetooth_address

•执行恢复出厂设置,再次查看MAC地址,验证是否保持不变

wKgZO2mqHIWAGBh3AAALoC-FjCg573.png

原理解析:为什么这样改能生效?

1.宏定义作用:USE_CONTROLLER_BDADDR = TRUE会让蓝牙库初始化时,优先通过HCI命令向AP6275PR3模块(博通方案)读取硬件自带的BDADDR。

2.持久化存储:读取到的MAC地址会被写入vendor storage区域——这是RK平台专门用于存储安全、关键数据的区域,即使格式化data分区(恢复出厂),数据也不会丢失

3.优先级保障:后续启动时,蓝牙服务会直接从vendor storage读取已存储的MAC,避免重复读取硬件或生成临时地址。

wKgZO2mqHIaASKuSAAFZQDw-YuM927.jpg

避坑指南

1.模块兼容性:必须先和模块厂商确认,模块是否在出厂时烧录了唯一BDADDR(如AP6275PR3支持,部分低成本模块可能不支持)。

2.SDK版本差异:不同Android版本(如11/12/13)的配置文件路径可能略有不同,可在hardware/broadcom/libbt目录下搜索vnd_rksdk.txt定位。

3.无自带MAC的场景:如果模块没有自带MAC,建议使用RKDevInfoWriteTool工具,提前将购买的MAC地址段烧录到vendor storage区域,实现量产管理。


总结

通过启用USE_CONTROLLER_BDADDR宏,我们可以高效读取AP6275PR3等模块自带的蓝牙MAC地址,并通过vendor storage实现持久化,完美解决量产场景下蓝牙MAC地址不稳定的痛点。

这种方案既利用了模块硬件的唯一性,又符合RK平台的安全存储规范,是量产项目的推荐方案

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 蓝牙
    +关注

    关注

    119

    文章

    6381

    浏览量

    179250
  • Mac
    Mac
    +关注

    关注

    0

    文章

    1131

    浏览量

    55534
  • 瑞芯微
    +关注

    关注

    27

    文章

    841

    浏览量

    54647
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RK平台Android音频 EQ/DRC调试全攻略

    ,支持全局流绑定和动态应用两种模式,配合官方调试工具可快速实现个性化音效调校。 本文基于官方《 Android EQ/DRC 开发指南 V1.1.0 》,结合实际开发经验,从 编
    的头像 发表于 04-12 10:23 8083次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK</b><b class='flag-5'>平台</b>Android音频 EQ/DRC调试全攻略

    RK3506 Flexbus技术开发指南,从原理、内核配置到测试的完整攻略

    现代工业数据采集与控制系统中,高效、可靠、实时的数据传输是构建高性能嵌入式系统的关键。RK3506芯片平台集成的硬件级FlexBus并
    的头像 发表于 03-14 07:24 513次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK</b>3506 Flexbus技术开发<b class='flag-5'>指南</b>,从原理、内核配置到测试的完整攻略

    RK平台新声卡添加与驱动调试指南

    RK平台的嵌入式系统开发中,音频功能的实现核心依赖于 Sound Card(声卡)的正确配置与驱动调试。
    的头像 发表于 02-09 16:42 982次阅读
    <b class='flag-5'>RK</b><b class='flag-5'>平台</b>新声卡添加与驱动调试<b class='flag-5'>指南</b>

    RK平台Linux IOMMU开发:从原理到实战

    RK)芯片的 Linux 开发中,IOMMU(输入输出内存管理单元)是个关键部件 —— 它能实现设备虚拟地址(IOVA)与物理
    的头像 发表于 02-04 16:24 2661次阅读
    <b class='flag-5'>RK</b><b class='flag-5'>平台</b>Linux IOMMU开发:从原理到<b class='flag-5'>实战</b>

    RK3576基于Linux平台CUPS架构标准打印机适配实战教程

    随着国产化替代进程全面提速,越来越多政企单位更换国产电脑,软件系统也迁移至银河麒麟、统信UOS等国产Linux操作系统。在此背景下,打印机作为办公场景的核心外设,其系统兼容适配的重要性愈发凸显。
    的头像 发表于 01-16 17:45 723次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK</b>3576基于Linux<b class='flag-5'>平台</b>CUPS架构标准打印机适配<b class='flag-5'>实战</b>教程

    RK3588 平台 Debian 系统开发案例与使用说明

    本文围绕创龙科技研发的 RK3588 平台评估板,详解 Debian 系统使用方法,涵盖 LinuxSDK 安装、系统镜像编译生成、根
    的头像 发表于 11-05 14:28 841次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b> <b class='flag-5'>RK</b>3588 <b class='flag-5'>平台</b> Debian 系统开发案例与使用说明

    基于 RK3588 的 ARM 与 FPGA 交互通信实战指南

    本文围绕创龙科技研发的 TL3588-EVM 评估板,详解 RK3588 与 FPGA 基于 PCIe 总线的通信案例,包括 DMA 与非 DMA 两种方式。涵盖案例功能、测试流
    的头像 发表于 11-04 16:09 754次阅读
    基于<b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b> <b class='flag-5'>RK</b>3588 的 ARM 与 FPGA 交互通信<b class='flag-5'>实战</b><b class='flag-5'>指南</b>

    这几年为啥那么火?

    大做强,离不开那段艰辛历程,最初是做复读机、MP
    发表于 10-20 15:50

    RK3576与RK3576S有什么区别,性能参数配置与型号差异解析

    第二代8nm高性能AIOT平台RK3576家族再添新成员-RK3576S,先说结论:相较主
    的头像 发表于 08-14 23:57 2669次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK</b>3576与<b class='flag-5'>RK</b>3576S有什么区别,性能参数配置与型号差异解析

    3款芯片,8款产品,看杰和科技如何打造方案

    行业资讯前不久结束的第九届开发者大会,高级副总裁李诗勤先生热情介绍了
    的头像 发表于 07-29 18:01 1816次阅读
    <b class='flag-5'>3</b>款芯片,8款产品,看杰和科技如何打造<b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>方案

    揭秘算力协处理器,RK3576/RK3588强大算力搭档

    算力协处理器-Gongga1(简称“贡嘎”),是针对旗舰芯片
    的头像 发表于 07-17 10:00 1518次阅读
    揭秘<b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>算力协处理器,<b class='flag-5'>RK</b>3576/<b class='flag-5'>RK</b>3588强大算力搭档

    有奖丨米尔 RK3506开发板免费试用来啦!

    米尔与合作发布的新品基于RK3506应用
    的头像 发表于 07-10 08:03 1175次阅读
    有奖丨米尔 <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK</b>3506开发板免费试用来啦!

    有奖丨米尔 RK3562开发板免费试用新增名额!

    米尔与合作发布的新品基于RK3562应用
    的头像 发表于 06-13 08:04 1921次阅读
    有奖丨米尔 <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK</b>3562开发板免费试用新增名额!

    RK3528A主板YNH-A06规格书

    RK3528A主板YNH-A06规格书
    发表于 05-19 09:53 0次下载

    RK3576主板YNH-536-规格书

    RK3576主板YNH-536-V1
    发表于 05-19 09:51 5次下载