蓝牙PHY6222添加OTA升级功能

2023-11-08

主要步骤:

1:代码添加 ota_app_service
2:keil软件添加ota_app代码
3:烧录软件添加ota设置
4:手机ota_app升级

准备:
奉加微电子官网下载6222的代码SDK,V3.0以上
下载官网的PhyPlusKit串口烧录工具
下载PhyOTA 的APP版本V2.2.3(官网没有可在应用商城搜索,华为应用商城有搜索到,一定要V2.2.3及其以上

1:代码添加OTA部分

1.1:添加函数在蓝牙服务中 ,
ota_app_AddService(); //OTA服务
此函数在SDK的
E:\PHY62XX_SDK_3.1.2_0820\components\profiles\ota_app中
添加此函数在自己代码 中(如下图)

1.2:记得包含头文件  ota_app_service.h
并且,如果代码里面写了MAC地址的函数记得屏蔽
 //at_update_bd_addr(); //屏蔽此函数,否则ota不成功

在这里插入图片描述

1.3:打开main.c
把三个SRAM全部打开,OTA会运行在SRAM高地址区域,如下图

在这里插入图片描述
2:keil软件添加ota代码文件

2.1:主要是添加ota_app_service.c在工程里面
2.2:添加文件路径

在这里插入图片描述

2.3修改sct文件
把ota_app_service.o(+RO)
添加进分散加载文件里面

在这里插入图片描述

2.4编译工程

3:烧录软件添加OTA.hex

ota.hex文件在SDK的demo里面,自己编译一下single_banke工程,即可得到
APP就是前面自己的工程代码

在这里插入图片描述

选择 Single NO FCT
此模式的意思就是,升级的时候蓝牙app会暂停程序且覆盖写入
(SLB OTA就是升级时程序不停止,一边正常运行,一边升级)

在这里插入图片描述

自己写一个MAC地址

在这里插入图片描述

连接串口
MT引脚拉高,复位开发板
先erase
再write

在这里插入图片描述
4:手机OTA升级

4.1生成一个手机需要的升级文件.hex16结尾的文件
点一下工具的Hex16按钮自动生成

在这里插入图片描述

4.2把hex16文件放在手机根目录下,一定要根目录下

一定要这个版本OTA的APP
之前用了官网的低版本OTA 的APP,太新的手机用不了

在这里插入图片描述

选择hex16文件,点击升级即可

在这里插入图片描述
常见问题

	升级app的时候出现连接不了,有可能代码里面没有成功添加ota服务
	连接成功,升级一半断掉了,app版本太低
	文件解析错误,关掉手机的蓝牙,重启一次蓝牙,或者app版本太低
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

蓝牙PHY6222添加OTA升级功能 的相关文章

  • 【经典蓝牙】 蓝牙HFP层协议分析

    HFP 概述 HFP概念介绍 HFP Hands Free Profile 是蓝牙免提协议 可以让蓝牙设备对对端蓝牙设备的通话进行控制 例如蓝牙耳机控制手机通话的接听 挂断 拒接 语音拨号等 HFP中蓝牙两端的数据交互是通过定义好的AT指令
  • BLE芯片PHY6222的ANCS代码解读

    BLE芯片PHY6222的ANCS代码解读 ANCS是什么 实现原理 PHY6222软件实现框架 要获取的详细信息 开通知源 通知源的解析 数据源的解析 ANCS是什么 ANCS 苹果通知中心 Apple Notification Cent
  • 【低功耗蓝牙】① 蓝牙广播数据格式分析

    摘要 本文章主要讲解了蓝牙的发展史 蓝牙信号 蓝牙广播数据的格式 最后使用ESP32芯片MicroPython固件给出了蓝牙广播的具体代码 是蓝牙初学者很好的参考资料 也可以参考下我在B站的蓝牙视频教程 ESP32教程 第二章 低功耗蓝牙B
  • Android BLE 蓝牙低功耗教程,中央BluetoothGatt和周边BluetoothGattServer的实现

    http blog csdn net wave 1102 article details 39271693 Android4 3 规范了BLE的API 但是直到目前的4 4 还有些功能不完善 在BLE协议中 有两个角色 周边 Periphe
  • Ble Mesh的Generic Model ID&Opcode

    MODEL ID 标准的为16为 自定义的Vendor Model ID为32位 Model Group Model Name SIG Model ID Generic Generic OnOff Server 0x1000 Generic
  • i12蓝牙耳机使用(小米手机)

    一 操作位置 操作点击按键在无用孔位和喇叭位之间 二 听音乐 项目 左耳 右耳 单击 暂停播放 暂停播放 双击 降低音量 提升音量 三击 小米手机打开小爱 小米手机打开小爱 长按 关耳机 关耳机 三 打电话 项目 打入 接听时 单击 接听
  • 蓝牙DA14580学习教程(附开源可编程手环/手表全套学习资料下载地址)

    DA14580学习 DA14580用来干什么 1 超长待机的智能手环 手表和其他智能穿戴设备 2 智能鼠标 键盘 遥控器 触控板 语音和手势识别控制板等 3 计步 如小米手环 活动和睡眠监测器 血压血糖心率监测器 4 多感测器运动电脑平台
  • 蓝牙协议介绍

    1 广播 ADV Advertising 1 1 BLE 报文结构 BLE引入access address 概念 用来指明接收者身份 概 其中 0x8E89BED6 这个access address 比较特殊 它表示要发给周边所有设备 即广
  • 基于snooplog分析蓝牙连接过程,进一步学习蓝牙协议栈

    一 什么是BT snoop log 首先问题 1 为什么远端发来的消息没有收到 2 为什么搜索不到设备 3 为什么连不上 4 总之 研发过程中会遇到很多奇奇怪怪的问题 我们无法通过现象去分析原因 也不可能再过一遍代码吧 这时候需要再某些代码
  • Uniapp低功耗蓝牙操作实例

    uniapp低功耗蓝牙在移动端使用较为平常 本文相较于官方文档介绍一下低功耗蓝牙的操作案例 即取即用 低功耗蓝牙虽工作原理与经典蓝牙类似 但是有着独特的架构体系 所以LE独立出来成为一种蓝牙形态 不过LE和经典蓝牙使用相同的2 4G无线电频
  • BES2300x笔记----TWS组对与蓝牙配对

    https me csdn net zhanghuaishu0 一 前言 看到有 道友 在评论区留言 对TWS组对 BT配对以及回连流程部分很迷糊 那这第二篇我们就来说说BES平台的相关流程和接口 PS 蓝牙基础部分就不再赘述了 网上有很多
  • Android - BlueTooth BLE 之 Central 与 Peripheral

    一 前言 Andorid 5 0 之前是无法进行 外围设备开发的 在Android 5 0 API 21 android bluetooth le包下 新增加 Scaner相关类和 Advertiser 相关类 目前最后使用Scanner相
  • ESP32-C3 应用 篇(实例二、通过蓝牙将传感器数据发送给手机,手机端控制 SK6812 LED)

    ESP32 C3 蓝牙部分我们学习了GATT 本文尝试使用蓝牙做一个简单的小应用 目录 前言 一 整体框架 二 数据传输部分 2 1 添加温湿度驱动组件 2 2 传感器数据传输程序 再次说明 ESP GATTS READ EVT 事件 2
  • 【平衡小车制作】(一)硬件原理图讲解(超详解)

    大家好 我是小政 之后的一系列文章我将介绍我玩平衡小车的过程以及遇到的一些问题 将这些内容记录下来分享给大家 也让大家少走一些弯路 接下来我将从硬件框架选择 软件编程 PID算法 PID调参 蓝牙遥控这五个部分向大家讲解平衡小车的制作过程
  • 蓝牙解析(part7):BLE的连接

    转自Wowo大神的http www wowotech net bluetooth ble connection html 1 前言 了解蓝牙的人都知道 在经典蓝牙中 保持连接 Connection 是一个相当消耗资源 power和带宽 的过
  • BLE蓝牙协议 — BLE连接建立过程梳理(一)

    文章出处 枫之星雨 转载文章 如有不妥 通知后我会立即删除 连接建立 应付比广播更为复杂的数据传输 或者要在设备之间实现可靠的数据交付 这些都要依赖于连接 连接使用数据信道在两个设备之间可靠地发送信息 它采取了自适应跳频增强鲁棒性 同时使用
  • 蓝牙之十七-bluedroid scan流程

    蓝牙扫描过程是指扫描蓝牙设备 app层 这里有两张截图 第一张图显示的是安卓设置setting菜单栏中有Bluetooth这一项 点进去以后 点击右上角显示如下的截图 其中Refresh就是刷新设备列表 也就会扫描设备信息 上图显示的三个菜
  • Dialog DA14585——基本硬件资源配置

    GPIO DA14585共有3中类型的封装 WLCSP34pin QFN40pin QFN48pin 除去专用的RST GND XTAL ANT VBAT脚后 分别有14 25 32个IO口可用 目前最常用的封装类型是QFN40 处理单元
  • 蓝牙设备中的Device UUID 与 Service UUID

    Device UUID也可以被称作为DeviceID Android 设备上扫描获取到的 deviceId 为外围设备的 MAC 地址 相对固定 iOS 设备上扫描获取到的 deviceId 是系统根据外围设备 MAC 地址及发现设备的时间
  • 蓝牙ble tips3-MAC地址

    和计算机网络IP地址类似 BLE也会有属于自己的一个地址 BLE设备地址 蓝牙地址 也称作 Bluetooth MAC Media Access Control 地址 是一个48位的唯一硬件标识符 用于在蓝牙设备之间建立连接和通信 它由全球

随机推荐

  • JS——函数

    文章目录 1 函数 1 1 定义函数 1 2 调用函数 2 变量的作用域 2 1 局部变量 2 2 全局变量 2 3 局部作用域 let 2 4 常量 const 3 方法 1 函数 1 1 定义函数 定义方式一 一旦执行到return代表
  • day6作业

    include
  • 记一次spark streaming+kafka 运行时间不稳定调优历程

    记一次spark streaming kafka 运行时间不稳定调优历程 问题现象 首次使用spark streaming进行流式计算的时候遇到的一个问题 即spark streaming读取kafka消息进行流式计算 但是在数据量比较大的
  • redis查看所有key和value_Redis介绍和数据类型及单机版安装

    Redis 是完全开源免费的 遵守BSD协议 是一个高性能的key value数据库 Redis 与其他 key value 缓存产品有以下三个特点 Redis支持数据的持久化 可以将内存中的数据保存在磁盘中 重启的时候可以再次加载进行使用
  • 36D杯CTF——mengxinstack

    记录一下36D的mengxinstack题目 下载题目 checksec下分析 开启了很多保护 有canary 64位 IDA分析 知道这个程序先执行了一次read 再把read进去的东西print出来 再read 两次read都会造成栈溢
  • (Java)leetcode-1325 Delete Leaves With a Given Value(删除给定值的叶子节点)

    题目描述 给你一棵以 root 为根的二叉树和一个整数 target 请你删除所有值为 target 的 叶子节点 注意 一旦删除值为 target 的叶子节点 它的父节点就可能变成叶子节点 如果新叶子节点的值恰好也是 target 那么这
  • 苹果11文件夹怎么连接服务器,(11)文件服务器

    要求 编写一个 HTTP 文件 服务器 它用于将每次所请求的文件返回给客户端 服务器需要监听所提供的第一个命令行参数所制定的端口 同时 第二个会提供给程序的参数则是所需要响应的文本文件的位置 在这一题中必须使用fs createReadSt
  • 什么是配置环境?如何配置环境?回答很多计算机入门者都会遇到的问题

    什么是配置环境 如何配置环境 回答很多计算机入门者都会遇到的问题 1 前言 编程入门时往往会遇到各种需要配置环境变量的场景 比如刚开始学习python java等 我也和你们一样经历过在网上找各种配环境的教程 然后按部就班地操作 但重复进行
  • 【卡尔曼滤波器】递归算法

    大家好 我是小政 最近在学习卡尔曼滤波 本篇文章记录一下我学习的卡尔曼滤波器中的递归算法 通过举例子让大家更加清晰理解递归到底是什么 希望与同是卡尔曼滤波研究方向的同学进行一些交流 递归算法 1 为什么要用卡尔曼滤波器 2 公式推导 3 举
  • java.lang.OutOfMemoryError: Java heap space .

    java lang OutOfMemoryError Java heap space 解决方案 1 进入eclipse界面中的servers选项卡 右击 工程配置的tomcat项 单击 Open 如图 2 单击 Open launch co
  • c语言课程设计籍贯流程图,学生籍贯信息记录簿(C语言课程设计)教程解读.doc

    计算机科学与技术系 课程设计报告 2012 2013 学年第1学期 课程C语言课程设计课程设计名称学生籍贯信息记录簿设计学生姓名学号专业班级指导教师 目录 一 绪言 需求分析 二 系统设计 一 设计思想 二 源程序设计 三 设计表示 三 系
  • Linux中的线程(一)-- 线程的创建

    什么是线程 Linux 中的线程被称为 轻量级进程 Lightweight Process LWP 它是在进程内部运行的一种 子进程 与传统的进程不同 线程共享相同的虚拟地址空间和其他资源 例如打开的文件 信号处理程序和用户 ID 等 线程
  • hello world C C++ Python Java Go

    碎碎念念 hello world是程序设计语言必打 入门小白都会在学习之初来这么一手 C include
  • 项目介绍star原理_简历中、面试中,怎么描述你的工作/项目经历?

    简历中一般会包括工作经历和项目经历这两个模块 面试官也会注重针对这两个模块进行提问 对于这两部分 我们都会面临一个如何描述与表达的问题 一 如何写好简历中的工作 项目经历 1 工作 项目经历描述法则 STAR法则 STAR法则的四个关键词的
  • 云监控系统 HertzBeat v1.1.0 发布,一条命令开启监控之旅!

    官网 hertzbeat com tancloud cn 大家早上好 HertzBeat v1 1 0 发布啦 这个版本我们支持了SNMP协议 并使用SNMP协议监控支持了windwos操作系统的应用监控 SNMP协议支持自定义监控 欢迎贡
  • java的imageicon用法详解_javaimageicon用法

    import java awt BorderLayout import java awt GridLayout import java awt event ActionEvent import javax swing ImageIcon i
  • Media Player播放视频只有声音没有图像

    今天在播放学生信息管理系统的时候发现视频播放后只有声音 却没有图像 这是什么原因呢 一 什么是media player播放器 Windows Media Player 是微软公司出品的一款播放器 通常简称 WMP 通常在Windows操作系
  • 系统架构设计专业技能 · 软件工程之软件测试与维护

    系列文章目录 系统架构设计专业技能 网络规划与设计 三 系统架构设计师 系统架构设计专业技能 系统安全分析与设计 四 系统架构设计师 系统架构设计高级技能 软件架构设计 一 系统架构设计师 系统架构设计高级技能 系统质量属性与架构评估 二
  • PostGreSQL数据库有的为啥找不到数据类型(比如Double)

    今天用NavCate建立PostGreSql建标 使用Double发现居然没有这个类型 百度各种博客都表示有Double类型 但是我测试就没了 后来发现 这里面居然有别名 名字 别名 描述 bigint int8 有符号 8 字节整数 bi
  • 蓝牙PHY6222添加OTA升级功能

    主要步骤 1 代码添加 ota app service 2 keil软件添加ota app代码 3 烧录软件添加ota设置 4 手机ota app升级 准备 奉加微电子官网下载6222的代码SDK V3 0以上 下载官网的PhyPlusKi