【沁恒蓝牙开发】IAP升级流程

沁恒官方提供的下载方式都是需要冷启动(拉低BOOT后上再电),但是在带电池的或者不方便下电的整机内,无法实现冷启动,就可以使用 OTA 或 IAP demo,IAP可以实现串口 或 USB的固件升级。

IAP 工程,通常在IAP文件内,有APP代码、USB/串口 IAP代码、升级的上位机工具。

IAP 组成

完整的IAP 工程是由2个部分组成的

APP:用户应用功能代码区域,主要开发

IAP:在升级的时候跳转到此区域,接收上位机下发代码,擦写flash,完成后复位、跳转。

烧录的时候,需要同时烧录才可以正常运行。下图是ISP工具烧录2个HEX

IAP流程

①在isp工具里面同时烧录UART_IAP.hex和APP.hex

②接上PA8 PA9, 可以看到串口在不停地打印,这时候你把PP4拉低,就可以看到串口不再打印,说明跳转到IAP去了

③上位机下载代码。才可以正常下载(可以导入hex就不同填写地址,如果是bin就需要在编译器内勾选、生成)

④下载后PB4悬空即可

上操作逻辑对应的代码如下(以CH592 IAP与APP举例):

APP:

IAP:

上位机:

相关推荐
caimouse3 小时前
ReactOS 窗口系统分析(23):键盘 — keyboard.c + kbdlayout.c
c语言·开发语言·计算机外设
嵌入式阿蔡10 小时前
传感器_03:电机驱动——让 GPIO 当指挥官,别让 GPIO 当电源
网络·stm32·单片机·嵌入式硬件·嵌入式实时数据库
动词ing11 小时前
【C语言】自定义函数+指针入门
c语言·开发语言·算法
动词ing12 小时前
【C语言】结构体+文件基础
c语言·开发语言·数据结构
caimouse12 小时前
ReactOS 窗口系统分析(7):分层窗口与绘制辅助 — layered.c + draw.c
c语言·开发语言
国科安芯12 小时前
ASL706S:让 MCU 不再“失忆跑飞“的守护芯片
分布式·单片机·嵌入式硬件·安全·fpga开发·架构
树的枝15 小时前
【STM32】03.中断和EXTI外设
笔记·stm32·单片机·嵌入式硬件
不灭的黄金瞳12315 小时前
预处理详解
c语言
小雪崩16 小时前
嵌入式学习 day25:哈希表及排序与查找
linux·c语言·数据结构·学习·排序算法
单片机杂货铺16 小时前
【单片机毕业设计选题】基于stm32单片机儿童公路车速度检测报警
stm32·单片机·嵌入式硬件·51单片机·硬件工程·课程设计