恒玄科技BES2500芯片OTA升级调试总结和源码分析
一 前言
bes2500芯片在tws耳机应用十分广泛,该芯片有着资源强大,音质好,大厂背书等特色。吸引了不少粉丝跟随。
最近在调试该芯片的ota功能,花费了一些时间,踩了一些坑,这里做一个总结和备忘吧。
二 源码分析
ota的源码主要在几个目录下,一个是:

另外一个是关于无线传输的,代码在目录下:

有了这两部分,全部的源码算是开放了,接下来,就是怎么使用的问题了。
这里注意两个地方,
这里ble一定要开启,否则无法完成ota的完成功能。
这里有两种ota,一种是ai_ota,一种是bes_ota,两种模式不能共存,同时只能用一种模式。
三 调试总结
调试这个模式,需要从几个地方梳理:
A 先弄清楚架构
该芯片的软件架构比较复杂,把架构搞清楚是首要任务。
B 对ble协议的理解
ota涉及到ble协议,该芯片的ble协议开发程度很高,只有对ble的协议理解并运用了,才可以下手调试ota。
C 高级语法的运用和理解
源码中用到了不少高级语法,刚入门的工程师估计比较费力,同时也是一个锻炼机会,毕竟,代码高深的国产芯片
不可多得。
四 感悟
该芯片相对2300来说,代码量大了不少,开发难度大。
同时缺乏文档和公司技术支持,对开发人员的水平和耐心考验很大。
恒玄科技BES2500芯片OTA升级调试总结和源码分析的更多相关文章
- Android源码分析(十六)----adb shell 命令进行OTA升级
一: 进入shell命令界面 adb shell 二:创建目录/cache/recovery mkdir /cache/recovery 如果系统中已有此目录,则会提示已存在. 三: 修改文件夹权限 ...
- 深入理解python虚拟机:调试器实现原理与源码分析
深入理解python虚拟机:调试器实现原理与源码分析 调试器是一个编程语言非常重要的部分,调试器是一种用于诊断和修复代码错误(或称为 bug)的工具,它允许开发者在程序执行时逐步查看和分析代码的状态和 ...
- 蓝牙固件升级(OTA升级)原理设计
转:http://blog.csdn.net/yueqian_scut/article/details/50849033 固件空中升级(OTA)与固件二次引导的原理和设计 原创 2016年03月10日 ...
- Android OTA 升级之三:生成recovery.img
Android OTA 升级之三:生成recovery.img 作者: 宋立新 Email:zjujoe@yahoo.com 前言 得到了ota升级包后,我们就可以用它来升级系统了.Android 手 ...
- android 标准OTA升级流程
标准的OTA升级流程包括一下几个步骤: 1.Android设备首先会与OTA服务器进行交互,如果有更新会推送给客户.推送的信息常常会包含OTA更新包的下载地址和一些版本信息. 2.Update程序会将 ...
- ESP8266远程OTA升级
https://blog.csdn.net/xh870189248/article/details/80095139 https://www.wandianshenme.com/play/arduin ...
- ota升级动画修改
在网上可以搜到很多相关的文章,但是很多文章都是复制粘贴而来的,为了方便后面工作学习,本文会把其中最关键的几个步骤列出来. 首先根据ota升级界面的文字可以确认相关的图片资源的目录在哪里,可以网上搜一下 ...
- 乐鑫esp8266基于freeRtos实现私有服务器本地远程OTA升级
目录 一.前言: 二.回顾下OTA的流程: 三.lwip网络框架的知识的使用: 四.如何处理服务器返回的数据? 五.扇区的擦除和烧写? 六.如何调用? 七.好好享用吧! 八.下载: 九.工程截图: 代 ...
- 实现乐鑫esp8266的无线OTA升级,实现远程在线升级固件
代码地址如下:http://www.demodashi.com/demo/12994.html 一.前言: 写了这么多的8266博文,一直以满意100%的心态去敲写代码固件烧录,以致很少出现 bug ...
- OTA升级
除了云端平台这部分,还要有通讯协议层面.云端和汽车端之间指令的接口和协议的制定,不同车厂会有不同诉求.艾拉比既可以支持车厂私有化定制协议的要求,也可以提供基于OMA标准的协议. 第一,它既是云端的工具 ...
随机推荐
- 【scikit-learn基础】--『回归模型评估』之损失分析
分类模型评估中,通过各类损失(loss)函数的分析,可以衡量模型预测结果与真实值之间的差异.不同的损失函数可用于不同类型的分类问题,以便更好地评估模型的性能. 本篇将介绍分类模型评估中常用的几种损失计 ...
- 解决Python报错SSLError,如果试了网上一大堆方法还不行,看看这个吧!!
前言 这个问题困扰了群友一天,我怀着好奇心去试试看,不到5分钟给解决了哈哈. 报错代码 报错代码中对相关的host和url进行了替换,大家在网上发布内容也要注意隐私哈,多长个心眼子总没错. reque ...
- 基于Hyper-V搭建免费桌面云
Hyper-V 是 Microsoft 的硬件虚拟化产品. 它用于创建并运行计算机的软件版本,称为"虚拟机". 每个虚拟机都像一台完整的计算机一样运行操作系统和程序. 如果需要计算 ...
- 冰点还原 deep freeze 安装,招聘机试时用到
官方地址:https://www.faronics.com https://www.bingdiancn.com/(也可以从这个网站下载,我是从这个网站下载的) 需求:招聘时 需要机试,需要做项目,为 ...
- python-比较两个列表中的相同元素和不同元素
由于两个列表(List)中可能会存在重复的元素,所以我们可以将列表转化成集合(set)进行去重,然后计算交集和差集. A = ['1','2','3'] B = ['2','4','5'] ##计算交 ...
- SP277 CTGAME - City Game 题解
题目传送门 前置知识 单调栈 解法 令 \(f_{i,j}(1 \le i \le n,1 \le j \le m)\) 表示从 \((1,j)\) 到 \((i,j)\) 中以 \((i,j)\) ...
- NC214362 第k小
题目链接 题目 题目描述 有一个长度为n的数组,值为 a[i], 牛牛想找到数组中第 k 小的数.比如 1 2 2 3 4 6 中,第 3 小的数就是2. 牛牛觉得这个游戏太简单了,想加一点难度,现在 ...
- DRF解决跨域问题
Django Rest Framework提供了corsheaders模块解决跨域问题 安装模块 pip3.9 install django-cors-headers 注册应用 # 注册 corshe ...
- 使用多层RNN-LSTM网络实现MNIST数据集分类及常见坑汇总
1 前言 循环神经网络(Recurrent Neural Network, RNN)又称递归神经网络,出现于20世纪80年代,其雏形见于美国物理学家J.J.Hopfield于1982年提出的可作联想存 ...
- CSS实现图形效果
CSS实现图形效果 CSS实现正方形.长方形.圆形.半圆.椭圆.三角形.平行四边形.菱形.梯形.六角星.五角星.心形.消息框. 正方形 <section> <div id=" ...